Testez la nouvelle version de LinuxFr.org

Posté par (page perso) . Modéré par Florent Zara.
Tags :
40
9
nov.
2010
LinuxFr.org
Le site LinuxFr.org existe depuis 12 ans et a connu de nombreuses versions et évolutions. La version actuelle fonctionne avec templeet et est devenue difficile à faire évoluer pour diverses raisons (peu de contributeurs, absence de documentation, écosystème de templeet quasi-inexistant, etc.).

J'ai donc décidé, début 2009, de réécrire LinuxFr.org en Ruby on Rails. Commit après commit, cette nouvelle version a commencé à prendre forme. Je suis maintenant arrivé à un point où je souhaite qu'elle soit visible publiquement.

Oh, je sais, il reste encore du boulot : la charte graphique n'est vraiment pas réussie, il manque encore des fonctionnalités du site existant, il reste probablement beaucoup de bugs, etc. Mais je pense que vous, lecteurs, pouvez plus que jamais contribuer à améliorer cette version.

Pour cela, vous pouvez :
  • Tester cette version à plus grande échelle et remonter le maximum de bugs avant le passage en production (plus de détails en seconde partie) ;
  • Vérifier que les contenus importés depuis le site existant sont corrects. Cela consiste à vérifier que le contenu est présent, en entier et que son balisage HTML est le même que celui du site actuel ;
  • Nous aider à adapter la charte graphique à ce nouveau site. En effet, le graphisme n’est pas le fort de l’équipe qui gère le site. Et comme nous ne sommes pas des ingrats, nous y mettons les moyens et nous lançons un concours pour déterminer le prochain design du site. Au menu : un HTC Desire et une tablette sous Android, un hébergement dédié et du matériel pour Geek. Tous les détails dans la dépêche dédiée au concours !
  • Packager pour Debian la dernière version de webalizer que nous utilisons pour nos statistiques web.


Merci pour votre soutien et implication !

Journal Définition d'une adresse IP par l'hadopi

Posté par (page perso) .
Tags : aucun
25
1
oct.
2010
Le site de l'hadopi est en ligne, avec notamment un glossaire des termes techniques.

Je vous propose de nous attarder sur la définition de l'adresse IP :

Adresse IP
De l'anglais " Internet Protocol ".
L'adresse IP est un numéro unique qui permet d'identifier chaque ordinateur connecté sur internet. Quatre nombres, compris entre 0 et 255, séparés par des points (par exemple 255.128.162.01) composent cette empreinte numérique.


Déjà, sur la forme, en français, on utilise les guillemets « et » (...)

Sortie de Redis 2.0.0

Posté par (page perso) . Modéré par Mouns.
Tags :
12
6
sept.
2010
Base de données
Redis est une base de données de type clé-valeur, sous licence BSD. On peut voir Redis comme une sorte de memcached boosté aux stéroïdes.

Les principales caractéristiques de Redis sont :

Le principal développeur de Redis, Salvatore Sanfilippo, a été embauché par VMWare pour travailler à plein temps sur Redis. Cela a conduit à la récente sortie de la version 2.0 dont quelques nouveautés seront mises en avant dans la seconde partie de la dépêche.

Prenez de bonnes habitudes avec Daily Stamp

Posté par (page perso) . Modéré par Xavier Teyssier.
Tags :
13
4
sept.
2010
Ruby
Rails Rumble est une compétition qui se tient une fois par an et dont l'objectif est de faire une application Rails en moins de 48h avec une équipe de moins de quatre personnes. La prochaine édition se tiendra les 16 et 17 octobre prochain, mais je voudrais surtout vous présenter une des applications de l'édition 2009 : Daily Stamp.

Ryan Bates, aussi connu pour ses Railscasts, a développé Daily Stamp pour nous permettre de prendre de bonnes habitudes ou de casser les mauvaises. Il vient de libérer le code source sous licence MIT.

Le fonctionnement est très simple et s'inspire des Seinfeld Calendar : chaque jour, vous apposez un tampon si vous avez bien accompli votre mission et vous marquez des points au fur et à mesure que votre série de jours tamponnés grandit. Par exemple, si votre objectif est d'écrire un billet sur votre blog tous les jours, chaque fois que vous aurez écrit un billet, vous irez tamponner la case du jour sur Daily Stamp. Quand vous aurez atteint un score de 100 points (ou plus si vous le souhaitez), vous devriez avoir adopté l'habitude et pouvoir continuer sans Daily Stamp.

Daily Stamp vous permet d'avoir plusieurs objectifs en parallèle, de personnaliser vos tampons, de rendre publics vos objectifs ou de les garder privés et de suivre les tampons publics de vos amis. Bref, c'est un très bon moyen pour garder sa motivation lorsque l'on souhaite prendre une nouvelle habitude ou casser une mauvaise.

Reposez vos yeux la nuit devant votre écran avec Redshift

Posté par (page perso) . Modéré par baud123.
34
3
sept.
2010
Technologie
Les écrans LCD actuels sont très lumineux et bien adaptés pour travailler en journée. Mais des études montrent que cette luminosité a des effets indésirables sur notre physiologie quand nous travaillons sur ces mêmes écrans la nuit. En particulier, cela fatigue rapidement nos yeux et peut perturber notre sommeil.

Heureusement, il existe une solution : éteindre nos écrans. Non, je rigole, revenez. Vous pouvez aussi utiliser Redshift. Ce logiciel ajuste la température de la couleur de votre écran en fonction de la position du soleil dans le ciel, et adapte de même l'écran durant la nuit, en considérant l'utilisation de lumières artificielles.

Son auteur s'est inspiré de F.lux, un logiciel propriétaire mais déçu par celui-ci, a écrit Redshift et l'a publié sous licence GPLv3. Il existe des packages pour Debian, Ubuntu, Mandriva Linux, Fedora, Gentoo, Arch Linux et Frugalware.

Piwik 1.0, Inkscape 0.48 et RabbitMQ 2.0

Posté par (page perso) . Modéré par baud123.
19
2
sept.
2010
Technologie
Piwik est une application de mesure d'audience de sites internet en temps réel. Il fournit des rapports détaillés sur les visiteurs de votre site web avec de nombreux graphiques et tableaux sur les moteurs de recherche et mots clés qu'ils ont utilisés, les langues qu'ils parlent, les pages populaires et tant d'autres statistiques. Développé en PHP et MySQL, il vient d'atteindre la version symbolique 1.0 et peut être téléchargé sous licence GPL.

Le fameux logiciel de dessin vectoriel Inkscape est sorti en version 0.48. Grâce au Google Summer of Code, cette version propose de nombreux améliorations dont :
  • L'outil Node a été profondément modifié et permet maintenant de modifier plusieurs paths en même temps ;
  • Amélioration de l'outil texte avec la prise en charge de subscript, superscript et le paramétrage des espaces ;
  • Nouvel outil Airbrush ;
  • Export LaTeX avec PDF/PS/EPS ;
  • Création de présentations avec l'extension JessyInk.

RabbitMQ est une solution de messagerie d'entreprise complète et fiable, qui implémente le standard AMQP (Advanced Message Queuing Protocol), sous licence MPL. La sortie de la version 2.0 apporte un nouveau moteur de stockage scalable, une API pour la persistance, le support natif du multi-protocoles (en plus d'AMQP, RabbitMQ prend en charge XMPP, STOMP, SMTP, JSON/RPC et PubSubHubBub) et une meilleure gestion des greffons.

Ruby on Rails 3 est là

Posté par (page perso) . Modéré par Nÿco.
Tags :
30
31
août
2010
Ruby
Ruby on Rails est un framework de développement web en Ruby, sous licence MIT. Depuis son lancement en 2004, il a permis le développement de nombreuses applications web comme Basecamp, Twitter, Github, etc.

Le 23 décembre 2008, les équipes développant Ruby on Rails et Merb, un autre framework web en Ruby, ont décidé d'unir leur effort. La fusion des deux frameworks visait à apporter le meilleur des deux dans un seul produit qui serait Rails 3.

On peut aujourd'hui affirmer que c'est une réussite. En effet, la sortie de Rails 3 a été annoncée et la liste des changements est impressionnante (cf la seconde partie de la dépêche). Remercions au passage les 1600+ personnes qui ont contribué à Ruby on Rails.

Cette nouvelle version de Rails est compatible avec Ruby 1.8.7, Ruby 1.9.2 et JRuby 1.5. Elle fonctionne également avec Rubinius 1.0 (mais sans garantie de la part de la core team Rails pour les versions 3.0.x à venir). Il ne vous reste plus qu'à lancer un gem install rails --version 3.0.0 pour l'installer.

Dernière chose, si vous appréciez Rails 3 et que vous souhaitez donner en retour, la core team de Rails vous encourage à faire un don à l'association Charity:Water.

Sortie de Bundler 1.0.0

Posté par (page perso) . Modéré par Benoît Sibaud.
Tags :
10
30
août
2010
Ruby
Bundler permet de gérer les dépendances d'une application Ruby au cours de sa vie sur plusieurs machines de manière systématique et reproductible. Cette application sous licence MIT vient de sortie en version 1.0.

Bundler peut être utilisé conjointement à Ruby Version Manager pour les développeurs travaillant sur de nombreux projets, mais il est déjà très utile par lui-même. Je vous invite à lire la seconde partie de la dépêche pour comprendre comment bundler peut vous rendre service.

Google va vous faire payer pour des raisons de sécurité

Posté par (page perso) . Modéré par j.
Tags :
24
27
août
2010
Commercial
Google se targue d'avoir pris en compte la sécurité des extensions Chrome/Chromium depuis le premier jour. Dans un souci d'aller toujours plus loin dans la sécurité, Google a décidé d'ajouter deux nouvelles mesures :
  1. Les développeurs devront maintenant payer 5$ pour pouvoir proposer leurs extensions et thèmes sur la galerie. Cela va permettre d'empêcher les vilains pirates^Wcrackers de proposer leurs extensions malicieuses tout en permettant aux gentils développeurs de continuer à proposer les leurs (pour peu qu'ils n'habitent pas dans un pays du tiers monde, où 5$ peut représenter une somme conséquente et où faire le versement avec google checkout ne sera pas toujours possible).
  2. Les extensions liés à un domaine particulier pourront désormais être estampillées. Les développeurs peuvent maintenant utiliser Google's webmaster tools pour associer leurs extensions aux domaines qu'ils contrôlent.

Nous ne pouvons que saluer les efforts totalement désintéressés de Google pour améliorer la sécurité. Ces mesures ne servent en aucun cas à préparer le terrain pour le Chrome Web Store dont, par pure coïncidence, Google a annoncé la mise en ligne de la developer preview le même jour : les développeurs peuvent ainsi mettre en ligne les extensions qu'ils souhaitent proposer sur le futur store depuis... la galerie des extensions de Chrome.

Gollum, un wiki propulsé par git

Posté par (page perso) . Modéré par Florent Zara.
Tags :
17
25
août
2010
Ligne de commande
Gollum est un wiki dont la particularité est d'être propulsé par git. Il a été codé par les développeurs de Github, le choix de git n'est donc pas étonnant. Il est ainsi possible d'éditer un wiki Gollum en passant par l'interface web ou directement depuis son éditeur de texte préféré, puis en commitant dans le dépôt git utilisé par Gollum.

Gollum est une application web sous licence MIT, développée en Ruby avec le framework Sinatra. Parmi les fonctionnalités, citons :
  • La prise en charge de plusieurs langages de markup (ASCIIDoc, Creole, Markdown, Org Mode...) ;
  • La coloration syntaxique de bloc de code grâce à Pygments ;
  • L'affichage de formules mathématiques au format TeX avec MathJax ;
  • La possibilité d'attacher des fichiers et d'inclure des images.

À titre anecdotique, notons que les développeurs de Gollum ont suivi quelques principes :

Ruby Version Manager 1.0.0

Posté par (page perso) . Modéré par Christophe Guilloux.
Tags :
11
24
août
2010
Ruby
Ruby Version Manager, ou RVM pour les intimes, est un outil en ligne de commande qui permet d'installer et de travailler facilement avec plusieurs environnements Ruby. Chaque environnement se compose d'un interpréteur Ruby et d'un ensemble de gems.

RVM s'installe très rapidement en tapant la ligne de commande suivante :
bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )

Il est ensuite possible d'installer les interpréteurs Ruby que vous souhaitez utiliser ou tester d'un simple rvm install [interpréteur], que l'interpréteur en question soit le tout récent Ruby 1.9.2, Rubinius, JRuby, IronRuby ou bien d'autres encore. Vous pouvez alors passer d'un interpréteur Ruby à un autre en tapant rvm use [interpréteur]. De même, vous pouvez choisir l'ensemble de gems qui vous intéresse grâce à la commande rvm gemset. Tout ceci peut être très pratique pour tester une bibliothèque Ruby avec plusieurs versions de Ruby ou un greffon Rails avec plusieurs versions de Rails.

RVM est publié sous licence MIT et vient d'atteindre la version 1.0.0, un an exactement après le premier commit. Cette évolution rapide a notamment été permise par le travail de Darcy Laycock, alias Sutto, dans le cadre du Ruby Summer of Code. Parmi les changements récents, nous pouvons citer :
  • RVM demande maintenant à l'utilisateur s'il a confiance dans un fichier rvmrc d'un projet avant de l'exécuter pour des raisons de sécurité
  • Une option --with-rubies a été ajoutée pour lancer une commande avec un ensemble particulier d'environnements (par exemple, rvm --with-rubies gemsets ruby [somethimg] lancera la commande ruby pour tous les gemsets de l'interpréteur Ruby courant).
  • La complétion des commandes, des rubies et des gemsets dans ZSH.

Sortie de Node.js v0.2.0

Posté par (page perso) . Modéré par baud123.
15
23
août
2010
JavaScript
Node.js, dont le slogan est Evented I/O for V8 JavaScript, a pour but d'offrir un moyen simple d'écrire des applications réseau scalables. Le code est placé sous licence MIT.

Pour bien comprendre ce qu'est Node.js, je vous propose le cheminement suivant. Partons de V8, la machine virtuelle développée par Google qui permet d'interpréter du javascript. Ajoutons un modèle événementiel, similaire à EventMachine en Ruby ou à Twisted en Python. Cela tombe bien, en javascript, c'est assez naturel de procéder de cette manière : le javascript dans les navigateurs utilise déjà un modèle événementiel (les événements sont 'DOM chargé', 'touche pressée' ou encore 'clic de la souris'). C'est un bon début, mais le javascript ne possède pas de bibliothèque standard pour manipuler des fichiers ou faire des opérations réseau. Utilisons donc notre modèle événementiel pour ajouter des API qui permettent de faire ça de manière asynchrone. Une autre lacune de javascript est l'absence de moyen de charger une bibliothèque depuis un script, et comme on n'a pas spécialement envie de tout écrire dans un seul fichier, rajoutons donc une fonction require pour charger un autre script. Enfin, saupoudrons le tout avec quelques API utilitaires, un interpréteur interactif, et vous obtiendrez une bonne idée de la composition de Node.js.

Node.js permet ainsi de développer simplement des applications en javascript que l'on peut qualifier de server-side. Voici quelques exemples de ce que l'on peut faire avec Node.js :

La version 0.2.0 est sortie le 20 août et marque une première stabilisation du projet. Jusqu'à maintenant, les versions s'enchaînaient à un rythme soutenu (2 à 3 par mois), avec souvent des changements d'API et des problèmes de compatibilité divers et variés. Il est donc difficile pour les développeurs de bibliothèques de les maintenir, et pour les développeurs d'applications, de trouver les bonnes bibliothèques qui fonctionne avec la dernière version de Node.js. Cela devrait maintenant changer : Ryan Dahl a promis d'assurer la compatibilité de l'API pour les versions 0.2.x. Si vous souhaitez essayer Node.js, c'est donc le bon moment pour vous lancer !

Vim 7.3

Posté par (page perso) . Modéré par patrick_g.
Tags :
37
20
août
2010
Ligne de commande
Vim, le célèbre éditeur de texte, est sorti en version 7.3. Bram Moolenaar a annoncé que cette version, sans être majeure, était néanmoins plus conséquente qu'une simple version mineure. Il faut dire que deux ans s'étaient écoulés depuis la sortie de la version 7.2.

Les nouveautés les plus intéressantes de cette version sont :
  • Persistance de l'historique des commandes pouvant être annulées ;
  • Possibilité d'annuler un rechargement ;
  • Chiffrement avec blowfish ;
  • Chiffrement du fichier de swap ;
  • Possibilité de cacher du texte (par exemple, des commentaires) ;
  • Interface pour Lua ;
  • Interface pour Python3 ;
  • Prise en charge de la coloration syntaxique et de l'indentation pour Perl6 ;
  • Coloration syntaxique pour le langage de balisage Markdown.

Sortie de Ruby 1.9.2

Posté par (page perso) . Modéré par tuiu pol.
Tags :
22
19
août
2010
Ruby
Yuki Sonoda (Yugui) a annoncé la sortie officielle de Ruby 1.9.2. Bien que le numéro de version n'en montre rien, cette version est très importante et pourrait marquer le passage de Ruby 1.8 à Ruby 1.9.

Rappelons que Ruby est un langage de programmation orienté objets, à typage dynamique et qui s'est inspiré de Lisp, Perl, Smalltalk, Eiffel, etc. Sa principale caractéristique est de mettre en avant les besoins humains avant ceux informatiques, et notamment le fun et la productivité.

Jusqu'à Ruby 1.8, l'interpréteur était écrit par Yukihiro Matsumoto (Matz), le concepteur du langage. Koichi Sasada (ko1n) a commencé une réécriture complète pour apporter les dernières avancées techniques à Ruby. Le projet a commencé sous le nom de code YARV, puis Matz en fait la version officielle de Ruby à partir de Ruby 1.9.

Le premier avantage de Ruby 1.9 est ses performances. Ruby était réputé pour n'être pas très rapide, mais les avancées de Ruby 1.9, et notamment le ramasse-miettes, lui permette d'être de 3 à 5 fois plus rapide que Ruby 1.8. Parmi les autres avancées importantes de Ruby 1.9, nous pouvons citer la gestion des encodages, de nouvelles fonctionnalités comme les fibres ou encore des améliorations de la syntaxe (en particulier, celles des Hashs).

Les versions 1.9.0 et 1.9.1 manquaient de stabilité. La communauté Ruby les a considérées comme des versions de développement et rares sont les développeurs à les avoir utilisées en production. La version 1.9.2 devrait changer la donne : cette version est bien plus solide et on devrait assister à une migration massive vers Ruby 1.9. Si jamais ce n'était pas le cas, les implémentations alternatives comme Rubinius ou JRuby pourraient fort bien attirer les foules et devenir prédominantes.

Pour installer Ruby 1.9.2, vous pouvez télécharger les sources sur http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p0.tar.bz2 ou, pour les utilisateurs de RVM :
rvm update --head && rvm reload && rvm install 1.9.2 && rvm 1.9.2

NoSQL : Neo4J, Riak, Kyoto Cabinet et Graylog2

Posté par (page perso) . Modéré par Nÿco.
17
3
août
2010
Base de données
Petite compilation de brèves autour de divers projets de type NoSQL :

Neo4J est une base de données de type graphes sous licence AGPLv3. La version 1.1, sortie fin juillet, apporte 7 grandes nouveautés :
  1. Un package d'algorithmes classiques pour les graphes avec, par exemple, Dijkstra et A* ;
  2. La possibilité d’exécuter du code sur des événements comme un commit ;
  3. Une bibliothèque de traversée de graphes (vous donnez des instructions comme l'ordre de parcours dans le graphe ou les types d'arcs à suivre et Neo4J vous renvoient les chemins parcourus) ;
  4. Monitoring avec JMX ;
  5. Optimisation du kernel ;
  6. Amélioration de l'indexation avec Lucene ;
  7. Inclusion de l'outil de sauvegarde à chaud.

Riak est une base de données distribuée de type clé-valeur, sous licence Apache 2. Depuis la précédente dépêche sur LinuxFr.org, deux versions sont sorties : la 0.11 et la 0.12. Bitcask est maintenant le moteur de stockage par défaut. Pour le reste, pas de grands changements, mais un bon nombre de corrections de bogues et de petites améliorations diverses.

Kyoto Cabinet est une base de données très rapide de type clé-valeur. Un nouveau type de stockage a été introduit dans la version 1.1.0 : Directory Database. Celui-ci n'est qu'une fine abstraction au-dessus des systèmes de fichiers et fonctionne particulièrement bien avec Ext3 et ReiserFS pour stocker des valeurs très grosses.

La version 1.2.0 a également été l'occasion d'introduire un nouveau type de stockage : ForestDB. Son implémentation est un B-tree au-dessus de DirDB et dont les performances sont étonnamment bonnes.

Enfin, Graylog2 est une implémentation Open Source de syslog qui enregistre les logs dans MongoDB. Il se compose d'un serveur en Java qui accepte les logs en TCP ou UDP et les enregistre dans la base de données, et d'une interface de consultation des logs écrite en Ruby on Rails. Les captures d'écran montrent les possibilités de configuration et de filtrage des messages de cet outil.