Rails, ou pourquoi faire compliqué quand on peut faire simple ?

Le 29 mars 2007 à 09h52 | 1 commentaire

Je découvre avec émerveillement l’attribut :include d’ActiveRecord::Base, qui efface de mon esprit des années de cauchemars SQL.

Jugez plutôt, quand une horreur pareille

self.find_by_sql([%{ SELECT categories.id, categories.name, categories.permalink, categories.position, COUNT(articles.id) AS article_counter FROM #{Category.table_name} categories LEFT OUTER JOIN #{Category.table_name_prefix}categorizations#{Category.table_name_suffix} articles_categories ON articles_categories.category_id = categories.id LEFT OUTER JOIN #{Article.table_name} articles ON (articles_categories.article_id = articles.id AND articles.published = ?) GROUP BY categories.id, categories.name, categories.position, categories.permalink ORDER BY position }, true]).each {|item| item.article_counter = item.article_counter.to_i }

devient tout simplement :

self.find( :all, :include => :articles, :conditions => [contents.published = ?, true], :order => position).each { |cat| cat.update_attributes(:article_counter => cat.articles.length) }

C’est beau, pour un peu j’en pleurerais.

Le long de la Seine

Un agrégateur web en 26 lignes de Ruby sans... Rails

Le 24 mars 2007 à 14h55 | 3 commentaires

Ceux qui douteraient encore de la puissance de Ruby comme langage devraient jeter un oeil du côté d’Igvita. Ils y verront comment réaliser un agrégateur RSS en seulement 26 lignes de code sans utiliser de framework. Les fonctionnalités ne sont pas non plus en reste, jugez plutôt :

  • Serveur web intégré.
  • Système de cache.
  • Système de templates.

Comme ils disent chez les joyeux lutins du GCU, le code est beau.

la fontaine

Typo 4.1 in the house

Le 10 mars 2007 à 18h33 | 7 commentaires

English version under the French one

C’est avec trois petites semaines de retard que j’ai le plaisir de vous annoncer la sortie de la version 4.1 de Typo, l’outil de publication en Ruby on Rails qui permet à ce blog de tourner. L’enfant et la mère se portent bien, merci.

La liste des changements est très importante, mais on ne retiendra que les plus visibles :

  • Support de Ruby on Rails 1.2.
  • Refonte fonctionnelle complète du back office, et début de la refonte ergonomique qui s’achèvera avec la version 4.2.
  • Support de l’internationalisation avec le plugin localization, et traduction en français.
  • Ajout de la modération à priori des commentaires et des rétroliens.
  • Correction de nombreux bugs et amélioration du code.
  • Support du RSS pour les tags et les catégories
  • Passage des greffons au format Rails, ce qui va permettre de les fournir sous forme de paquetages.

La version 4.2 est prévue dans deux mois, et la roadmap est plus que conséquente :

  • Véritable support d’un workflow de publication avec des rôles assignés aux utilisateurs.
  • Support des blogs multiples sur une même instance de Typo.
  • Passage au plugin Globalization, plus complet.
  • Intégration d’un grand nombre de patchs proposés sous forme de plugins.
  • Terminer la refonte du back office.
  • Support de plus de langues.
  • Ne plus utiliser la fameuse méthodologie de la Rache qui me fait attaquer l’internationalisation et la localisation la veille de la date planifiée de la release.

À ce sujet, le projet recherche des traducteurs pour supporter d’autres langues, et d’un designer qui pourrait travailler sur la partie graphique du back office pendant que je m’occupe de la partie ergonomique.

Vous pouvez télécharger les sources ou installer Typo via la gem :

latop # gem install -y typo
laptop # typo install /chemin/vers/typo

[edit] Il y a un bug dans la migration depuis la version 4.0 : Avant de faire la migration, éditez le fichier db/migrate/056createnotifications.rb et commentez la ligne suivante : drop_table :notifications

Si vous avez déjà commencé la migration et que celle-ci a échoué, commentez les deux lignes suivantes : renametable :notifications, :oldnotifications
drop_table :notifications

Et pour activer le français, décommentez la dernière ligne dans config/environment.rb : Localization.lang = 'fr_FR'

Typo 4.1 out

I’m happy to announce Typo 4.1 release only 3 weeks late. Typo is the Ruby on Rails blogging engine that powers this blog.

The changelog is quite impressive, but I’ll only deal with the visible part of the iceberg :

  • Ruby on Rails 1.2 support.
  • Complete functionnal revamping of the back office, and partial ergonomic rebuild.
  • Internationalization and localization support using localization plugin. The application now runs in French.
  • Comment and trackback default moderation.
  • Lots of bugfixes and code improvement.
  • RSS support for tags and categories.
  • Plugins now use Rails plugin engine. We’re gonna release packed plugins soon.

Typo 4.2 is due in 2 months, and the roadmap is quite impressive :

  • Support of a publishing workflow and users roles.
  • Multiple blogs support with a single Typo instance.
  • Switch from Localization to Globalization.
  • Integrate proposed patchs as plugins.
  • Finish the admin revamping.
  • Support more languages.
  • Stop doing stupid things like starting to support localization the day before the planned release date.

The project is looking for translators a designer to work with me on the admin while I’m doing the ergonomic stuffs.

You can download the source or install Typo via the gem :

laptop # gem install -y typo
laptop # typo install /some/path

[edit] There’s a bug in the migration process if you come from the 4.0 version. Before doing the migration, edit db/migrate/056createnotifications.rb and comment the following line : drop_table :notifications

If you have already started the migration, comment both lines : renametable :notifications, :oldnotifications
drop_table :notifications

quelque-part à Saint Médard

FOSDEM 2007, beer software, as in free

Le 08 février 2007 à 22h10 | 9 commentaires

Si vous ne savez pas encore où passer votre dernier week-end du mois, et que l’idée vous prend soudain de m’offrir une bière à l’occasion de mon dernier anniversaire de plus vraiment jeune mais pas encore tout à fait vieux con – les autres pouvant toujours se rabattre sur ma wishlist Amazon – le septième FOSDEM se tiendra comme tous les ans à l’Université Libre de Belgique Bruxelles les 24 et 25 février prochains.

En sept ans, le FOSDEM est devenu le principal événement européen sur l’open source et le logiciel libre. Au programme : des conférences par dizaines sur tous les sujets possibles, des rencontres, des échanges, de la bière, des frites et puis des moules, des moules et puis des frites et du vin de Moselle* pour faire couleur locale, le tout dans une joyeuse ambiance de barbus communistes qui s’assument. Si les logiciels libres ne vous intéressent pas, et que vous n’aimez pas la bière, venez au mois pour l’intérêt anthropologique de la chose, ça en vaut la peine.

Si par le plus grand des hasards vous vouliez me rencontrer – par exemple afin de m’offrir la bière sus-mentionnée – vous me trouverez certainement aux événements suivants :

Samedi

  • État des lieux des brevets logiciel en Europe.
  • Keynote sur le projet One Laptop Per Child.
  • React OS ou Linux Bios.
  • Une bonne partie des “lightning talks”.

Dimanche

  • Passage de la certification LPI session 1.
  • Virtualisation OpenVZ sur CentOS.

Le reste du temps, je devrais chercher les Rubyistes et tenter de convertir à Typo (4.1 stable si on se bouge les fesses d’ici là mais je ne vous ai rien dit) les utilisateurs de solutions de blog en PHP.

Pour ceux qui ne pourraient pas venir, je tacherai de filmer un maximum de choses, ou au moins de faire des comptes-rendus écrits des principales conférences.

girls and blogs

  • Jacques Brel – Jef

Le futur de Typo passera donc par Paris

Le 07 février 2007 à 20h14 | 5 commentaires

typoDimanche dernier, je me posais de très sérieuses questions quant à l’avenir de Typo, le blogware développé en Ruby on Rails qui permet à ce site de tourner. Je ne reviendrai pas sur la liste des griefs qui me poussaient à envisager un fork du projet – tout en préparant la migration du projet original sur mes serveurs, cohérence quand tu nous tiens – mais cela n’arrivera pas.

Depuis hier soir, je fais partie de l’équipe de développements de Typo, et mon point de vue concernant l’utilisation de HAML dans le thème de base a été pris en compte.

Mes principales priorités pour le projet sont (dans l’ordre chronologique) :

  • L’intégration de mon patch de refonte fonctionnelle de l’administration : passer d’un modèle basé sur les contrôleurs / actions à un modèle de navigation basé sur l’utilisation réelle d’un outil de blogging. Une démonstration est d’ors et déjà visible sur ma plate-forme de démonstration de le version de développement. Les identifiants / mots de passe sont admin / admin.
  • La sortie d’une version 4.1 stable basée sur Ruby on Rails 1.2 et intégrant ma refonte de l’administration le plus rapidement possible, probablement d’ici la fin du mois.
  • Terminer la refonte complète de l’administration, aussi bien en termes fonctionnels qu’en terme d’IHM. Un gros effort sera fait sur l’accessibilité notamment au niveau de la sidebar.
  • Ajouter le support de l’internationalisation sur l’application. Je l’avais fait à l’époque sur la version 2.6.0 pour mon usage personnel, et cela ne représentait rien de vraiment compliqué.

Et pour paraphraser un de nos anciens premiers ministres, la roadmap est longue, mais les releases sont proches.

Porte Maillot, le palais des congrès

Installer Ruby on Rails, Apache 2.2, mod_fcgid et Typo sous Debian Etch

Le 25 janvier 2007 à 22h33 | 3 commentaires

La version à venir de la Debian apporte son lot de mises à jour intéressantes, et parmi elles, pas des moindres, l’arrivée d’Apache 2.2 en tant que serveur web par défaut et de Ruby 1.8.5, propre à faire tourner Ruby on Rails dans de bonnes conditions. Alors pourquoi ne pas franchir le pas et enfin vous mettre à ce merveilleux framework dont vous entendez monts et merveilles depuis bientôt 4 ans, d’autant qu’on vous prend par la main pour mettre en place votre environnement de développement. Un didacticiel pour vous emmener pas à pas vers le paradis des applications web (rien que ça).

Apache 2.2 et Mysql5

Dans un premier temps, vous allez installer le serveur web Apache 2.2, et la version 5.0 de la base de données MySQL. Ce didacticiel ne traite pas encore de PostgreSQL, mais ça ne saurait tarder.

7el.net:~$ sudo aptitude install mysql-client mysql-server apache2-mpm-prefork apache2.2-common apache2-utils
[...]
7el.net:~$ sudo a2enmod rewrite

Normalement, aptitude devrait vous demander un mot de passe pour l’administrateur. Si ce n’est pas le cas, tapez juste

7el.net:~$ mysqladmin -u root -h localhost -p 'toto'

Mod_fcgid 2.0

Malheureusement pour les utilisateurs de Ruby on Rails – et d’une manière générale pour n’importe quelle application utilisant fastcgi, trac par exemple si vous ne souhaitez pas installer modpython – Etch n’inclut pas le module Apache modfcgid pour la version 2.2 du serveur. Le paquetage est en effet cassé, et seule la version pour Apache 2.0 est supportée. Il vous faudra donc à priori choisir entre :

  • Installer Apache 2.2, PHP5 et vous passer de mod_fcgid.
  • Ou bien installer Apache 2.0 et mod_fcgid, mais vous passer de PHP5 (pourquoi pas).
  • Ou encore backporter mod_fcgid depuis la version unstable de la Debian.

Vous allez donc télécharger les sources de mod_fcgid depuis la version unstable de Debian, puis reconstruire et installer le paquetage.

Commencez par ajouter la ligne suivante à votre fichier /etc/apt/sources.list :

deb-src http://mirrors.kernel.org/debian unstable main contrib non-free

7el.net:~$ sudo aptitude update 7el.net:~$ cd /tmp
7el.net:/tmp$ sudo apt-get build-deps libapache2-mod-fcgid-2.0
[...]
7el.net:/tmp$ apt-get -b source libapache2-mod-fcgid-2.0

Et là, c’est le drame : au moment d’activer le module à l’aide d’a2enmod, dpkg vous annonce “ce module n’existe pas”. Pour une raison que j’ignore, le paquetage n’a pas copié les fichiers fcgid.conf et fcgid.load dans /etc/apache2/mods-avaliable. Pas de panique, vous allez le faire et tout va rentrer dans l’ordre.

7el.net:/tmp$ cd libapache2-mod-fcgid-2.0/debian
7el.net:/tmp/libapache2-mod-fcgid-2.0/debian$ sudo cp fcgid.load fcgid.conf /etc/apache2/mods-avaliable
7el.net:/tmp/libapache2-mod-fcgid-2.0/debian$ a2enmod fcgid
7el.net:/tmp/libapache2-mod-fcgid-2.0/debian$ /etc/init.d/apache2 restart

Toi aussi tu veux un mod_fcgid avec bas de caisse, phasres violets et une sono de 10000 watts ?

Afin de bénéficier de meilleures performances, nous allons modifier la configuration de base de mod_fcgid. Remplacez le fichier /etc/apache2/mods-available/fcgid.conf par ceci :

<IfModule mod_fcgid.c>
  AddHandler fcgid-script .fcgi
  SocketPath /var/lib/apache2/fcgid/sock
  IPCConnectTimeout 6
  IdleTimeout 60
  ProcessLifeTime 6000
  MaxProcessCount 32
  DefaultMaxClassProcessCount 5
  IPCConnectTimeout 6
  IPCCommTimeout 6
</IfModule>

La signification de tout ceci peut sembler obscure, aussi quelques éclaircissements s’imposent.

  • AddHandler fcgid-script .fcgi : nous disons explicitement à Apache d’exécuter tous les fichiers portant l’extension .fcgi avec mod_fcgid.
  • SocketPath /var/lib/apache2/fcgid/sock : le chemin de la chaussette à l’aide de laquelle Apache et le serveur de fcgi vont communiquer.
  • IPCConnectTimeout 6 : timeout d’une connexion à un processus fcgi.
  • IdleTimeout 60 : une application lancée par fcgi se terminera après 60 secondes d’idle. Cela permet de ne pas avoir trop de processus lancés en même temps.
  • ProcessLifeTime 6000 : durée maximum d’un processus fcgid.
  • MaxProcessCount 32 : nombre maximum de processus fcgid lancés en parallèle. À ajuster en fonction de la charge de votre serveur.
  • DefaultMaxClassProcessCount 5 : nombre maximum d’instances d’une même application fcgid pouvant être lancées en parallèle.
  • IPCConnectTimeout 6 : timeout d’une connexion à un processus fcgid.
  • IPCCommTimeout 6 : timeout d’une communication avec un processus fcgid.

Vous ne trouvez pas ça tellement plus clair ? Ce n’est pas grave, et ça ne vous empêchera pas d’avancer plus avant dans ce didacticiel.

Ruby et Gem

Vous allez maintenant installer Ruby, rdoc et irb depuis les paquetages Debian, puis Gem à l’aide des sources afin de bénéficier de la toute dernière version. Gem est le gestionnaire de paquetages de Ruby, un outil absolument indispensable.

7el.net:~$ sudo aptitude install ruby1.8 rdoc irb
[...]
7el.net:~$ cd /usr/bin
7el.net:/usr/bin$ sudo ln -s ruby1.8 ruby

Récupérez maintenant les sources de la dernière version de Gem, actuellement la 0.9.1, et installez la.

7el.net:/usr/bin$ cd /tmp
7el.net:/tmp$ wget http://rubyforge.org/frs/download.php/16452/rubygems-0.9.1.tgz
[...]
7el.net:/tmp$ tar xvzf rubygems-0.9.1.tgz
7el.net:/tmp$ cd rubygems-0.9.1
7el.net:/tmp/rubygems-0.9.1$ sudo ruby setup.rb

Rails, MySQL et fcgid

Il reste que Ruby ne peut pas encore converser avec fcgid ni avec MySQL – ou PostgreSQL si vous avez opté pour cette solution.

Dans un premier temps, il va vous falloir installer les en-têtes des librairies nécessaires à l’installation des gems mysql et fcgid :

7el.net:~$ sudo aptitude install libmysqlclient-dev libfcgi-dev
7el.net:~$ sudo gem install mysql
7el.net:~$ sudo gem install fcgid

Typo

Typo dispose d’un programme d’installation, mais il implique d’utiliser SQLite en tant que base de données. Vous allez donc commencer par récupérer la dernière version de l’application sur Typosphere (hébergé ici à partir de demain ou après demain, le temps de terminer ma conf), et créer une base de données pour votre application.

Pas une mais 3 bases

Nous allons en fait créer 3 bases de données, correspondant aux 3 environnements d’une application Rails : développement, production et test.

7el.net:~$ mysql -u root -p
[...]
mysql> create database typo;
mysql> grant all privileges on typo.* to 'typo'@'localhost' identified by 'typosaibo'
mysql> create database typo_dev;
mysql> grant all privileges on typo_dev.* to 'typo'@'localhost' identified by 'typosaibo'
mysql> create database typo_test;
mysql> grant all privileges on typo_test.* to 'typo'@'localhost' identified by 'typosaibo'

7el.net:~$ cd /var/www
7el.net:/var/www$ sudo wget http://rubyforge.org/frs/download.php/12504/typo-4.0.3.tgz
7el.net:/var/www$ sudo tar xvzf typo-4.0.3.tgz
7el.net:/var/www$ sudo mv typo-4.0.3 typo

Nous allons maintenant configurer la base de données de Typo :

7el.net:/var/www$ cd typo
7el.net:/var/www/typo$ sudo vim config/database.yml
7el.net:/var/www/typo$ sudo rake RAILS_ENV=production db:migrate

Les petites particularités d’Apache 2.2

Parmi les nouveautés d’Apache 2, nous avons le retrait du support des options du .htaccess. Nous allons donc devoir supprimer une ligne de celui de Typo et les ajouter dans le vhost Apache que nous allons créer pour lui.

7el.net:/var/www/typo$ sudo vim public/.htaccess

La ligne incriminée :

Options +FollowSymLinks +ExecCGI

Notre virtualhost va alors ressembler à :

7el.net:/var/www/typo$ sudo vim /etc/apache2/sites-avaliable/typo

<VirtualHost 87.106.13.102:80>
  ServerAdmin root@typo
  DocumentRoot /var/www/typo/public
  Options +FollowSymLinks +ExecCGI
  ServerName typo.t37.net

  CustomLog /var/log/apache2/log.typo.t37.net combined
  Errorlog /var/log/apache2/error.typo.t37.net
</VirtualHost>

Il s’agit évidemment d’une configuration minimale, qui permet à Typo de tourner. Il ne nous reste plus qu’à activer le site et à redémarrer Apache.

7el.net:/var/www/typo$ sudo a2ensite typo
7el.net:/var/www/typo$ sudo chown -R www-data:www-data *
7el.net:/var/www/typo$ sudo /etc/init.d/apache2 restart

Et voilà, ça marche.

Ruby on rails passe à la vitesse supérieure

Le 18 janvier 2007 à 22h03 | 3 commentaires

Ce n’est pas encore annoncé sur le site officiel, mais Ruby on Rails, le meilleur framework qu’il m’ait été donné de tester à ce jour vient de passer en version 1.2. Mettez votre paquetage à jour, et vous verrez.

powerbook58-de-frederic-de-villamil:~ neuro$ sudo gem update -y
[...]
powerbook58-de-frederic-de-villamil:~ neuro$ rails -v
Rails 1.2.0

Concrètement, qu’est-ce que ça va changer ? Beaucoup de choses, à commencer par l’intégration du greffon Simply RESTful dans le noyau du framework, et cette seule nouvelle valait une note, moi qui suis si peu prompt à relayer les nouvelles. Si vous ne savez pas ce qu’est REST, regardez tout de suite cette excellente vidéo de David Heinemeier Hansson lui-même, il l’explique mieux que personne.

Quant à moi, je vous laisse lire le reste des nouveautés, j’ai des mises à jour à faire un peu partout, mais j’en profite pour vous signaler que la version de développement de Typo s’appuie sur Rails 1.2 depuis plusieurs mois maintenant.

Essayez Typo avant de l'installer

Le 14 janvier 2007 à 22h20 | 4 commentaires

typoTypo est l’outil de publication développé avec Ruby on Rails qui propulse ce blog pratiquement depuis ses débuts. Malgré des erreurs de jeunesse, principalement en termes d’ergonomie de l’IHM et des performances, toutes deux en passe d’être réglées dans la version de développement, Typo dispose d’indéniables atouts. On pourra notamment citer une très belle collection de thèmes, une API de greffons particulièrement puissante, la construction de la “sidebar” par simple cliquer / déplacer des éléments, ou une “live preview” particulièrement bien faite.

Afin de permettre au plus grand nombre de découvrir cet outil sans avoir à l’installer, je viens de mettre en place deux plates-formes de test en libre accès :

Vous pouvez accéder à l’ensemble des fonctionnalités de l’application à deux bémols près :

  1. Afin d’éviter le spam, la base de données est remise à zéro toutes les heures.
  2. Dans le même but, les pings vers l’extérieur ont été désactivés.

N’hésitez pas à faire remonter vos impressions, elles seront transmises à l’équipe de développement, ou directement prises en compte ici dans le cas où elles concerneraient l’ergonomie de l’administration actuellement en cours de refonte. Alors enjoy and have fun!.

[edit]
Le lien vers la version stable était cassée. Il est maintenant réparé.

Amazon met un nouveau service sur les rails

Le 30 novembre 2006 à 22h46 | 1 commentaire

Je n’aime pas relayer bêtement des nouvelles sans y ajouter une réelle valeur, mais celle-ci me semble suffisamment importantes pour être signalée.

Un des problèmes posés par les technologies émergentes vient de leur adoption par un groupe suffisamment important pour leur garantir une réelle légitimité face à un client pour le moins rétif au changement. Si l’adoption d’une technologie par l’industrie pornographique garantit sa diffusion réelle sur la toile, l’exemple est généralement délicat à avancer dans une négociation commerciale.

La grande nouvelle du jour, c’est la sortie d’UnSpun, ou plus exactement d’unspun.amazon.com, le petit dernier du géant Amazon. Derrière ce nom barbare se cache un Digg like développé en Ruby on Rail.

[edit]
Je me suis penché sur UnSpun ce matin. Le service propose de créer des listes d’items regroupés sous une même bannière (le meilleur langage de programmation, la meilleure bière), puis de leur attribuer une note, de les commenter… Toutes les joies du crowdsourcing.

UnSpun ne présente pas un grand intérêt en soi, sauf quand on l’applique à un site marchand. Il peut alors devenir un très bon vecteur de publicité comparative à bien peu de frais. Quand on connaît la capacité des internautes à fédérer les opinions parfois de milliers de personnes sur des votes ou des sites inutiles à travers forums et autres blogs, on imagine facilement ce qu’un groupe souhaitant mettre un produit en avant sur Amazon ou au contraire le couler peut faire en quelques heures seulement.

J’en reste cependant à ma première impression : l’important pour une fois ne réside pas dans le produit fini, mais bien dans l’outil utilisé : une application en Rails, lancée par Amazon, sur un sous domaine d’Amazon.com. Who’s next ?

Typo toujours sur les rails... 1.2

Le 24 novembre 2006 à 12h43 | 4 commentaires

typoContrairement à ce que pourraientt laisser penser un site à l’abandon, et un manque particulièrement remarquable de communications, Typo, le moteur de blog basé sur Ruby on Rails qui fait tourner ce blog n’est pas mort et enterré au cimetière des projets open source malchanceux. Ses développeurs développent, ses testeurs testent et sa communauté d’utilisateurs… l’utilise quotidiennement.

Que ceux qui souhaitent installer Typo se rassurent, la mort temporaire du site projet – suite à un bug de Trac faisant monter le serveur en charge au point de le rendre inutilisable – n’empêche en rien sa mise en place. Des procédures adaptées existent pour ceux qui souhaiteraient l’utiliser au quotidien ou tester la version de développement afin d’en rapporter les bugs et lacunes.

Version stable :

La dernière version stable de typo est la 4.0.3. Basée sur Ruby on Rails 1.1.6, elle s’installe à partir de la gem éponyme :

$ sudo gem -y install typo $ typo install chemin/vers/typo

Et le tour est joué.

Version de développement

Ce billet n’aurait probablement pas lieu d’être si Piers ne m’avait pas annoncé hier le passage de la version de développement de Typo sous Rails 1.2RC1 à l’occasion de la révision 1300. Rails 1.2, autrement nommé Rails Edge contient en standard le merveilleux SimplyRestful, et cela seul justifie la migration.

Le passage à Ruby on Rails 1.2 rend le trunk de Typo incompatible avec la branche 1.1 du framework, dont la version de développement se trouve néanmoins dans /vendor/rails. Ceci permettra d’éviter les problèmes de compatibilité.

Pour télécharger la version de développement de typo, il vous faut juste taper :

$ svn co svn://typosphere.org/typo/trunk typo

Et maintenant ?

Beaucoup de choses restent à faire sur Typo, et la TODO se remplit quotidiennement. Piers m’a annoncé hier vouloir travailler en priorité sur la refonte totale du système de feedback pour l’instant couplé au système de publication. Bien que ce changement demande de repenser l’architecture de la base, la souplesse de Rails limitera les temps de développement à deux ou trois heures. Je considère cette refonte comme capitale, car elle permettra la création de greffons autorisant la modération à priori des commentaires, l’ajout d’un système de capchas, ou d’outils de lutte contre les commentaires indésirables proches dans leur architecture de Spam Karma utilisé sous Wordpress.

Ce remaniement en entraînant d’autres, c’est toute une partie du système de publication qui s’en trouvera changé, particulièrement le content state qui gagnera en souplesse. On peut espérer à court terme l’arrivée d’un environnement véritablement multiutilisateurs dans lequel des directeurs de publication valideraient le contenu de multiples rédacteurs, ceci étant proposé sous la forme d’un greffon afin de ne pas surcharger le noyau de l’application.

Billets précédents :