Quel CMS choisir en environnement OpenVMS ?

Thierry Uso, le 6 janvier 2006.

Lorsque l’association proVMS a décidé que son site Web fonctionnerait sur un système OpenVMS, il a fallu choisir quels logiciels (si possible gratuits et opensources) utiliser dans cet environnement. Le site proVMS ayant vocation à être modifié régulièrement par plusieurs rédacteurs, le choix a non seulement
porté sur un serveur HTTP mais aussi sur un CMS (Content Management System) et un serveur de base de données.

Le choix du serveur HTTP n’a pas posé de problème particulier. En effet, plusieurs logiciels de ce type fonctionnent parfaitement sous OpenVMS tels que Apache [1], WASD [2], Tomcat [3] et Jetty [4]. De même, le choix du serveur de base de données s’est porté tout naturellement sur MySQL [5] qui est de loin le serveur de base de données le plus utilisé pour les applications Web. Par contre, le choix d’un CMS s’est révélé beaucoup plus délicat.

:: :: Java, PHP, Python ou Ruby ?

Il existe de nombreux CMS gratuits et opensources. Ces CMS sont développés soit en Java, soit dans des langages interprétés tels que PHP, Python ou Ruby. OpenVMS dispose d’une machine virtuelle Java (Fast VM pour Alpha, Hot Spot pour Itanium) [6] ainsi que des interpréteurs PHP [7], Python [8] et Ruby [9]. Il est
donc en théorie possible de mettre en oeuvre un CMS développé dans ces langages sur un système OpenVMS.

Du langage de développement du CMS dépend la manière dont les pages HTML sont construites dynamiquement. En Java, les pages HTML sont construites le plus souvent à l’aide de JSP (JavaServer Pages). L’utilisation de JSP nécessite un servlet container, fonction fournie par Tomcat et Jetty sur un système OpenVMS. En PHP, les pages HTML sont construites à l’aide de scripts exécutés par l’interpréteur PHP à la demande du serveur HTTP. Cette capacité à invoquer l’interpréteur PHP (mod_PHP) est fournie par Apache et WASD sur un système OpenVMS. En Python et Ruby, plusieurs techniques existent mais la plupart n’ont
jamais été testées sur un système OpenVMS, à l’exception des PSP (PythonServerPages) de Webware [10].

Après consultation d’annuaires référençant des CMS gratuits et opensources ([11], [12], [13]...), il est apparu que l’offre de CMS développés en PHP était plus large et en moyenne plus mature que les offres de CMS développés en Java, Python ou Ruby. En conséquence, la recherche d’un CMS pour le site proVMS s’est
focalisée sur les CMS développés en PHP.

:: :: Fonctionnalités requises du CMS et critères de choix

Le choix du CMS s’est appuyé sur une liste de fonctionnalités requises et sur plusieurs critères de choix.

Fonctionnalités requises :

Critères de choix :

Ces fonctionnalités et critères ont permis d’éliminer avant tests la plupart des CMS proposés, certains d’entre eux n’offrant pas les fonctionnalités requises (GuppY), d’autres étant trop spécialisés weblog ou wiki (WorldPress) ou trop complexes (typo3).

:: :: Tests et choix final

Les tests ont portés sur les CMS Drupal [14], Mambo [15], SPIP [16] et TextPattern [17], l’environnement de test étant constitué d’OpenVMS 7.3-2, Apache (SWS 1.3-1) et MySQL 4.1.

Nous avons réussi à faire fonctionner correctement uniquement SPIP et TextPattern dans l’environnement de test.

SPIP est un CMS offrant une grande souplesse éditoriale et qui est très utilisé en France notamment par plusieurs administrations. La communauté francophone autour de SPIP est large et très active (les développeurs sont majoritairement français). Malgré ses qualités indéniables, nous n’avons pas retenu SPIP parce que (i) il a fallu modifier légèrement le code PHP et que (ii) SPIP s’est révélé peu respectueux des standards W3C.

TextPattern est le CMS qui a été retenu pour le site proVMS. Le code PHP est compact (786 ko pour la version 4.0) et fonctionne tel quel en environnement OpenVMS. De plus, TextPattern possède l’ensemble des fonctionnalités requises et répond à la plupart des critères. Les seuls points négatifs que nous lui avons trouvés concernent l’éditeur Web textile (quelques bugs), la documentation (insuffisante mais en cours d’amélioration) et les modèles de présentation (nécessité de maitriser CSS pour créer ou modifier un modèle de présentation).

Références

[1] http://h71000.www7.hp.com/openvms/products/ips/apache/csws.html
[2] http://wasd.vsm.com.au/
[3] http://h71000.www7.hp.com/openvms/products/ips/apache/csws_java.html
[4] http://perso.wanadoo.fr/thierry.uso/jetty.html
[5] http://www.pi-net.dyndns.org/anonymous/kits/#mysql
[6] http://h18012.www1.hp.com/java/alpha
[7] http://h71000.www7.hp.com/openvms/products/ips/apache/csws_php.html
[8] http://www.pi-net.dyndns.org/anonymous/kits/#python
[9] http://www.geocities.jp/vmsruby/en
[10] http://vmspython.dyndns.org/anonymous/kits/#webware
[11] http://www.opensourcecms.com
[12] http://www.framasoft.net/rubrique168.html
[13] http://java-source.net/open-source/content-management-systems
[14] http://drupal.org
[15] http://www.mamboserver.com
[16] http://www.spip.net
[17] http://www.textpattern.com

aleft Java et OpenVMS: Mythes et réalités aright