Le point sur les avancées de Google Go

Posté par (page perso) . Modéré par Xavier Teyssier.
19
29
mar.
2010
Golang
Le langage Go (sous une licence de type BSD) est issu d'une discussion entre Ken Thompson (un des auteurs d'Unix et d'UTF8) et Rob Pike (un des auteurs de Plan9 et d'UTF8). Rob Pike a pu monter une équipe chez Google pour travailler dessus, et en novembre 2009, une première version a été dévoilée au reste du monde.

Depuis, le développement continue d'avancer à un bon rythme. Des versions sont publiées tous les 10 à 15 jours.

Dernièrement, une proposition pour un mécanisme similaire aux exceptions a été discuté sur la liste de diffusion. C'est un exemple très révélateur de la manière d'avancer de l'équipe en charge de Go : ils ne se précipitent pas pour ajouter des fonctionnalités présentes dans d'autres langages parce qu'elles sont très demandées. Ils prennent le temps de réfléchir à chaque problème, et quand ils ont trouvé une piste qui semble pouvoir répondre à leurs exigences, ils publient une proposition sur la liste de diffusion. Il s'en suit des discussions qui permettent de raffiner la proposition et, sauf surprise, la proposition est intégrée dans la version suivante.

Côté communication, l'essentiel se passe sur le canal IRC #go-nuts sur freenode et sur la liste de diffusion Go-nuts. Un wiki a récemment été mis en place pour regrouper des informations sur l'écosystème de Go. Quelques jours plus tard, un blog officiel a suivi. Enfin, un dashboard permet de voir l'état des compilations sur les différentes architectures supportées.

Globalement, les personnes qui ont essayé Go semblent convaincues que ce langage est promis à un grand avenir.

Codez avec classe grâce à Sinatra

Posté par (page perso) . Modéré par tuiu pol.
Tags :
16
29
mar.
2010
Ruby
Sinatra est un micro-framework en Ruby pour construire rapidement des applications web (licence MIT).

Il se présente sous la forme d'un Domain Specific Language, avec un jeu assez réduit de fonctionnalités et laissant beaucoup de libertés aux développeurs d'applications. En cela, il est très complémentaire de Ruby on Rails, car il sera très efficace pour les petites applications web, les prototypes, les API Rest, les webhooks, ou fournir une interface web à une application Ruby existante.

Le développement de Sinatra a commencé en novembre 2007, et une nouvelle étape a été marquée le 23 mars dernier avec la sortie de la version 1.0. Sinatra est utilisé dans de nombreuses applications Ruby, mais son succès ne se limite pas à Ruby. Il existe des clones plus ou moins fidèles dans de nombreux langages : Sammy (Javascript), Dancer (Perl), Fitzgerald (PHP), Martin (.net), Itty (Python), Step (Scala), Express (node.js) et beaucoup d'autres.

D'un point de vue plus technique, Sinatra s'installe très simplement avec Rubygems, d'un simple coup de gem install sinatra. Et écrire un Hello world n'est pas plus compliqué :
require 'rubygems' require 'sinatra' get '/' do 'Hello LinuxFr !' end

20 étudiants pour travailler sur Ruby cet été

Posté par (page perso) . Modéré par baud123.
Tags :
31
28
mar.
2010
Ruby
La semaine dernière, Google a annoncé la liste des organisations retenues pour le Google Summer of Code 2010. En particulier, la seule candidature autour de Ruby, à savoir Ruby on Rails, est rejetée. La communauté Ruby a alors réagi en décidant de monter un Ruby Summer of Code.

En 3 jours, les sponsors et dons des particuliers ont permis de ramasser 100 000 $. Cela va permettre de financer 20 projets en payant 5 000 $ à chaque étudiant, selon un modèle très similaire au Google Summer of Code.

Vous pouvez dès à présenter postuler comme mentor, et ce jusqu'au 2 avril. Pour proposer sa candidature comme candidat, la fenêtre ira du 5 au 23 avril. Les propositions pourront porter sur Ruby, Rails, les implémentations alternatives de Ruby comme JRuby, ou plus globalement sur l'écosystème Ruby.

À titre personnel, je me réjouis de voir que la communauté Ruby se porte bien, ayant été capable de récolter 100 000 $ en seulement 3 jours. Par ailleurs, je trouve que le Google Summer of Code est une excellente initiative de la part de Google, mais je craignais qu'il ne crée un phénomène de dépendance entre certains Logiciels Libres et Google. Le Ruby Summer of Code m'a permis de lever cette réserve et d'apprécier pleinement le Google Summer of Code.

Je regrette juste de ne plus être étudiant ;-)

MongoDB 1.4, prêt pour la production

Posté par (page perso) . Modéré par j.
22
26
mar.
2010
Base de données
MongoDB est une base de données de type documents, sous licence GNU AGPL V3, et dont la version 1.4 vient de sortir. Elle s'inscrit dans le mouvement NoSQL, et propose des fonctionnalités très intéressantes :
  • Le stockage des documents se fait dans un format très proche du JSON (le BSON) et sans avoir à imposer un schéma ;
  • Les requêtes dynamiques sont d'une richesse fonctionnelle que je pense être équivalente au SQL, et de nouveaux opérateurs font apparition au fur et à mesure des versions ;
  • Il est possible d'indexer plein de choses, dont les objets internes et, nouveauté de la 1.4, des données géospatiales ;
  • Les requêtes peuvent être profilées ;
  • Il est faisable de stocker des objets binaires volumineux, comme des photos ou des vidéos, dans MongoDB grâce à GridFS ;
  • MongoDB supporte la réplication, le failover, et de manière expérimentale le sharding automatique ;
  • Des pilotes permettent de l'utiliser depuis de nombreux langages, dont le PHP, le Ruby et le Python.
Cela en fait une base de données solide, offrant des performances impressionnantes. Elle est déjà utilisée par de grands noms comme Sourceforge, EA, le New-York Time et bien d'autres. Elle me semble être particulièrement bien adapté pour le développement web (enfin, si vous visez à devenir le prochain twitter, Cassandra est probablement un meilleur choix). Certains prédisent même qu'elle pourrait prendre la place de MySQL dans ce domaine.

Nouveautés autour d'Oupsnow, Go, Lucene, Solr, Redis et Cassandra

Posté par (page perso) . Modéré par Christophe Guilloux.
24
21
mar.
2010
Internet
Une petite compilation de brèves :
  • Oupsnow : un outil de suivi de bugs en licence AGPL
    Oupsnow est un outil de suivi des bugs sous licence AGPL. La version 0.5.0 vient de sortir, proposant une interface efficace pour gérer des tickets sur plusieurs projets. Le projet est toujours dans une phase de développement actif, et toute aide est la bienvenue.

  • GO : le langage de programmation
    Le langage de programmation Go continue de progresser dans l'ombre. Une nouvelle version est publiée environ deux fois par mois, la dernière en date étant la 2010-03-15. Un wiki a été créé. Pour le moment, il semble encore bien vide, surtout quand on le compare à la page Go Programming Language Resources mais, à terme, il devrait permettre de regrouper des informations sur l'écosystème autour de Go.

  • Lucene : le moteur de recherche en java
    Lucene est un moteur de recherche libre écrit en Java qui permet d'indexer et de rechercher du texte, et Solr est un service web qui permet de profiter de toute la puissance de Lucene. Les deux projets, bien que tous deux dans la fondation Apache, n'étaient pas synchronisés. Cela devrait changer : il n'y aura plus qu'une seule liste pour les développeurs, les commiteurs seront les mêmes sur les deux projets et les nouvelles versions devraient sortir simultanément.

  • Redis : une base de données de type clé-valeur
    Redis est une base de données de type clé-valeur dont le développement a commencé il y a un peu plus d'un an. C'est une sorte de Memcached boosté, avec de la persistance et de nombreuses opérations en plus. Il est possible d'essayer ses possibilités dans un navigateur web grâce à try-redis. Son principal développeur, Salvatore Sanfilippo, vient d'être embauché par VMWare pour travailler à plein temps sur Redis.

  • Cassandra : une autre base de données du mouvement NoSQL
    Une autre base de données du mouvement NoSQL semble avoir également des auspices favorables. Cassandra (licence Apache 2.0) attire des sites web bénéficiant d'une forte réputation. Ainsi, Twitter, Digg et Reddit ont ou vont l'utiliser pour stocker leurs données et profiter de sa capacité à monter en charge.

HAProxy 1.4, Chef 0.8.2 et GNU Social

Posté par (page perso) . Modéré par Nÿco.
22
6
mar.
2010
Internet
HAProxy 1.4

HAProxy est une solution libre, fiable et très performante de répartition de charge, qui peut agir soit au niveau de la couche TCP, soit au niveau d'HTTP. La branche 1.4 apporte son lot de nouveautés, dont le très attendu support du keep-alive HTTP côté clients. On peut également citer la gestion du protocole RDP, l'interface en ligne de commande ou les health checks pour MySQL.

Chef 0.8.2

Chef est un outil en Ruby qui permet d'automatiser son infrastructure, sous licence Apache. Avec Chef, on peut :
  • Gérer ses serveurs en écrivant du code, les recettes, et non pas en lançant des commandes
  • S'intégrer à ses applications, bases de données, annuaires LDAP, etc.
  • Configurer facilement ses applications qui ont besoin d'une connaissance de l'infrastructure (« Quel est le serveur de base de données maître ? »)


La version 0.8.2 est la première version stable de la nouvelle branche 0.8. L'API Rest de Chef est maintenant complète. Knife était un outil en ligne de commande proposé sous la forme d'une extension non-officielle. Il a été intégré à Chef, et il couvre maintenant l'ensemble des fonctionnalités proposés par l'interface REST. Un nouveau mécanisme d'authentification a été mis en place avec des signatures par requête. Et bien d'autres fonctionnalités ont fait leur apparition.

GNU Social

GNU Social est une initiative qui vise à créer un réseau social décentralisé. Un des objectifs est de permettre aux utilisateurs d'avoir un meilleur contrôle sur les données et leur vie privée que ce que les réseaux sociaux actuels permettent. L'intégralité du code sera placé sous licence AGPLv3, mais pour le moment l'heure est plus à la discussion pour essayer de regrouper les idées sous un concept fort.

Les technos web cools du moment

Posté par (page perso) . Modéré par baud123.
33
24
fév.
2010
Internet
Dans le cadre de mon activité professionnelle, je fais de la veille autour des technologies web. Suite à un récent journal sur CouchDb, je me suis dit que les lecteurs de LinuxFr.org pourrait être intéressé par le sujet. J'ai donc regroupé un paquet de liens récents dans la seconde partie de cette dépêche. La plupart viennent du compte delicious qui me sert pour la veille. Les autres liens sont de l'auto-promotion vers des billets que j'ai écrit.

Sortie de la version 2.0 de Retrospectiva

Posté par (page perso) . Modéré par Nÿco.
Tags :
13
9
fév.
2010
Ruby
Retrospectiva est un outil de gestion de projets libre (licence MIT). On peut le comparer à des outils comme Redmine, Trac ou Indefero. Il est toutefois plus orienté sur les approches agiles, notamment via le greffon AgilePM.

Les principales fonctionnalités de Retrospectiva sont :
  • Gestion des tickets avec un workflow personnalisable ;
  • Suivi de l'avancement des jalons et objectifs ;
  • Intégration de subversion et git pour l'affichage des révisions ;
  • Interface d'administration complète ;
  • Multi-projets avec une seule instance ;
  • Traduction dans plusieurs langues, dont le français ;
  • Un wiki avec la possibilité d'attacher des fichiers ;
  • La possibilité d'avoir un blog ;
  • Une installation simplifiée ;
  • Une API Rest et des flux RSS.


La version 2.0 de Retrospectiva vient de sortir, et c'est l'occasion de l'essayer. Si avant cela, vous voulez voir à quoi ressemble Retrospectiva, faites un tour sur le site officiel, il tourne lui-même sous Retrospectiva.

Journal Flash pas OpenSource à cause d'H264

Posté par (page perso) .
Tags : aucun
36
7
fév.
2010
Cher journal,

je voudrais partager avec toi cette citation :

« The main reason we can't release Flash Player as open source is because there is technology in the Player that we don't own, such as the industry standard hi-def video codec, H.264. Adobe pays for that codec so video plays reliably worldwide, across browsers and OS's. »
Source : http://blogs.adobe.com/open/2010/02/following_the_open_trail(...)

Il semblerait donc que H264 et ses brevets soient un frein majeur aux Logiciels Libres. Si Adobe ne peut (...)

Journal Êtes-vous un devices hacker ?

Posté par (page perso) .
16
5
jan.
2010
Bearstech a annoncé lors du 26C3 la mise en ligne d'Hackables-devices. C'est un site sur les devices qui peuvent être facilement (ou pas) bidouiller.

On y trouve bien sûr des OpenMokos, des Tux Droids et des Arduinos, mais aussi d'autres appareils moins connus. Par exemple, vous pouvez voir la fiche sur la caméra Elphel (ceux qui étaient aux RMLL en 2008 en ont peut-être vu une, car elle a servie à filmer quelques conférences).

J'espère que (...)

BlockCamp Paris le 28 novembre

Posté par (page perso) . Modéré par Benoît Sibaud.
Tags :
1
21
nov.
2009
Ruby
L’association Ruby France, l’ESUG , l'INSIA et af83 ont le plaisir de vous annoncer l’organisation d’un BarCamp consacré à Ruby et Smalltalk dans les locaux de l'INSIA à Paris, le samedi 28 novembre 2009.

Cette non-conférence sera l'occasion de parler de Ruby : implémentations de Ruby, Ruby et le desktop, bibliothèques Ruby, etc. mais également de Smalltalk : Squeak, Pharo, Seaside... Nous aurons ainsi parmi nous la présence de Lukas Renggli, committer Seaside (framework web en Squeak).

L’événement est gratuit et ouvert à tous, débutant ou expert. Il suffit de s’inscrire (attention à la limite maximum !) et toutes les explications et les informations pratiques (code d’accès pour entrer…) sont sur la page du wiki BarCamp.

Journal Faites péter le trollomètre

Posté par (page perso) .
Tags : aucun
19
16
oct.
2009
Cher journal,

on est vendredi, jour des trolls, et je souhaiterai soumettre à ton approbation une petite application web que j'ai développée.

Je voulais essayer le framework Tornado [http://www.tornadoweb.org/], et j'ai donc cherché une application web tout simple qui permettrait de découvrir Tornado et ses aspects événementiels. Mon choix s'est porté sur un trollomètre, vous savez, ce truc qui sert à mesurer l'intensité des trolls.

Le trollomètre est donc en ligne sur [http://trollometre.com/] (merci bearstech pour (...)

Netbeans 6.7

Posté par (page perso) . Modéré par Nÿco.
14
30
juin
2009
Java
NetBeans est un projet qui consiste d'une part en une plate-forme de conception d'applications Java et d'autre part en un environnement de développement intégré - un IDE.

NetBeans a été racheté par Sun en 1999 et est développé en Java. Il est distribué sous double-licence CDDL et GPLv2.

Il est disponible dans de nombreuses langues - et en partie francisé - et prend en charge plusieurs langages de programmation parmi lesquels :
  • Java SE, Java EE, Java ME, JavaFX
  • C / C++
  • Javascript, AJAX...
  • XML
  • PHP
  • Ruby
  • Groovy
  • Python
  • ...

NetBeans dispose de fonctionnalités bien connues des utilisateurs d'IDE : coloration syntaxique, auto-complétion, gestion multi-projets, intégration des documents de référence, support de solutions de gestion de versions, intégration de débogueurs... Le logiciel a été conçu en prenant en compte le principe de la modularité. Il est ainsi proposé au téléchargement via des paquetages centrés sur les langages employés : PHP, C, JavaFX, Ruby, etc. mais rien n'empêche d'ajouter de nouvelles fonctionnalités via le système d'extensions.

Veille technologique sur le web

Posté par (page perso) . Modéré par tuiu pol.
10
5
mai
2009
Internet
Développeur d'applications web communautaires pour af83, je collectionne plus ou moins régulièrement les liens sur tout ce qui pourrait intéresser mes collègues développeurs. Ainsi, de temps à autres, je publie une liste de liens sur notre blog.

Ma dernière sélection (voir la suite de la dépêche) traite des langages, du moteur de recherche Google, de Ruby et Rails, de Javascript, du profileur (analyseur de performances) et de performances, d'infrastructure web, de PDF, etc.

NdM : merci de nous dire dans les commentaires si vous trouvez ces liens utiles ou non sur LinuxFr.org, si vous souhaitez voir plus souvent de telles compilations de liens, si vous êtes un développeur toujours à la recherche des dernières outils, langages, bibliothèques, etc.