Des priorités pour le développement de Drupal 8

Brassage d'idées dans la ville des vents

Par Sylvain Aubé
25 mars 2011

Je pourrais bien vous parler de la ville de Chicago et de ses spécialités locales. Je pourrais aussi vous parler de mon expérience comme représentant de Whisky Echo Bravo à la grande messe qu'est la conférence DrupalCon. Mais j'aimerais plutôt vous parler des idées qui y ont été brassées, puisqu'elles orientent dès aujourd'hui l'avenir du projet Drupal ainsi que sa position dans l'univers du développement Web.

Plus spécifiquement, comme à chaque DrupalCon, le discours d'ouverture livré par Dries Buytaert a permis de mettre la communauté Drupal au diapason des transformations importantes qui affectent notre industrie. La conférence marquait d'ailleurs le coup d'envoi du développement de Drupal 8. (Ne vous inquiétez pas si vous venez de découvrir Drupal 7 : pour mémoire, le développement de la version actuelle a nécessité près de 3 ans de travail. La sortie de Drupal 8 est donc encore loin).

Voici des éléments qui devraient être disponibles par défaut dans la prochaine génération de Drupal. (Veuillez noter que la plupart de ces fonctionnalités sont déjà en développement sous forme de modules tiers pour Drupal 7).

Initiatives prioritaires pour Drupal 8 :

  • Services Web
  • Exportabilité
  • Identifiants uniques universels
  • HTML5

Services Web

Rendre Drupal compatible par défaut avec l'environnement mobile.

Lors du lancement de Drupal en 2001, l'ordinateur de table était l'outil dominant et, jusqu'à tout récemment, il était sensé de concevoir les gestionnaires de contenus (CMS) autour du concept de « page HTML ». Avec l'arrivée des ordinateurs portatifs, tablettes et multiples variantes de téléphones intelligents, on peut envisager maintenant de concevoir Drupal principalement pour les appareils mobiles.

La communication entre le site Drupal et les applications clientes autres que le bon vieux fureteur s'effectue à travers des « services Web ». On pourrait vulgariser le concept de « service Web » comme un ensemble d'outils par lesquels le gestionnaire de contenu peut livrer l'information demandée par l'application cliente. L'information s'adapte à l'environnement de l'utilisateur en répondant à différents protocoles (XML-RPC, REST, etc.) et en livrant l'information dans différents formats (HTML, XML, JSON, etc.).

En attendant que le cœur de Drupal soit doté de ces fonctions, c'est au moyen de modules tiers tels que Services et RESTful Web Services qu'un site Drupal 7 peut sortir du cadre de la page HTML.

Exportabilité

Faciliter la gestion de la configuration des sites Drupal.

Il est important pour un développeur Web de pouvoir revenir en arrière en tout temps durant le développement d'un projet et de disposer d'un historique des changements. On utilise habituellement un système de contrôle des versions pour gérer les fichiers sources. Malheureusement, les bases de données qui contiennent les configurations des sites Drupal s'y prêtent mal.

Avec le temps, des modules comme Features et Views ont amené des techniques laissant présager des manières d'exporter complètement la configuration d'un site en format texte, configuration qui pourrait ensuite être « versionnée », tout comme le code source du système dont elle dépend. Parmi les avantages, on pourrait mentionner la possibilité de revenir en arrière tout en maintenant le synchronisme entre le code source et la configuration, ou encore de migrer des fonctionnalités pré-assemblées d'un site vers un autre (par exemple d'un site de développement vers un site de production).

Identifiants uniques universels

Synchroniser les versions en développement et en production.

L'idée derrière les identifiants uniques universels (ou UUID) est de faciliter les migrations de données entre différents sites, et particulièrement la communication entre des sites en développement et des sites en production.

Jusqu'ici, les principaux types de données de Drupal (les noeuds, les blocs, la taxonomie, les versions de noeuds, etc.) dépendent de simples identifiants incrémentaux. Ceci devient rapidement un casse-tête lorsque les identifiants sont incohérents entre la version en développement et la version en production d'un site (i.e. lorsqu'un même identifiant réfère à des données différentes sur chacun des sites). Ce problème est criant lorsque l'un ou l'autre des sites évolue constamment, par exemple pour un journal créant à chaque heure de nouveaux articles. Les identifiants uniques universels assureront que chaque donnée distincte possède son identifiant propre, facilitant grandement les migrations de contenus et de configurations.

HTML5

Bénéficier des nouveaux développements dans le domaine des normes Web.

HTML5 est déjà populaire auprès de la communauté du design Web et offre plusieurs nouvelles possibilités aux concepteurs. Il serait choquant de devoir attendre encore quelques années, jusqu'à la sortie de Drupal 8, pour pouvoir en tirer tous les avantages. Voilà en bref l'argument qu'avance Jen Simmons dans le cadre de son initiative pour rendre le cœur de Drupal entièrement compatible avec HTML5.

Ce projet tente de regrouper plusieurs développeurs autour d'un module permettant l'adaptation des sites actuels, HTML5 Tools et d'un thème de base, HTML5 Base.

Autres initiatives

D'autres initiatives majeures tentent de se tailler une place, dont certaines très ambitieuses. Par exemple, le projet Butler cherche à offrir un nouveau système flexible d'affichage de contenu tenant compte du contexte et capable de supporter la publication multiplateforme. Au niveau graphique, on peut compter sur l'élargissement d'une librairie d'éléments communs, rendant disponibles par défaut des composants d'interface utilisateur déjà présents sur un grand nombre de sites.

Conclusion

Le but d'identifier ces priorités est bien sûr de pouvoir les intégrer le plus rapidement possible à nos projets actuels et futurs. Tous ces enjeux nous touchent déjà grandement dans nos projets, particulièrement en ce qui concerne les applications mobiles et l'application de la norme HTML5.

Si vous souhaitez approfondir le sujet, il semble que le texte synthétisant le mieux les modifications envisagées pour Drupal 8 soit « Drupal 8: The Road Ahead », de Jeff Eaton, un texte qui semble avoir eu une grande influence auprès de la communauté des développeurs. On peut aussi voir la discussion qui a suivi l'article « Drupal in a tablet world », de Dries Buytaert.

Classé dans : , , ,
Ajouter aux favoris / partager