Sortie de Node.js 0.4.0

Posté par (page perso) . Modéré par patrick_g.
16
12
fév.
2011
JavaScript
Node.js est un environnement JavaScript côté serveur, sous licence MIT. Sa particularité est son approche asynchrone pour faciliter la montée en puissance dans des contextes avec beaucoup d'entrées-sorties, notamment réseau. En pratique, il se compose :
  • d'un interpréteur JavaScript, à savoir V8 ;
  • de require(), un chargeur de modules compatible CommonJS ;
  • d'une bibliothèque standard, volontairement restreinte (une sorte de libc JavaScript où tous les appels sont asynchrones) ;
  • d'un ensemble de conventions : par exemple, les fonctions de retours indiquent toujours en premier paramètre si l'appel s'est bien passé et dans le cas contraire, quelle a été l'erreur ;
  • et d'un exécutable, node pour lancer tout ça.

La version 0.4.0 sortie cette semaine est la deuxième stable (c'est comme pour l'ancien mode de développement du noyau Linux : le numéro mineur est pair pour les versions stables et impair pour les versions de développement). Les principaux changements depuis la version stable précédente (la version 0.2, pour ceux qui suivent) sont les suivants :
  • nouveau client HTTP, avec une API plus simple et la gestion d'un réserve (pool) de connexions ;
  • refonte du module TLS/SSL ;
  • augmentation des performances, grâce à l'allocation plus rapide des tampons mémoire (Buffer) ;
  • meilleure prise en charge des gestionnaires de paquets comme npm, grâce à l'amélioration de require() ;
  • une mise à jour de V8 pour la version 3.1.2 ;
  • un débogueur fonctionnel, mais encore très limité pour le moment ;
  • un module os qui expose des informations sur le système ;
  • et, bien sûr, plein de corrections de bogues.

Prochain meetup de Paris.js à la Cantine

Posté par (page perso) . Modéré par Mouns.
4
30
jan.
2011
Communauté
Paris.js est un groupe d'utilisateurs avec un intérêt fort pour le JavaScript, dans le navigateur, mais aussi côté serveur avec, notamment, node.js. Nous nous réunissons une fois par mois pour faire quelques présentations et discuter autour d'une bière.

La prochaine réunion aura lieu le 23 février à la Cantine. L'inscription est gratuite, mais obligatoire. Et si vous souhaitez faire une présentation, n'hésitez pas à nous le faire savoir sur la liste de diffusion ou sur le canal IRC #parisjs sur freenode.

Ne ratez pas le FOSDEM édition 2011 !

Posté par (page perso) . Modéré par Christophe Guilloux.
21
23
jan.
2011
Communauté
Le FOSDEM est la conférence européenne qui réunit le plus de développeurs de Logiciels Libres. Elle se tient une fois par an à Bruxelles et ce sera le week-end des 5 et 6 février pour l'édition 2011 (l'entrée est gratuite). Il sera précédé du Beer Event le vendredi soir, une des rares occasions de voir le Beer Distribution Algorithm v3.2 (stable) mis en application.

Un certain nombre d'associations tiendront des stands, et vous aurez l'occasion d'assister à des présentations sur 20 thèmes :
  • Accessibility
  • BSD
  • Configuration & Systems Management
  • Crossdesktop
  • CrossDistro
  • Data Analytics
  • Embedded
  • Free Java
  • GNU
  • Jabber & XMPP
  • LibreOffice
  • Mono
  • Mozilla
  • MySQL & friends
  • New challenges in Virtualization
  • Open Source Telephony
  • Perl
  • PostgreSQL
  • Security & hardware crypto
  • World of GNUstep


Et pour ne pas déroger à la tradition, voici les entretiens d'une sélection de conférenciers pour se mettre dans l'ambiance :


Ne ratez pas cet événement incontournable sur le développement de Logiciels Libres en Europe.

En vrac : Typo 6.0, Rails Installer, Pik

Posté par (page perso) . Modéré par Xavier Teyssier.
11
20
jan.
2011
Ruby
Typo est un moteur de blog sous licence MIT. Typo 6.0 vient de sortir et tourne maintenant avec la version 3 de Ruby on Rails. Les nouveautés importantes sont la mise en place d'une interface de programmation (API) pour les greffons, la simplification de l'installation, une interface d'administration améliorée et des optimisations pour le référencement.

L'installation et l'utilisation de Ruby sous Windows a souvent été en retard par rapport à d'autres systèmes d'exploitation. Mais plusieurs initiatives visent à réduire ce retard. La première est Pik, un équivalent de Ruby Version Manager pour Windows. Il permet d'installer plusieurs interpréteurs Ruby, de passer facilement de l'un à l'autre, voir de lancer une même commande avec plusieurs interpréteurs (ça peut être pratique pour vérifier que des tests passent correctement avec plusieurs versions de Ruby). Il est distribué sous licence MIT.

Une autre initiative très récente est Rails Installer. C'est un kit sous licence MIT permettant d'installer le nécessaire pour développer des applications Rails à partir d'un Windows de base. Cela comprend notamment Ruby 1.8.7, Rails 3, Git 1.7 et SQLite 3. C'est donc une solution idéale pour permettre à vos amis d'essayer Rails sans être découragés par l'installation.

Redo, un remplaçant de choix pour Make

Posté par (page perso) . Modéré par Xavier Teyssier.
Tags :
19
16
jan.
2011
Ligne de commande
Make est l'outil le plus couramment utilisé pour automatiser la production d'un fichier à partir de règles. L'exemple typique est la compilation d'un logiciel à partir de ses sources. Mais Make a des inconvénients de taille, dont :
  1. La syntaxe sujette aux erreurs ;
  2. Les appels récursifs à make posent problème ;
  3. Le manque de modularité ;
  4. L'absence d'atomicité de l'application des règles.

Daniel J. Bernstein, l'auteur de qmail et djbdns, a proposé une alternative à Make qu'il a appelée redo, mais celle-ci se présente sous forme de notes et non pas de code.

Avery Pennarun a trouvé ses notes et en a écrit une version en Python sous licence LGPL.

Redo fonctionne avec des scripts shell avec l'extension .do et chacun de ces fichiers décrit une règle. Par exemple, le fichier default.o.do qui servirait à générer des fichiers .o à partir des sources .c correspondantes s'écrirait de cette façon :
redo-ifchange $1.c

gcc -MD -MF $3.deps.tmp -c -o $3 $1.c
DEPS=$(sed -e "s/^$3://" -e 's/\\//g' <$3.deps.tmp)
rm -f $3.deps.tmp
redo-ifchange $DEPS
Note : $1 est le nom du fichier cible sans l'extension et $3 le nom du fichier temporaire qui deviendra le fichier cible ($3 sera renommé à la fin de la règle, évitant ainsi de laisser un fichier cible corrompu si quelque chose devait mal se passer). redo-ifchange est une commande servant à déclarer une dépendance.

Hudson devient Jenkins, Riak 0.14, Chrome abandonne H264

Posté par (page perso) . Modéré par patrick_g.
19
12
jan.
2011
Technologie
s/Hudson/Jenkins/

Hudson, le serveur d'intégration continue en Java, va devenir plus indépendant d'Oracle. Cela a plusieurs conséquences :
  • Hudson est une marque déposée et en l'absence de garanties d'Oracle, le dépositaire, il a été décidé de changer de nom : ce sera maintenant Jenkins ;
  • Le dépôt pour le code sera hébergé par Github ;
  • Le reste de l'infrastructure va également sortir du giron d'Oracle, à commencer par les mailing-lists.


++Riak

Riak est une base de données NoSQL de type clé-valeur dont l'intérêt principal est de pouvoir ajouter ou supprimer des nœuds très simplement. La version 0.14 est sortie début janvier :
  • Le map-reduce de Riak a bénéficié d'améliorations très conséquentes ;
  • Deux nouveaux outils permettent de débugger plus simplement les clusters ;
  • Bitcask, le moteur de stockage par défaut de Riak, est plus efficace et on peut configurer les périodes de temps plus favorables pour les opérations de nettoyage.


cat H.264 > /dev/null

Google a annoncé que les prochaines versions de Chrome ne vont plus prendre en charge le codec H.264. Cette décision fait partie de la stratégie de Google de mettre en avant son codec WebM.

Gérez vos projets avec Redmine

Posté par (page perso) . Modéré par Lucas Bonnet.
23
10
jan.
2011
Ruby
Redmine est une forge logicielle sous licence GPL. Ses concurrents se nomment Trac, Retrospectiva, Django Projector ou encore InDefero, mais Redmine se défend très bien et offre un ensemble de fonctionnalités difficile à égaler :
  • Prise en charge de plusieurs projets ;
  • Contrôle d'accès avec un modèle flexible de rôles ;
  • Gestion avancée des tickets ;
  • Diagramme de Gantt et calendrier ;
  • Publication de news, documents et gestionnaire de fichiers ;
  • Notifications par emails et flux ATOM ;
  • Wiki et forums par projet ;
  • Outil de suivi du temps ;
  • Champs personnalisables pour les tickets, suivi de temps, projets et utilisateurs ;
  • Intégration avec plusieurs SCM : SVN, CVS, Git, Mercurial, Bazaar et Darcs ;
  • Création de tickets par email ;
  • Possibilité de se brancher sur de multiples annuaires LDAP pour l'authentification ;
  • Traduction dans 34 langues dont le français ;
  • Extensible grâce à ses greffons ;
  • Et plein d'autres choses encore...


Redmine est écrit en Ruby on Rails et vient de sortir en version 1.1. Vous pouvez l'essayer sur le site officiel ou sur la demo.

Nouvelle version de JSLint

Posté par (page perso) . Modéré par Mouns.
19
10
jan.
2011
Mozilla
JSLint est un outil sous licence MIT qui permet de vérifier la qualité d'un programme JavaScript. Écrit par Douglas Crockford il y a 10 ans, JSLint continue d'évoluer pour prendre en compte les nouveaux usages et les avancées de la standardisation d'ECMAScript. Une nouvelle version vient d'ailleurs d'être publiée et le code est disponible depuis peu sur GitHub.

JSlint tourne partout où JavaScript ou Java est disponible et peut notamment être utilisé directement depuis le site officiel. Il prend du code JavaScript en entrée et en vérifie la qualité en fonction d'un certain nombre de règles configurables.

Vous le trouverez probablement trop strict au départ, mais suivre ces recommandations permet d'améliorer sensiblement la qualité et la lisibilité du code JS que vous écrivez. Par exemple, il vous forcera à éviter les variables globales et à utiliser les accolades {} avec if, for et while.

Fin du concours LinuxFr.org

Posté par (page perso) . Modéré par patrick_g.
Tags :
21
6
jan.
2011
LinuxFr.org
Le grand concours pour définir l'habillage de la nouvelle version de LinuxFr s'est terminé hier soir à 23h59. Les feuilles de style proposées peuvent maintenant être testées sur la version beta^Walpha (se connecter puis se rendre sur la page « changer de style »).

Vous pouvez en profiter pour tester la future version du site et remonter les bugs que vous pourriez rencontrer.

Pour rappel, les prix mis en jeu sont de l'hébergement virtualisé, une tablette Android type Archos 101, des bons d'achat pour du matériel « ouvert » et un HTC Desire, le tout fourni respectivement par Gandi, Nuxeo, Hackable Devices et Mozilla Europe. Un grand merci à eux et à InDefero qui nous met gracieusement les forges à disposition pour la réalisation des projets.

Je tiens à féliciter les participants pour leurs travaux de qualité : il ne reste plus à l'équipe de modération qu'à voter voter pour choisir le style par défaut (vous avez néanmoins le droit de nous influencer en mettant en avant vos styles favoris dans les commentaires).

Note pour les participants : nous vous conseillons de vérifier que votre CSS est listée en seconde partie de cette dépêche, qu'elle se trouve bien sur http://alpha.linuxfr.org et qu'elle s'affiche correctement.

En vrac : Doctrine 2, MySQL 5.5 et VimGolf

Posté par (page perso) . Modéré par baud123.
18
30
déc.
2010
Technologie
Doctrine est une bibliothèque en PHP, sous licence LGPL, qui permet d'utiliser les enregistrements d'une base de données (relationnelle ou documents) sous forme d'objets PHP. Une réécriture complète avait commencé il y a deux ans et demi et vient d'aboutir sous la forme de la première version stable de Doctrine 2. Cette nouvelle version implémente maintenant le motif DataMapper (au lieu d'ActiveRecord précédemment), apportant ainsi plus de souplesse, de nouvelles fonctionnalités et une prise en charge de nouveaux moteurs de base de données dont MongoDB.

Oracle a annoncé le 15 décembre la sortie de la version 5.5 de MySQL, avec au programme amélioration des performances et meilleure prise en charge de la réplication et du failover. L'édition communautaire reste sous licence GPL et est toujours livrée avec les moteurs de stockage InnoDB, MyISAM, NDB, mémoire, archive, merge, etc. Il semblerait donc que MySQL soit l'un des rares projets Open Source à profiter du rachat de Sun par Oracle.

Pour finir, je souhaite vous présenter VimGolf. Le but de ces challenges de passer d'un fichier de départ à un fichier d'arrivée en tapant le moins de touches possible dans Vim. Bref, c'est un bon moyen d'apprendre à utiliser Vim de manière joyeuse :-)

Apprendre à programmer avec Hackety Hack

Posté par (page perso) . Modéré par Nÿco.
Tags :
15
29
déc.
2010
Ruby
Vous souhaitez apprendre à programmer ? Alors Hackety Hack est fait pour vous. Essayez-le !

Hackety Hack est un environnement en Ruby, sous licence MIT, pour apprendre à développer. Il s'adresse aux débutants et propose des leçons pour coder en quelques lignes des choses fun.

Le projet a été initié par Why the lucky stiff, un célèbre hacker Ruby et a été repris par une équipe menée par Steve Labnik. La version 1.0 vient de sortir pour Noël et ce fût également l'occasion de la mise en ligne du nouveau site web.

D'un point de vue technique, il fonctionne avec le framework Shoes et tourne sur les plateformes GNU/Linux, Windows et Mac OS X. Le code écrit au cours des leçons est du Ruby et utilise également Shoes.

Dernière ligne droite pour le concours LinuxFr.org

Posté par (page perso) . Modéré par j.
Tags :
14
29
déc.
2010
LinuxFr.org
À l'occasion de la nouvelle version de LinuxFr.org, nous organisons un concours. Nous sommes dans la dernière ligne droite, le concours finit le 5 janvier 2011 à 23h59. Il vous reste juste le temps pour y participer sur l'une de ces catégories (ou les deux) :
  • Proposer une nouvelle charte graphique ;
  • Réaliser une « killer feature » en HTML5.
Vous pouvez continuer à tester la version bêta^Walpha et à remonter les bugs. En revanche, pour simplifier la vie des participants au concours, cette version ne devrait pas bouger jusqu'à la fin du concours.

Pour rappel, vous pouvez gagner de l'hébergement virtualisé, une tablette Android type Archos 101, des bons d'achat pour du matériel « ouvert » et un HTC Desire, le tout fourni respectivement par Gandi, Nuxeo, Hackable Devices et Mozilla Europe. Un grand merci à eux et à InDefero qui nous met gracieusement les forges à disposition pour la réalisation des projets.

Les informations pour participer au concours sont données dans les dépêches précédentes. Il ne me reste plus qu'à vous souhaiter bon courage.

Agrémentez votre JavaScript avec CoffeeScript 1.0

Posté par (page perso) . Modéré par Xavier Teyssier.
11
28
déc.
2010
Technologie
CoffeeScript est un langage qui se compile en JavaScript (licence MIT). Il vise à proposer une syntaxe alternative, plus agréable, au JavaScript, mais reste très proche de celui-ci au niveau de la sémantique.

Par exemple, le code coffee suivant :
square = (x) -> x * x

square 42

se compilera de la façon suivante en JavaScript :
square = function(x) {

return x * x;
};
square(42);

Ainsi, CoffeeScript permet d'éliminer les caractères ou constructions disgracieuses du JavaScript pour n'en garder que les bonnes parties. Une autre volonté derrière CoffeeScript est de rester proche du JavaScript. Cela permet de débugger facilement du JavaScript généré par coffee, d'autant plus que le code en question est correctement indenté et passe JS Lint sans avertissement.

CoffeeScript existe depuis un an et vient de passer en version 1.0 pour Noël. Son utilisation se répand (exemples de projets écrits avec CoffeeScript : un client Riak, une bibliothèque pour scanner des chaînes de caractères, un équivalent de Rack pour Node.js et un jeu de tanks). Le succès de CoffeeScript est tel que le comité d'EcmaScript, Brendan Eich en tête, travaille à améliorer la syntaxe du JavaScript en s'inspirant de CoffeeScript de manière ouverte.

En vrac, spécial Django

Posté par (page perso) . Modéré par Christophe Guilloux.
7
24
déc.
2010
Python
Django est un framework de développement d'applications web en Python, sous licence BSD.

Les versions 1.2.4, 1.1.3 et 1.3 beta 1 de Django sont sorties hier pour corriger deux problèmes de sécurité :
  1. il était possible de récupérer des informations sans être connecté en tant qu'administrateur via l'admin Django en créant des URL avec certains filtres particuliers ;
  2. le mécanisme de « Mot de passe oublié » pouvait servir à des attaques par déni de service.


Django Projector est un outil de gestion de projets développé en Django (sous licence BSD). Encore très jeune, il est difficile de le comparer à Trac ou Redmine, mais il offre déjà des fonctionnalités intéressantes comme la possibilité de personnaliser les workflows des tickets.

Rubygems.org, So Nice et Rubinius

Posté par (page perso) . Modéré par Nÿco.
8
24
déc.
2010
Ruby
En juillet 2009, le site rubygems.org a été lancé par la communauté Ruby pour héberger les gems Ruby. Depuis, le site est en très grand forme et vient de fêter le 100 millionième téléchargements de gems. Il vient également de passer juste devant le CPAN pour le nombre de paquets disponibles : 19 042 gems contre 19 013 modules Perl au moment de l'écriture de ces lignes (à comparer avec les 12548 packages sur PyPI et 562 packages Pear).

So Nice est une application web pour contrôler iTunes, Rhythmbox ou MPD. Elle est développée en Ruby avec Sinatra et disponible sous licence WTFPL.

Rubinius est une implémentation du langage de programmation Ruby, sous licence BSD. La version 1.2.0 vient de sortir avec :
  • Passage à LLVM 2.8
  • Améliorations des performances
  • Vérification du bytecode (particulièrement utile avec l'arrivée d'autres projets utilisant la machine virtuelle de Rubinius)
  • Des optimisations, notamment de la consommation mémoire
  • Query Agent, un nouvel outil pour débugger et remonter des informations de bas niveaux (statistiques sur le Garbage Collector par exemple)
  • Et autres améliorations et correctifs.