Phusion Passenger est un module pour Apache 2 ou Nginx qui permet de déployer simplement des applications Ruby. En particulier, il est très bien adapté aux applications Rails, d'où son surnom de mod_rails. Bien que développé et supporté commercialement par Phusion, l'intégralité du code source est placé sous licence MIT.
La version 2.2.12 est toute fraîche. Elle apporte des corrections de bogues et améliore le support de Bundler, vous permettant ainsi de gérer les dépendances de vos applications et charger les bonnes versions des gems utilisés sur vos projets.
L'installation et la mise à jour peuvent se faire en utilisant le gem passenger, puis en lançant passenger-install-apache2-module ou passenger-install-nginx-module. Brightbox fournit également des paquets pour Ubuntu.
Les développeurs de Passenger recommandent d'utiliser leur version de Ruby. Cette dernière se nomme de façon un peu pompeuse Ruby Entreprise Edition. C'est un Ruby 1.8.7 agrémenté de quelques patches pour améliorer la gestion de la mémoire et le comportement du ramasse-miettes (garbage collector). Ces patches ont été proposés à Matz, mais il les a refusés car ils peuvent dégrader incroyablement les performances dans certains cas en dehors du web.
En vrac, spécial Python
Pylons est un framework de développement web en Python, dont la version 1.0 vient de sortir (sous licence BSD). Là où Django se positionne comme un framework avec des composants fortement intégrés entre eux, Pylons privilégie un couplage lâche et la réutilisation des bibliothèques Python existantes. Par exemple, pour le templating, Pylons vous laisse le choix entre Mako, Genshi, Jinja2 ou ce que vous voulez. Pylons est utilisé par des sites à fort trafic comme Reddit ou Bittorent.
SQL Alchemy est à la fois une boîte à outils pour manipuler du SQL en Python et un ORM (sous licence MIT). Vous pouvez par exemple l'utiliser pour la partie Modèles d'une application Pylons. La version 0.6 est compatible avec Python 2.4+, Python 3 et Jython.
Fabric est un outil de déploiement et d'administration à distance (sous licence BSD) que l'on pourrait comparer à Capistrano dans le monde Ruby. Son utilisation se fait en deux temps : on commence par écrire un fabfile qui décrit des tâches en utilisant les modules Python fournis par Fabric, puis on peut exécuter ses tâches sur une ou plusieurs machines distantes via l'outil en ligne de commande fab.
Green Unicorn, ou gunicorn, est un serveur HTTP qui respecte l'interface WSGI (sous licence MIT). Son modèle pre-fork s'inspire du projet Ruby Unicorn et permet de faire tourner des applications dans les principaux frameworks Python (Pylons, Turbogears 2, Django). Le développement de gunicorn a commencé à la fin de l'année dernière, mais il avance vite : il en est déjà à la version 0.9.1.
Plone va participer pour la 5ème fois au Google Summer of Code. Quatre projets ont commencé :
SQL Alchemy est à la fois une boîte à outils pour manipuler du SQL en Python et un ORM (sous licence MIT). Vous pouvez par exemple l'utiliser pour la partie Modèles d'une application Pylons. La version 0.6 est compatible avec Python 2.4+, Python 3 et Jython.
Fabric est un outil de déploiement et d'administration à distance (sous licence BSD) que l'on pourrait comparer à Capistrano dans le monde Ruby. Son utilisation se fait en deux temps : on commence par écrire un fabfile qui décrit des tâches en utilisant les modules Python fournis par Fabric, puis on peut exécuter ses tâches sur une ou plusieurs machines distantes via l'outil en ligne de commande fab.
Green Unicorn, ou gunicorn, est un serveur HTTP qui respecte l'interface WSGI (sous licence MIT). Son modèle pre-fork s'inspire du projet Ruby Unicorn et permet de faire tourner des applications dans les principaux frameworks Python (Pylons, Turbogears 2, Django). Le développement de gunicorn a commencé à la fin de l'année dernière, mais il avance vite : il en est déjà à la version 0.9.1.
Plone va participer pour la 5ème fois au Google Summer of Code. Quatre projets ont commencé :
En vrac, les autres navigateurs
Le navigateur web de Google, Chrome, est sorti dans sa version 5. C'est la première version à être officiellement supportée sur les plates-formes Linux et Mac. D'un intérêt plus discutable, cette version vient également avec un player Flash intégré. On notera également une prise en charge d'HTML5 améliorée, avec notamment WebSocket, API de géolocalisation, Application Cache pour le mode déconnecté, ou encore le glisser-déposer de fichiers.
Chromium, la version libre de Chrome, a été choisi pour devenir le navigateur par défaut de la prochaine Ubuntu Netbook Edition. Ses parts de marché laissent à penser que d'autres distributions pourraient suivre.
Midori est un navigateur web léger utilisant le moteur de rendu WebKit et pleinement intégré à GTK+2 (licence LGPL). La version 0.2.5 est sortie le 16 mai avec des nouveautés importantes : validation visible des certificats SSL, mode kiosque amélioré, version Windows de nouveau pleinement fonctionnelle, prise en charge des extensions Vala, etc. Elle a été suivie peu de temps après par la version 0.2.6 pour corriger des bugs bloquants.
Uzbl est un navigateur web qui se veut respectueux de la philosophie UNIX : « Écrivez des programmes qui effectuent une seule chose et qui le font bien. Écrivez des programmes qui collaborent. Écrivez des programmes pour gérer des flux de texte, car c'est une interface universelle. » Ainsi, uzbl se décline en trois saveurs :
Et sinon :
Chromium, la version libre de Chrome, a été choisi pour devenir le navigateur par défaut de la prochaine Ubuntu Netbook Edition. Ses parts de marché laissent à penser que d'autres distributions pourraient suivre.
Midori est un navigateur web léger utilisant le moteur de rendu WebKit et pleinement intégré à GTK+2 (licence LGPL). La version 0.2.5 est sortie le 16 mai avec des nouveautés importantes : validation visible des certificats SSL, mode kiosque amélioré, version Windows de nouveau pleinement fonctionnelle, prise en charge des extensions Vala, etc. Elle a été suivie peu de temps après par la version 0.2.6 pour corriger des bugs bloquants.
Uzbl est un navigateur web qui se veut respectueux de la philosophie UNIX : « Écrivez des programmes qui effectuent une seule chose et qui le font bien. Écrivez des programmes qui collaborent. Écrivez des programmes pour gérer des flux de texte, car c'est une interface universelle. » Ainsi, uzbl se décline en trois saveurs :
- uzbl-core, un composant qui utilise WebKit pour afficher des pages web et qui est facile à intégrer dans des scripts et outils ;
- uzbl-browser, un navigateur proprement dit qui repose sur uzbl-core et lui ajoute un moyen de changer de pages, un historique, une gestion des téléchargements, des raccourcis claviers personnalisables, etc.
- uzbl-tabbed, qui enrobe uzbl-browser et lui ajoute une gestion multi-onglets.
Et sinon :
- La première réunion des contributeurs de Webkit s'est tenue les 12 et 13 avril dans les locaux d'Apple ;
- KDE 4.5 va permettre aux utilisateurs de Konqueror de choisir Webkit à la place de KHTML comme moteur de rendu ;
- Un développeur d'Epiphany a fait le point sur la version 2.30 et annoncé que le travail pour la version 3 avait bien commencé ;
- Apple a fait une demande pour enregistrer la marque WebKit ;
- Opera parodie la pub de Google sur la vitesse de Chrome plus rapide qu'une patate.
Nouvelle base de données clés-valeurs : Kyoto Cabinet 1.0
Mikio Hirabayashi est un ingénieur qui travaille pour un réseau social japonais, mixi.jp. Pour faire face à la montée en charge, il a écrit une base de données très rapide de type clés-valeurs : Tokyo Cabinet. C'est une bibliothèque écrite en C, avec des bindings Ruby, Perl, Java et Lua, et distribuée sous licence LGPL.
Tokyo Cabinet est très rapide, mais son auteur n'était pas satisfait des performances en concurrence sur des machines avec de nombreux cores. Il a donc écrit son successeur : Kyoto Cabinet. Kyoto Cabinet est écrit en C++, et publié sous licence GPL. Des bindings Ruby, Perl, Python (2.x et 3.x) et Java sont disponibles.
Kyoto Cabinet est rapide (l'ordre de grandeur est un million de requêtes par seconde), ACID et capable de gérer un haut niveau de concurrence. Ses bases de données peuvent enregistrer jusqu'à 8 exabytes et peuvent être de différents types en fonction des caractéristiques recherchées (persistence, verrouillage par enregistrement, par page ou global, ordre de tri, algorithme de stockage).
Tokyo Cabinet bénéficie d'un service réseau, Tokyo Tyrant, et d'un moteur de recherche full-text, Tokyo Distopia. Les équivalents pour Kyoto Cabinet n'existent pas encore, mais sont prévus et devraient sortir d'ici la fin de l'année.
Note : Pour ceux qui s'intéressent aux bases de données, le NoSQL Summer est l'occasion d'en apprendre plus. Le principe est simple : se réunir régulièrement pour discuter d'un papier scientifique autour des bases de données. Le lancement se fera le 21 juin à la Cantine pour Paris, mais vous pouvez n'assister qu'à une seule rencontre si vous le souhaitez. L'entrée est libre, la seule chose que l'on vous demande est d'avoir lu le papier sélectionné avant de venir. Si vous êtes dans une ville qui n'est pas encore couverte, rien ne vous empêche de trouver 2 ou 3 volontaires et de contacter les organisateurs.
Tokyo Cabinet est très rapide, mais son auteur n'était pas satisfait des performances en concurrence sur des machines avec de nombreux cores. Il a donc écrit son successeur : Kyoto Cabinet. Kyoto Cabinet est écrit en C++, et publié sous licence GPL. Des bindings Ruby, Perl, Python (2.x et 3.x) et Java sont disponibles.
Kyoto Cabinet est rapide (l'ordre de grandeur est un million de requêtes par seconde), ACID et capable de gérer un haut niveau de concurrence. Ses bases de données peuvent enregistrer jusqu'à 8 exabytes et peuvent être de différents types en fonction des caractéristiques recherchées (persistence, verrouillage par enregistrement, par page ou global, ordre de tri, algorithme de stockage).
Tokyo Cabinet bénéficie d'un service réseau, Tokyo Tyrant, et d'un moteur de recherche full-text, Tokyo Distopia. Les équivalents pour Kyoto Cabinet n'existent pas encore, mais sont prévus et devraient sortir d'ici la fin de l'année.
Note : Pour ceux qui s'intéressent aux bases de données, le NoSQL Summer est l'occasion d'en apprendre plus. Le principe est simple : se réunir régulièrement pour discuter d'un papier scientifique autour des bases de données. Le lancement se fera le 21 juin à la Cantine pour Paris, mais vous pouvez n'assister qu'à une seule rencontre si vous le souhaitez. L'entrée est libre, la seule chose que l'on vous demande est d'avoir lu le papier sélectionné avant de venir. Si vous êtes dans une ville qui n'est pas encore couverte, rien ne vous empêche de trouver 2 ou 3 volontaires et de contacter les organisateurs.
Big Brother Awards 2010
Le 12 mai, s'est déroulée à la Cantine la 10ème remise des Big Brother Awards (BBA pour les intimes). Différents Prix Orwell ont été remis aux gagnants qui se sont illustrés par leur mépris de la vie privée et des libertés :
Un prix Voltaire de la Vigilance a également été remis au groupe Pièces et main d’oeuvre (PMO) pour son minutieux travail d’information et de réflexion sur les relents totalitaires des techno-sciences.
Mais l'édition 2010 ne s'arrête pas là ! Il est possible de voter pour le Prix du Public. De plus, demain, samedi 29 mai, un BarCamp se tiendra de 14h à 18h à La Belle Étoile, théâtre de la Compagnie Jolie Môme, 14 allée Saint-Just, 93210 Saint-Denis. Cet après-midi de rencontres, d’échanges et d’ateliers informels aura pour thème la contre-surveillance et les modes d’action visant à reconquérir et préserver nos identités numériques et nos droits d'individus libres.
- Orwell États/Élus : Eric Besson, ministre de l'Immigration pour avoir durci les quotas d’expulsions, refusé de mettre à l’abri des poursuites les personnes qui aident les migrants, et pour vouloir contourner le juge des libertés afin de bafouer les droits des migrants lors de procédures d’expulsion expéditives ;
- Orwell Localités : le maire de Nice Christian Estrosi pour sa volonté de faire de sa ville un laboratoire de la vidéosurveillance ;
- Orwell Entreprise : BNP Paribas, la Banque Postale, LCL et la Société générale pour avoir accepté de couvrir leurs employés qui dénoncent aux services de la Préfecture des clients sans papiers venus à leur guichet ;
- Orwell Novlang : Brice Hortefeux pour le terme de « vidéoprotection », venant remplacer « vidéosurveillance » ;
- Mention spéciale Internet : Trident Media Guard et Thierry Lhermitte pour chercher à profiter de la surveillance des internautes autorisée par les mesures de la loi Hadopi ;
- Exécuteurs des basses œuvres : Eric Ciotti, député et président du Conseil général des Alpes-Maritimes, rapporteur de la LOPPSI, porte-flingue du gouvernement pour toutes les questions liées à la sécurité intérieure et président zélé d’un département qui veut être le premier à supprimer les allocations à une famille en difficulté sociale ;
- Mention spéciale médias : les Infiltrés de France 2 et le journal télévisé de TF1 pour leur excès de zèle à souffler sur la braise sécuritaire, amplifier les faits divers pour servir le politique, emprunter des méthodes policières ou même collaborer ouvertement avec les services officiels ;
- Prix Spécial du Jury — 10 ans des BBA : Alex Türk, président de la CNIL pour tromperie et dissimulation (Alex Türk endosse les habits du défenseur tout terrain de la vie privée et des libertés alors qu’il en est parfois le fossoyeur et souvent le facilitateur).
Un prix Voltaire de la Vigilance a également été remis au groupe Pièces et main d’oeuvre (PMO) pour son minutieux travail d’information et de réflexion sur les relents totalitaires des techno-sciences.
Mais l'édition 2010 ne s'arrête pas là ! Il est possible de voter pour le Prix du Public. De plus, demain, samedi 29 mai, un BarCamp se tiendra de 14h à 18h à La Belle Étoile, théâtre de la Compagnie Jolie Môme, 14 allée Saint-Just, 93210 Saint-Denis. Cet après-midi de rencontres, d’échanges et d’ateliers informels aura pour thème la contre-surveillance et les modes d’action visant à reconquérir et préserver nos identités numériques et nos droits d'individus libres.
3 frameworks de développement : Ruby on Rails, Snap et Lamson
Ce week-end, la version 2.3.6 de Ruby on Rails est sorti, suivi de peu par la version 2.3.7. Ces versions apportent un bon nombre de correctifs pour divers problèmes, mais surtout préparent le terrain pour Rails 3. Certaines API vont être supprimées dans Rails 3, et la version 2.3.6 permet d'être averti si votre application Rails utilise une de ces API.
La version 3 va également apporter un grand plus au niveau de la sécurité en échappant par défaut toutes les chaînes de caractères pouvant être sujettes à une attaque XSS. La version 2.3.6 devait permettre de tester ce comportement en installant le greffon Rails XSS. Mais, certains commits n'ont pas été backportés depuis Rails3, rendant ainsi cette protection non seulement inefficace mais aussi source de plantages. Heureusement, la version 2.3.7 est sortie juste après pour réparer ça. Au final, si vous êtes un utilisateur de Rails, vous êtes encouragés à sauter la version 2.3.6 et à passer directement à la version 2.3.7.
Mise à jour : Rails 2.3.8 vient de sortir pour corriger un problème lorsque l'on n'utilise pas le greffon Rails XSS. C'est donc vers cette version qu'il faut migrer.
Et si vous préférez la programmation fonctionnelle, sachez que le développement web vous est aussi ouvert. Par exemple, Snap est un framework web en Haskell sous licence MIT. Snap se décompose en trois parties :
Enfin, Lamson est un framework de développement en Python sous la double licence BSD et GPL. Sa particularité est d'être un framework pour les mails. Il propose une approche similaire à celle de Django ou Ruby on Rails, mais pour développer des applications qui gèrent des mails. Vous avez ainsi la possibilité de router des mails entrants, d'utiliser le modèle MVC, d'utiliser des données en provenance de différentes bases de données (relationnelles ou non), d'utiliser un ORM si vous le souhaitez, ou encore d'écrire des tests unitaires. Bref, Lamson permet enfin d'écrire facilement des applications qui gèrent des mails, que ce soient des filtres anti-spams, des mailing-listes, ou des applications très spécifiques.
La version 3 va également apporter un grand plus au niveau de la sécurité en échappant par défaut toutes les chaînes de caractères pouvant être sujettes à une attaque XSS. La version 2.3.6 devait permettre de tester ce comportement en installant le greffon Rails XSS. Mais, certains commits n'ont pas été backportés depuis Rails3, rendant ainsi cette protection non seulement inefficace mais aussi source de plantages. Heureusement, la version 2.3.7 est sortie juste après pour réparer ça. Au final, si vous êtes un utilisateur de Rails, vous êtes encouragés à sauter la version 2.3.6 et à passer directement à la version 2.3.7.
Mise à jour : Rails 2.3.8 vient de sortir pour corriger un problème lorsque l'on n'utilise pas le greffon Rails XSS. C'est donc vers cette version qu'il faut migrer.
Et si vous préférez la programmation fonctionnelle, sachez que le développement web vous est aussi ouvert. Par exemple, Snap est un framework web en Haskell sous licence MIT. Snap se décompose en trois parties :
- Une bibliothèque serveur HTTP très rapide, qui s'appuie sur la boucle événementielle de la libev ;
- Une monade particulièrement bien adaptée au développement web ;
- Un moteur de templating XML qui permet de générer entre autres du HTML.
Enfin, Lamson est un framework de développement en Python sous la double licence BSD et GPL. Sa particularité est d'être un framework pour les mails. Il propose une approche similaire à celle de Django ou Ruby on Rails, mais pour développer des applications qui gèrent des mails. Vous avez ainsi la possibilité de router des mails entrants, d'utiliser le modèle MVC, d'utiliser des données en provenance de différentes bases de données (relationnelles ou non), d'utiliser un ORM si vous le souhaitez, ou encore d'écrire des tests unitaires. Bref, Lamson permet enfin d'écrire facilement des applications qui gèrent des mails, que ce soient des filtres anti-spams, des mailing-listes, ou des applications très spécifiques.
En vrac, spécial Ruby
Il y a en ce moment pas mal d'activité autour de Ruby. JRuby 1.5 et Rubinius 1.0 ont été annoncés sur LinuxFr il y a quelques jours, et une troisième implémentation Ruby a franchi une étape importante récemment : MacRuby a atteint la version 0.6.
MacRuby est une implémentation de Ruby 1.9 (sous licence GPL) qui repose sur les technologies core de Mac OS X telles que Objective-C, LLVM et Foundation. Les premiers benchmarks montrent que MacRuby a des performances intéressantes à ce stade de développement, bien qu'en deçà de celles de Ruby 1.9.
Du côté du Ruby Summer of Code, les 20 projets sélectionnés ont été annoncés. Ceux-ci sont très variés, allant de l'amélioration de points spécifiques dans Ruby on Rails aux extensions en C dans JRuby, en passant par la contribution à Camping et Hackety Hack, deux projets initiés par Why the Lucky Stiff. À ce sujet, Smashing Magazine a publié la légende de _Why, dont je vous recommande fortement la lecture, que vous souhaitiez découvrir le personnage ou vous remémorer ses actes les plus glorieux.
Rubygems, l'outil de gestion de paquets spécifiques à Ruby, est sorti en version 1.3.7. La principale nouveauté est que rubygems.org devient le dépôt par défaut, remplaçant gems.rubyforge.org, qui va continuer de fonctionner pendant encore un bout de temps pour assurer la migration.
Haml et Sass sont deux projets Ruby liés pour des raisons historiques qui viennent de sortir en version 3 (sous licence MIT). Le premier est un moteur de templating qui permet d'écrire des templates très concis. Le second est une extension de CSS3 pour faciliter la vie des personnes qui doivent écrire et maintenir des CSS : Sass offre des variables (c'est quand même fou que CSS ne le propose pas de base !), des sélecteurs imbriqués, des mixins (plusieurs règles CSS regroupées sous un même nom que l'on peut utiliser à plusieurs endroits dans ses feuilles de style), et plein d'autres ajouts très utiles.
Pour finir, je souhaite parler de TomDoc. C'est un document qui liste un ensemble de règles pour commenter du code en Ruby. Il va à l'encontre des règles de RDoc, mais la syntaxe proposée par TomDoc me semble être une avancée suffisante pour que cela vaille la peine de marquer cette rupture. J'espère que les développeurs Ruby qui passent dans le coin seront du même avis que moi et vont se mettre à utiliser TomDoc.
MacRuby est une implémentation de Ruby 1.9 (sous licence GPL) qui repose sur les technologies core de Mac OS X telles que Objective-C, LLVM et Foundation. Les premiers benchmarks montrent que MacRuby a des performances intéressantes à ce stade de développement, bien qu'en deçà de celles de Ruby 1.9.
Du côté du Ruby Summer of Code, les 20 projets sélectionnés ont été annoncés. Ceux-ci sont très variés, allant de l'amélioration de points spécifiques dans Ruby on Rails aux extensions en C dans JRuby, en passant par la contribution à Camping et Hackety Hack, deux projets initiés par Why the Lucky Stiff. À ce sujet, Smashing Magazine a publié la légende de _Why, dont je vous recommande fortement la lecture, que vous souhaitiez découvrir le personnage ou vous remémorer ses actes les plus glorieux.
Rubygems, l'outil de gestion de paquets spécifiques à Ruby, est sorti en version 1.3.7. La principale nouveauté est que rubygems.org devient le dépôt par défaut, remplaçant gems.rubyforge.org, qui va continuer de fonctionner pendant encore un bout de temps pour assurer la migration.
Haml et Sass sont deux projets Ruby liés pour des raisons historiques qui viennent de sortir en version 3 (sous licence MIT). Le premier est un moteur de templating qui permet d'écrire des templates très concis. Le second est une extension de CSS3 pour faciliter la vie des personnes qui doivent écrire et maintenir des CSS : Sass offre des variables (c'est quand même fou que CSS ne le propose pas de base !), des sélecteurs imbriqués, des mixins (plusieurs règles CSS regroupées sous un même nom que l'on peut utiliser à plusieurs endroits dans ses feuilles de style), et plein d'autres ajouts très utiles.
Pour finir, je souhaite parler de TomDoc. C'est un document qui liste un ensemble de règles pour commenter du code en Ruby. Il va à l'encontre des règles de RDoc, mais la syntaxe proposée par TomDoc me semble être une avancée suffisante pour que cela vaille la peine de marquer cette rupture. J'espère que les développeurs Ruby qui passent dans le coin seront du même avis que moi et vont se mettre à utiliser TomDoc.
Panne du week-end
Le site LinuxFr.org et les services associés étaient en panne ce week-end. Le serveur qui les héberge a fait un kernel panic samedi matin (il semblerait que ce soit un problème lié au RAID).
Le serveur a pu être redémarré grâce à une intervention du NOC de la fondation Free. Nous les remercions pour s'être déplacé un week-end et plus généralement, pour l'hébergement que la fondation Free nous fournit depuis plusieurs années.
Le serveur a pu être redémarré grâce à une intervention du NOC de la fondation Free. Nous les remercions pour s'être déplacé un week-end et plus généralement, pour l'hébergement que la fondation Free nous fournit depuis plusieurs années.
Rubinius 1.0 est sorti
Rubinius est une implémentation du langage de programmation Ruby, dont le code est placé sous licence BSD. Rubinius permet d'exécuter du code Ruby, mais vise également les objectifs suivants :
D'un point de vue plus technique, Rubinius est écrit majoritairement en Ruby, et pour les parties où ce n'est pas (encore) possible en C++. Il fonctionne avec une machine virtuelle dont le bytecode est transformé en code machine à l'exécution grâce à LLVM et utilise un garbage collector générationnel, précis et compactant. Et pour ceux qui seraient d'humeur taquine, je ne résiste pas à l'envie de mettre un petit lien vers un benchmark. Vous pouvez voir que Rubinius est l'implémentation Ruby la plus rapide, ou du moins, l'était en janvier quand le benchmark a été fait.
Si vous êtes convaincus, vous pouvez installer Rubinius soit en suivant les instructions officielles, soit en utilisant Ruby Version Manager. Je recommande d'utiliser la seconde solution, car RVM vous permet d'installer plusieurs implémentations de Ruby sur la même machine, d'installer des gems pour chacun d'eux et de passer d'une implémentation à l'autre sans problème.
- Rubinius est Threadsafe ;
- Son code est propre, lisible, facile à comprendre et à étendre ;
- Il est fiable et solide (avec l'aide de Valgrind) ;
- Et surtout, il apporte les dernières avancées de la recherche sur les machines virtuelles, les ramasses-miettes et les compilateurs à Ruby.
D'un point de vue plus technique, Rubinius est écrit majoritairement en Ruby, et pour les parties où ce n'est pas (encore) possible en C++. Il fonctionne avec une machine virtuelle dont le bytecode est transformé en code machine à l'exécution grâce à LLVM et utilise un garbage collector générationnel, précis et compactant. Et pour ceux qui seraient d'humeur taquine, je ne résiste pas à l'envie de mettre un petit lien vers un benchmark. Vous pouvez voir que Rubinius est l'implémentation Ruby la plus rapide, ou du moins, l'était en janvier quand le benchmark a été fait.
Si vous êtes convaincus, vous pouvez installer Rubinius soit en suivant les instructions officielles, soit en utilisant Ruby Version Manager. Je recommande d'utiliser la seconde solution, car RVM vous permet d'installer plusieurs implémentations de Ruby sur la même machine, d'installer des gems pour chacun d'eux et de passer d'une implémentation à l'autre sans problème.
Petites brèves à propos de Ruby et Rails
JRuby 1.5 JRuby est une implémentation complète de Ruby au-dessus de la machine virtuelle Java. JRuby est entièrement compatible avec Ruby 1.8.7 et en grande partie avec Ruby 1.9, offre des performances significativement meilleures que la branche 1.8 de Ruby et comparable à celles de la branche 1.9, et vous permet de faire fonctionner les principaux programmes Ruby comme Ruby on Rails, rubygems ou encore rspec. La version 1.5 de JRuby n'apporte aucun changement vraiment révolutionnaire, mais un important travail de consolidation a été fait : meilleure compatibilité avec la version officielle de Ruby, meilleures performances, meilleur support aussi bien pour Unix que pour Windows, prise en charge d'Ant, etc. Si vous souhaitez essayer JRuby 1.5, l'installation se fait très simplement, mais je vous recommande d'utiliser Ruby Version Manager qui permet d'avoir plusieurs implémentations de Ruby sur sa machine sans problème.
Teambox est un outil de gestion de projets dont le fonctionnement s'inspire de Twitter : la page principale d'un projet se présente sous la forme d'une timeline avec les dernières mises à jour sur laquelle on peut mettre à jour son statut. Vous retrouverez également toutes les fonctionnalités classiques d'un outil de gestion de projets : partage de fichiers, liste de tâches, discussions, notifications par email, gestion des utilisateurs et permissions, etc. D'un point de vue plus technique, Teambox est une application Ruby on Rails, sous licence AGPL. Le code est disponible sur github et les contributions sont les bienvenues.
Posez vos questions Ruby Ruby France a mis en place un espace où vous pouvez poser vos questions sur Ruby et Rails, en français. Fréquenté par de nombreux rubyistes confirmés, vous ne devriez pas avoir de mal à trouver une réponse. Le site tourne avec Shapado, une application web de questions/réponses sous licence AGPL. Shapado est écrit en Ruby on Rails et fonctionne avec une base de données MongoDB.
Teambox est un outil de gestion de projets dont le fonctionnement s'inspire de Twitter : la page principale d'un projet se présente sous la forme d'une timeline avec les dernières mises à jour sur laquelle on peut mettre à jour son statut. Vous retrouverez également toutes les fonctionnalités classiques d'un outil de gestion de projets : partage de fichiers, liste de tâches, discussions, notifications par email, gestion des utilisateurs et permissions, etc. D'un point de vue plus technique, Teambox est une application Ruby on Rails, sous licence AGPL. Le code est disponible sur github et les contributions sont les bienvenues.
Posez vos questions Ruby Ruby France a mis en place un espace où vous pouvez poser vos questions sur Ruby et Rails, en français. Fréquenté par de nombreux rubyistes confirmés, vous ne devriez pas avoir de mal à trouver une réponse. Le site tourne avec Shapado, une application web de questions/réponses sous licence AGPL. Shapado est écrit en Ruby on Rails et fonctionne avec une base de données MongoDB.
Petit tour des outils de visualisation libres
Les outils libres de visualisation d'informations ou de données existent, mais ne sont pas forcément très connus. Je souhaite, via cette dépêche, les mettre en avant et j'espère que les lecteurs de LinuxFr.org sauront les utiliser pour créer de jolies représentations de données pertinentes.
Je me suis donc attaché à présenter dix outils :
À ce sujet, je vous recommande chaudement la lecture de l'article de LWN.net sur la visualisation des projets et communautés Open Source.
Je me suis donc attaché à présenter dix outils :
- Graphviz
- Large Graph Layout
- Circos
- IOGraph
- Code Swarm
- Gource
- Gephi
- Processing
- Processing.js
- Nodebox 2
À ce sujet, je vous recommande chaudement la lecture de l'article de LWN.net sur la visualisation des projets et communautés Open Source.
Pas Sage en Seine 2010
Pas Sage en Seine, ce sont des gens pas sages du tout qui rendent visibles, intelligibles et pédagogiques les activités numériques undergrounds ou tout simplement libres. Ils donnent rendez-vous à tous les musiciens, plasticiens, électroniciens, programmeurs, hackers et hacktivistes pour parler de plein de sujets intéressants : Free Culture, Art Libre, sécurité, électronique, activisme, partage des connaissances, détournement d’utilisation d’objets ou de concepts dans le but d’innover, de rendre accessible et d’ouvrir de nouvelles portes.
L'édition 2010 se tiendra du 14 au 16 mai 2010 dans le Passage des Panoramas, à Paris dans le 2e arrondissement, avec notamment la Cantine transformée en co-hacking space pour l'occasion.
Le programme des sessions :
L'édition 2010 se tiendra du 14 au 16 mai 2010 dans le Passage des Panoramas, à Paris dans le 2e arrondissement, avec notamment la Cantine transformée en co-hacking space pour l'occasion.
Le programme des sessions :
- « Chérie, j’ai rooté la Télévision » par Serge Humpich (Bearstech)
- DIY ISP : devenez votre propre fournisseur d'accès à Internet par Benjamin Bayart (FDN)
- « Dis papa, c’est quoi cet Internet ? » par kitetoa
- Anonymat, identités numériques et réseaux sociaux par Jean-Marc Manach (Bug Brother) et Fabrice Epelboin (Read Write Web France)
- Développement Natif sur Android par Deubeuliou (Bearstech / hackable:1)
- Les Hackerspaces par Philippe Langlois (/tmp/lab) et Guyzmo (LaSuite Logique)
- Confidences par SMS (et plus si affinités) par Khorben (Defora)
- Hacking the law par Jérémie Zimmerman (La Quadrature du Net) et Benjamin Roux (Nos Députés)
- Atelier : The Seedfuckerz par Kazey et fo0
- La Grotte du barbu par Babozor (La Grotte du Barbu)
- Hackable devices par Zitune (Bearstech / hackable:devices)
- Analyses et prédictions de séquences par la modélisation par Sam_Synack
- Meego : Développement pour SetTopBox, téléphones et Netbooks par Paul Guermonprez (Intel Software)
Annonce de la sortie de Riak 0.10
Dans la grande famille des bases de données NoSQL, je vous ai déjà présenté Cassandra, MongoDB, Redis et FlockDB. Laissez-moi vous présenter un nouveau membre de cette famille : Riak.
Riak est une base de données distribuée de type clé-valeur, sous licence Apache 2. Basho, la société derrière Riak, s'est inspirée de Dynamo d'Amazon pour nous offrir un stockage qui scale facilement. En particulier, sa grande force repose sur son modèle distribué où toutes les machines jouent un rôle équivalent, ce qui apporte à la fois une grande résistance aux erreurs et la capacité d'ajouter ou retirer facilement des machines à la volée.
Dans la seconde partie de la dépêche, je vais présenter plus en détails Riak, puis vous parler des nouveautés de la version 0.10 sortie récemment. J'aborderai également bitcask, un moteur de stockage clé-valeur local, qui peut être utilisé pour le stockage par noeud de Riak. Je finirais par une note très rapide à propos de ripple, le client en Ruby pour Riak.
Riak est une base de données distribuée de type clé-valeur, sous licence Apache 2. Basho, la société derrière Riak, s'est inspirée de Dynamo d'Amazon pour nous offrir un stockage qui scale facilement. En particulier, sa grande force repose sur son modèle distribué où toutes les machines jouent un rôle équivalent, ce qui apporte à la fois une grande résistance aux erreurs et la capacité d'ajouter ou retirer facilement des machines à la volée.
Dans la seconde partie de la dépêche, je vais présenter plus en détails Riak, puis vous parler des nouveautés de la version 0.10 sortie récemment. J'aborderai également bitcask, un moteur de stockage clé-valeur local, qui peut être utilisé pour le stockage par noeud de Riak. Je finirais par une note très rapide à propos de ripple, le client en Ruby pour Riak.
TIP, Jemalloc 1.0, Chrome sans http:// et autres
Cisco va libérer TIP
Cisco a racheté Tandberg, et pour obtenir l'accord de la commission européenne, a dû faire quelques concessions. L'une d'elles est très intéressante : Cisco s'est engagé à libérer le protocole Telepresence Interoperability Protocol (TIP) au 1er juillet. Il sera déposé sur un compte sourceforge et placé sous licence Apache 2.0.
Jemalloc 1.0
Jemalloc est une implémentation alternative de malloc(3), sous licence BSD. Elle est utilisée par des projets comme FreeBSD, NetBSD ou Firefox pour ses performances : elle permet généralement de consommer moins de mémoire que la version de la glibc en gérant mieux la fragmentation dans le temps (voir par exemple ce retour d'expérience pour blender). La version 1.0, annoncée récemment, vient confirmer la stabilité de cette bibliothèque.
Chrome sans http://
Les développeurs de chez Google ont décidés de ne plus afficher http:// dans la barre d'adresse de Chrome. Le protocole reste visible quand ce n'est pas HTTP et le copier-coller de la barre d'adresse contient toujours http://. Cela n'en reste pas moins un changement déroutant, et le bug #41467 a déjà suscité 160 commentaires.
Autres trucs sympas
Cisco a racheté Tandberg, et pour obtenir l'accord de la commission européenne, a dû faire quelques concessions. L'une d'elles est très intéressante : Cisco s'est engagé à libérer le protocole Telepresence Interoperability Protocol (TIP) au 1er juillet. Il sera déposé sur un compte sourceforge et placé sous licence Apache 2.0.
Jemalloc 1.0
Jemalloc est une implémentation alternative de malloc(3), sous licence BSD. Elle est utilisée par des projets comme FreeBSD, NetBSD ou Firefox pour ses performances : elle permet généralement de consommer moins de mémoire que la version de la glibc en gérant mieux la fragmentation dans le temps (voir par exemple ce retour d'expérience pour blender). La version 1.0, annoncée récemment, vient confirmer la stabilité de cette bibliothèque.
Chrome sans http://
Les développeurs de chez Google ont décidés de ne plus afficher http:// dans la barre d'adresse de Chrome. Le protocole reste visible quand ce n'est pas HTTP et le copier-coller de la barre d'adresse contient toujours http://. Cela n'en reste pas moins un changement déroutant, et le bug #41467 a déjà suscité 160 commentaires.
Autres trucs sympas
- ShakaCSS est un bookmarklet sympa pour débugger ses CSS, sous licence MIT.
- Connaissez-vous le site Bonjour April ? Chaque jour, une photo en rapport avec l'April est publiée.
- Akihabara est un ensemble de bibliothèques et outils pour faire des jeux en HTML5 et javascript dans le style pixelisé des consoles 8-16bits.
Réunion Admodérolecteurs
Les relecteurs, modérateurs et administrateurs de LinuxFr.org se sont retrouvés la semaine dernière pour discuter du site. Floxy nous a accueilli chez lui, et nous n'étions pas moins de 11 présents : neox, TheNastyBoy, baud123, Floxy, mouns, Nÿco, patrick_g, pol tuiu, Xate, Oumph et NoNo.
Nous avons abordé un certain nombre de sujets :
Merci à Patrick_g et pterjan pour les photos. Merci à Floxy pour l'hébergement.
Nous avons abordé un certain nombre de sujets :
- Floxy a fait imprimer de jolis autocollants des logos du site dont un bon nombre est encore disponible. Ils seront distribués lors des prochains salons du libre ;
- NoNo travaille sur la future version Ruby on Rails du site. Les AMR ont pu avoir un aperçu de ce à quoi ça va ressembler et tester certaines fonctions. Vous aurez plus de détails à ce sujet dans les semaines à venir ;-) ;
- Nous allons peut-être accueillir un ou deux nouveaux relecteurs dans l'équipe afin d'apporter un peu de dynamisme. Une discussion animée a eu lieu sur le choix des noms ;
- Pour encourager les contributions, nous avons discuté de la mise en place d'un éventuel concours. Si vous connaissez des sociétés prêtes à sponsoriser le concours, n'hésitez pas à prendre contact ;
- Nous étions présents à Solutions GNU/Linux, et avons donc rapidement devisé à ce sujet afin d'évaluer ce qu'il est possible d'améliorer pour la prochaine édition ;
- Un vote serré a été tenu sur la motion "japonais ou pizzeria ?". Le vote a été suivi d'un tour de table confus sur "pizzas simples ou pizzas doubles ?".
Merci à Patrick_g et pterjan pour les photos. Merci à Floxy pour l'hébergement.