Mailman, Locomotive, Greenletters et re2

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
12
29
juil.
2010
Ruby
Dans le cadre du Ruby Summer of Code, un des étudiants a publié un micro-framework pour traiter des courriels entrants. Mailman est sous licence MIT et en est encore à ses balbutiements (et n'a rien à voir avec GNU Mailman logiciel libre de gestion de listes de diffusion). Pour le moment, il permet d'aller chercher des courriels en POP3 ou depuis un Maildir et d’exécuter des actions pour chaque courriel en fonction de critères sur l'émetteur, le destinataire, le titre ou le contenu.

Locomotive CMS est, comme son nom l'indique, un système de gestion de contenu et est sous licence MIT. Il est écrit en Ruby on Rails et fonctionne avec une base de données MongoDB. Il peut être déployé pour gérer un ou plusieurs sites ou être utilisé sous forme d'engine au sein d'une application Rails plus large.

Greenletters est un clone d'Expect écrit en Ruby. Il permet donc d'automatiser des interactions avec des outils en ligne de commande comme telnet, ftp, passwd, etc. Greenletters peut aussi être utilisé depuis des specs Cucumber en utilisant les raccourcis fournis.

RE2 est une bibliothèque développée par Google pour manipuler des expressions rationnelles de manière efficace. Il existe désormais des bindings pour profiter de cette bibliothèque en Ruby.

Sortie de Redis 2.0.0

Posté par  (site web personnel) . Modéré par Mouns.
Étiquettes :
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.

Journal Faut-il supprimer la tribune ? (suite)

Posté par  (site web personnel) .
Étiquettes :
12
9
avr.
2010
Comme vous n'avez pas manqué de le remarquer, mon précédent journal était un gros troll (vendredi, c'est permis). Il n'y a pas de projet de suppression de la tribune, et mon argumentation avec stats à l'appui était pour le moins vaseuse.

Alors pourquoi avoir fait ce journal ?

1. Pour me défouler (moi aussi, j'aime bien troller de temps en temps).

2. Pour provoquer des commentaires sur un sujet qui me tient à cœur : comment faire vivre le site (…)

Campagne de documentation Rails, RubyDrop et Refinements

Posté par  (site web personnel) . Modéré par patrick_g.
12
5
déc.
2010
Ruby
RubyDrop est un clone de Dropbox libre développé en Ruby. Il permet de synchroniser des fichiers entre plusieurs ordinateurs en utilisant en interne git. Rappelons que SparkleShare propose la même chose, mais en mono (ce qui avait engendré de nombreux commentaire sur la dépêche à son sujet).

Ryan Bigg est l'auteur de plusieurs guides Ruby on Rails, écrit un livre sur Rails et participe au développement de nombreux gems Ruby. Il a lancé un appel à dons pour lui permettre de passer du temps à écrire de la documentation pour Rails. Le choix des sujets se fera parmi les suggestions proposées publiquement.

À la dernière RubyConf, Shugo Maeda a parlé des Refinements, qui devraient arriver dans Ruby 2.0. En Ruby, il est possible de faire ce que l'on appelle du monkey-patching : réouvir une classe déjà définie pour lui ajouter de nouvelles méthodes, voir modifier les méthodes existantes. Cela peut être très pratique mais peut très facilement devenir une source de bugs. Par exemple, si deux bibliothèques ajoutent toutes les deux une méthode camelize sur la classe String et que ces méthodes se comportent différemment, alors une des deux bibliothèques va utiliser l'implémentation de l'autre avec un comportement qui n'est pas celui attendu. Les Refinements pourraient être une solution pour corriger ce problème en limitant la portée de ces modifications.

Je profite également de cette dépêche pour annoncer la publication de la première revue mensuelle sur Ruby France.

Petites brèves Ruby : MagLev, entretien avec Camille Roux et SciRuby

Posté par  (site web personnel) . Modéré par baud123. Licence CC By‑SA.
Étiquettes :
11
2
nov.
2011
Ruby

MagLev est une implémentation alternative de Ruby sous licence MIT. Elle se différencie des autres implémentations par son utilisation de GemStone/S qui permet de partager un espace mémoire entre plusieurs processus Ruby.

Camille Roux, un développeur Rails français, a été interviewé par Remix Jobs. Le podcast qui en résulte permet de découvrir Ruby et Rails.

Dans la torpeur de l'été est né le projet SciRuby qui a pour but d'avoir un équivalent des bibliothèques Numpy, Scipy et Matplotlib (toutes codées en Python) en Ruby. Le projet est à ses balbutiements et tout aide sera la bienvenue. Pour le moment, le site du projet est en place et différents dépôts permettent de voir l'évolution des bibliothèques. Pour se faire une meilleure idée des objectifs des promoteurs je vous laisse lire leur entretien (en anglais).

N. D. M. : merci à Nonolapero pour son journal sur SciRuby.

Ruby Version Manager 1.0.0

Posté par  (site web personnel) . Modéré par rootix.
Étiquettes :
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.

Agrémentez votre JavaScript avec CoffeeScript 1.0

Posté par  (site web personnel) . Modéré par Xavier Teyssier.
Étiquettes :
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 : Typo 6.0, Rails Installer, Pik

Posté par  (site web personnel) . Modéré par Xavier Teyssier.
Étiquettes :
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.

Sortie de Bundler 1.0.0

Posté par  (site web personnel) . Modéré par Benoît Sibaud.
Étiquettes :
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.

SparkleShare pour partager vos fichiers sur internet

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
10
11
juin
2010
Mono
SparkleShare est un outil de partage de fichiers sous licence GPL.
Inspiré de Dropbox, il se veut à la fois simple, pratique et efficace.

En pratique, SparkleShare tourne en tâche de fond synchronisant vos répertoires partagés avec votre serveur (ou ceux de vos amis).
Il est écrit en Mono et GTK+, s'intègre bien à GNOME et, particularité intéressante, utilise git.
Il est ainsi capable de versionner les documents et de garder la trace de qui a fait quelle modification.
Vous serez également notifié des changements dès que ceux-ci auront été synchronisés.

Le projet est encore très jeune, il devrait fonctionner sous Linux, et il est prévu de le porter sur windows et OSX.

N'hésitez pas à contribuer pour aider son auteur à faire avancer cet outil.

WebWorkersCamp5 pendant l'Open World Forum 2012

Posté par  (site web personnel) . Édité par Davy Defaud, Xavier Teyssier et Lucas Bonnet. Modéré par Lucas Bonnet. Licence CC By‑SA.
Étiquettes : aucune
10
5
oct.
2012
Communauté

La 5e édition du WebWorkersCamp aura lieu samedi 13 octobre prochain, durant l’édition 2012 de l’Open World Forum à Paris.

NoSQL, files d’attente, programmation asynchrone, Web Sockets, applications distribuées, Workers, HTML 5 et CSS 3, réseaux sociaux décentralisés… Ce sont des exemples, des sujets qui pourront être abordés pendant le camp ; mais la liste est, bien entendu, non exhaustive, puisque ce sont les participants qui font l’événement.

Comme nous le rappelle Wikipédia, le BarCamp est une non‐conférence ouverte qui prend la forme d’ateliers‐événements participatifs où le contenu est fourni par les participants qui doivent tous, à un titre ou à un autre, apporter quelque chose au Barcamp. C’est le principe « pas de spectateurs, tous participants ».

Pour plus de détails ou proposer une session, rendez‐vous sur la page dédiée, sans oublier de vous inscrire pour pouvoir entrer sur le site de la conférence.

L’Open World Forum, qui se tient du 11 au 13 octobre, c’est aussi l’occasion d’échanger et d’aller voir de nombreuses autres conférences, discussions éclairs, etc. ; avec, par exemple, les sessions de l’OSDC.fr.

Veille technologique sur le web

Posté par  (site web personnel) . 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.

Les apéros Ruby en France

Posté par  (site web personnel) . Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
9
16
sept.
2011
Ruby

Les apéros Ruby sont à la mode : après Paris, Lyon, Toulouse, Nantes, Rennes et plus récemment Lille, Montpellier et Sophia Antipolis, c'est au tour de Strasbourg de mettre en place en rendez-vous entre Rubyistes. Celui-ci devrait avoir lieu chaque dernier mardi du mois, à commencer par le 27 septembre. Ils seront annoncés sur le futur site web, mais vous pouvez déjà suivre ça sur facebook et twitter.

Et si vous habitez dans une ville sans apéro Ruby ? Hé bien, cela ne dépend que de vous. Vous pouvez organiser votre propre apéro Ruby grâce au billet de blog de Camille Roux qui explique en détail comme faire cela.

Sortie de Merb 1.0

Posté par  (site web personnel) . Modéré par Benoît Sibaud.
Étiquettes :
9
8
nov.
2008
Ruby
Merb est un framework (cadre d'applications) MVC destiné à construire rapidement des applications web. La version 1.0 est sortie le 7 novembre, sous la licence libre MIT.

Son histoire a commencé en septembre 2006. Ezra Zygmuntowicz développait alors une application avec Ruby on Rails, et avait besoin de gérer certaines requêtes sans charger tout le framework. Pour cela, il a écrit un script Ruby utilisant les bibliothèques Mongrel et ERB (d'où le nom de Merb) pour gérer ces requêtes. Depuis, Merb a bien grandi et est devenu un framework à part entière, capable de concurrencer Ruby on Rails et Django.

Un combat de clients de microblogging

Posté par  (site web personnel) . Modéré par rootix.
Étiquettes : aucune
8
8
avr.
2010
Internet
À ma gauche, gwibber est un client de microblogging de longue date, mais dont la nouvelle branche apporte de sérieuses évolutions. À ma droite, pino est un tout nouveau client de microblogging, dont les versions s'enchaînent à un rythme impressionnant. Lequel des deux peut prétendre au titre de meilleur client GTK sous GNU/Linux ?

Gwibber est un client bien établi, écrit en Python et sous licence GPL V2. Dans le cadre de la sortie prochaine d'Ubuntu Lucid, Gwibber a bénéficié d'un travail de fond, car Mark Shuttleworth souhaitait soigner l'aspect social d'Ubuntu. Ainsi, l'interface donne maintenant une meilleure impression, avec notamment la possibilité d'avoir plusieurs colonnes. On notera aussi que le programme a été découpé en deux : un gwibber-service qui tourne en tâche de fond, et gwibber un client plus léger et rapide à lancer.

Pino est par contre tout jeune : la première version publique, la 0.1.0, date du 28 décembre 2009. Écrit en vala, et sous licence LGPL V3, il n'en possède pas moins des atouts. Il partage en grand nombre de fonctionnalités avec gwibber, mais va aussi plus loin sur certains points. Par exemple, il colore d'une façon différente les messages qui n'ont pas encore été lus, ce qui s'avère très pratique à l'usage.

Au final, je dirais qu'il n'y a pas vraiment de gagnant. Les deux clients me semblent bien plus aboutis que pas mal d'autres alternatives, mais je ne saurais les départager : match nul. Gwibber semble un poil plus complet et robuste, mais graphiquement, je préfère pino. Je vais donc continuer à utiliser les deux pendant encore quelques temps avant de me décider.