Le moteur de gestion de contenu web eZ Publish est censé être compatible avec MySQL et PostgreSQL nativement et avec Oracle[à l’aide l’extension GPLv2 [eZ Publish Extension for Oracle® Database.]] et SQL Server[au moyen de l’extension propriétaire [MSSQL Database Extension.]] grâce à des extensions.
C’est vrai en ce qui concerne le noyau d’eZ Publish, mais est-il réellement intéressant d’utiliser eZ Publish avec un SGBD autre que MySQL ?
En effet : si le noyau d’eZ Publish est réellement indépendant du SGBD utilisé, ce n’est absolument pas le cas des nombreuses extensions disponibles : 95% de celles utilisant une base de données ne sont compatibles qu’avec MySQL.
Deux cas de figure se présentent :
- Les requêtes à la base de données effectuées au sein de l’extension sont agnostiques, et seul le schéma de données est à modifier. C’est le cas le plus simple à gérer : il suffit à l’intégrateur de réaliser le schéma approprié à son SGBD. Si l’extension est correctement maintenue, le nouveau schéma sera intégré aux sources officielles et l’intégrateur n’aura plus de soucis à se faire.
- Les requêtes effectuées au sein de l’extension sont spécifiques à MySQL. C’est alors plus problématique : si l’extension est correctement maintenue et architecturée, l’intégrateur peut fournir un patch et espérer qu’il sera intégré aux sources officielles. Si l’extension n’est pas ou plus maintenue (et c’est malheureusement le cas de nombreuses extensions eZ Publish), il ne lui reste plus qu’à créer un fork.
C’est d’autant plus embêtant que même les mainteneurs et contributeurs d’extensions les plus importants ne recherchent pas systématiquement l’indépendance à la base de données :
- L’extension eZNewsletter maintenue par ez.no et très largement mise en avant (ainsi que ses nombreuses dépendances) n’est compatible qu’avec MySQL
- Aucune des extensions certifiées n’indique avec quel SGBD elle est compatible
Ce n’est pas tout. Une des fonctionnalités très attendues de la prochaine version (3.10) est la nouvelle gestion des clusters eZ Publish. Cette fonctionnalité ouvre de nouveaux horizons à eZ Publish en termes de performances et de déploiement en entreprise. Or, ez.no a annoncé en juin dernier qu’il abandonnait le support de PostgreSQL et Oracle (MSSQL n’était déjà pas supporté) en ce qui concerne les clusters.
Enfin, mais c’est un avis personnel, la récente ouverture du code du connecteur Oracle / eZPublish par ez.no, ressemble à un abandon du support officiel du SGBD propriétaire. Il n’apparaît d’ailleurs plus comme étant supporté dans la documentation du CMS : « Required software : A database, currently supported are: MySQL version 3.23 or later, and PostgreSQL version 7.3 or later ».
Ma conclusion est simple : utiliser eZ Publish avec un autre SGBD que MySQL réduit grandement l’intérêt de son écosystème d’extensions, induit une augmentation des coûts de développement et une certaine dose d’incertitude en termes de support. A éviter autant que faire se peut.