Damien Tournoud (Drupal) Drupal s'intègre désormais à SQL Server et Oracle Database

La solution de gestion de contenu Web Open Source se comporte de la même façon quelle que soit la base de données SQL. Sa version 7 vient de sortir en beta.

JDN Solutions. Quelles sont les dernières grandes évolutions de la solution de gestion de contenu Web Drupal ?

Damien Tournoud. Drupal s'ouvre à de nouvelles bases de données. En mars 2010, nous avons finalisé une nouvelle couche d'abstraction visant à prendre en charge SQL Server et Oracle Server. Elle a été annoncée en avril à l'occasion de notre événement DrupalCon de San Fransisco.

Quelle est la nature de la relation que vous avez instaurée avec Microsoft et Oracle ?

La relation entre la communauté Drupal et Microsoft remonte à 2007. A l'époque, l'idée était d'instaurer un premier niveau de dialogue. Le processus a demandé du temps pour des raisons culturelles. Il n'est pas facile de faire travailler Microsoft avec une communauté Open Source comme Drupal. Mais le pari est gagné aujourd'hui.

Concrètement, Drupal 7 s'appuie sur PHP DO [ndlr pour PHP Data Object] pour créer une façon unifiée de parler aux différentes bases de données SQL. Des Drivers PHP DO existaient déjà pour SQLite, MySQL et PostgreSQL. Microsoft a lancé un projet pour écrire un pilote PHP DO pour SQL Server. Nous avons eu accès à une pré-version privée de ce driver ce qui nous a permis de travailler tout en ayant la possibilité de faire des retours à Microsoft en matière de bogues.

"Drupal se comporte de la même manière quel que soit le serveur de données"

Quant à Oracle, il avait déjà développé un driver PHP DO pour sa base de données. Il nous a donc suffi de nous appuyer dessus.

Drupal se comporte-t-il de la même façon quelle que soit la base ?

La réponse est oui. Nous avons en effet particulièrement bien soigné la phase de test. Des cas de test d'intégration, unitaires et fonctionnels ont été définis et mis en œuvre dans cette optique. Notez que ce projet partait du constat que plusieurs grands utilisateurs de Drupal avaient fait le choix de la plate-forme Microsoft, mais avaient du mal à intégrer les deux technologies.

Quelles sont les nouveautés saillantes de Drupal 7 ?

Cette nouvelle version devrait sortir en version beta à l'occasion du DrupalCon de Copenhague qui se tient cette semaine. A l'occasion de cette nouvelle édition, nous avons repensé l'ergonomie et développé un nouveau mode d'administration. Un module d'overlay a été ajouté pour gérer les tests directement depuis le front office par le biais de pop-up. Nous nous sommes concentrés également sur l'industrialisation des processus techniques, avec en ligne de mire les problématiques d'hébergement à grande échelle sur des centaines de machines. Dans la même logique, Drupal 7 prend en charge le reverse proxy et la gestion de cache en amont des fermes de serveurs.

Quid des bases de données non-SQL ?

Drupal 7 donne la possibilité d'utiliser une base de données orientée documents par le biais de MongoDB. Pour l'instant, c'est le seul serveur de données de ce type que nous implémentons. Là où les bases de données SQL apportent des garanties sur l'intégrité des données, les bases orientés documents abaissent ce degré d'exigence, et permettent donc de répartir le traitement et le stockage sur un plus grand nombre de machines. 

Tous les sites n'ont en effet pas besoin du niveau de garantie transactionnelle d'une base SQL. Lorsque vous mettez à jour votre profil sur un réseau social, l'ensemble des utilisateurs n'ont par exemple pas besoin de voir votre modification en même temps. Il peut y avoir un temps de latence, qui est appelé consistance éventuelle dans le monde non-SQL.

Quelle sont les évolutions qui pourraient venir ensuite ?

Nous travaillerons à rendre encore plus flexible le CMS. A plus long terme, nous débattons de la possibilité de paralléliser l'exécution des pages Web. Concrètement, il s'agit d'exploiter les possibilités des processeurs multi-cœur en vue de générer indépendamment les différents blocs d'une page. L'idée est d'améliorer la vitesse d'affichage des sites.


Ingénieur des Mines de Paris, Damien Tournoud est directeur technique et CTO de la start-up franco-américaine Commerce Guys. Il est l'un des architectes de Drupal 7. Il a fondé l'association Drupal France et Francophonie en 2009, et l'a présidée en 2009-2010.