
Lenya
Lenya : Description technique détaillée
📅 Date de sortie
Le projet Lenya débute en 1999 sous l'impulsion de Michael Wechner. En 2000, Michael a fondé Wyona, qui a continué le développement de Lenya. En 2000, il était connu sous le nom de XPS (Extensible Publishing System), hébergé sur wyona.org, qui prit le nom de WyonaCMS en 2002. En 2003, Wyona cède Lenya à la Apache Software Foundation, où le projet a continué son développement, devenant un projet de premier plan depuis septembre 2004. Le projet est officiellement terminé et retraité à l'Apache Attic en 2015. Le nom Lenya est composé des prénoms des deux enfants de Michael Wechner : Levi et Vanya.
📝 Licence
Apache Lenya est distribué sous les termes de la licence Apache Software License, une licence de la famille BSD, et contient des logiciels compatibles avec le style de licence BSD. Il s'agit donc d'un logiciel open source, librement utilisable, modifiable et redistribuable, y compris à des fins commerciales.
💻 Langage de programmation
Apache Lenya est un système de gestion de contenu open source basé sur Java. Il repose sur des standards ouverts tels que XML et XSLT. Le contenu est intégralement stocké sous forme de fichiers XML plats sur le serveur, sans base de données relationnelle obligatoire. Les transformations de présentation sont assurées par XSLT, et les schémas de validation par RELAX NG et XML Schema (XSD).
🏛️ Architecture
- Architecture Java/XML reposant sur Apache Cocoon comme composant central — tous les composants Cocoon peuvent être utilisés pour développer des fonctionnalités personnalisées.
- Concept de « publications » : permet la réutilisation de l'architecture d'information d'un site et apporte de la modularité au niveau du contenu — différentes publications peuvent partager du contenu et de la logique métier.
- Architecture multi-plateforme : développée à 100% en Java, compatible avec les principaux navigateurs web et les grands systèmes d'exploitation.
- Séparation nette entre le contenu et la présentation grâce aux templates XHTML+CSS, sans nécessité d'apprendre un autre langage de template.
📂 Base de données
Le fondement de Lenya repose sur XML : il n'y a pas de base de données backend pour gérer le contenu — tout est stocké sous forme de fichiers XML plats sur le serveur. Lenya peut cependant se connecter à des bases de données externes si nécessaire. Les systèmes supportés incluent :
- Fichiers XML (stockage natif par défaut)
- MySQL, PostgreSQL, Oracle (via connexion JDBC pour les données applicatives)
- Métadonnées gérées selon le standard Dublin Core
⚙️ Caractéristiques principales
✅ Éditeurs WYSIWYG intégrés : Éditeurs navigateur BXE et Kupu fournis nativement, avec validation de la saisie contre un schéma RELAX NG, empêchant le balisage invalide. La gestion des ressources et des liens est intégrée aux éditeurs.
✅ Contrôle des révisions : Chaque modification d'une page crée une nouvelle révision, permettant de revenir à n'importe quelle version antérieure. Les pages en cours d'édition sont automatiquement verrouillées pour les autres utilisateurs.
✅ Gestion multi-sites : Plusieurs sites (publications) peuvent partager du contenu et de la logique métier — de nouvelles publications peuvent être créées par clonage.
✅ Multilingue natif : Les pages peuvent être créées en plusieurs langues sans impact sur la structure du site. Lenya affiche automatiquement la page dans la langue par défaut si elle n'est pas disponible dans une langue spécifique. L'interface est localisée en espagnol, italien, français, allemand, anglais, néerlandais et japonais.
✅ Moteur de recherche intégré : Apache Lenya intègre Apache Lucene pour effectuer des recherches documentaires basées sur des expressions — moteur de recherche full-text haute performance écrit entièrement en Java.
✅ Planificateur de tâches (Scheduler) : Les événements de workflow tels que la publication ou la désactivation d'une page peuvent être planifiés dans le temps.
🔥 Fonctionnalités avancées
🚀 Moteur de workflow personnalisable : Lenya inclut un moteur de workflow personnalisable utilisant un format XML simple pour définir les workflows. Des workflows standard à une et deux étapes sont inclus, avec notification par e-mail des approbations en attente.
📊 Zones de travail séparées : Des espaces distincts d'édition (authoring), de prévisualisation (staging) et de production (live) sont supportés.
🔌 Accès complet à l'écosystème Apache Cocoon : Si les fonctionnalités natives sont insuffisantes, l'accès à tous les composants Apache Cocoon permet de développer des extensions sur mesure.
🔗 Navigation automatique : Le framework de navigation crée automatiquement des éléments de navigation tels que menus, fils d'Ariane et onglets.
📦 Gestion avancée des ressources : La gestion des ressources permet de suivre les images et documents associés à une page. Chaque page dispose d'onglets permettant d'accéder facilement aux métadonnées, ressources, statut de workflow, révisions, contrôle d'accès et planification.
💡 URLs propres : Lenya génère des URLs propres sans paramètres de requête, rendant les sites optimalement accessibles aux moteurs de recherche.
🔐 Sécurité
🔹 Contrôle d'accès granulaire (ACL) : Le mécanisme de contrôle d'accès permet de restreindre l'accès à certaines parties du site à des membres d'un groupe ou à des individus. L'accès peut être restreint par fonction : consultation, édition, approbation ou administration.
🔹 Authentification LDAP : Les utilisateurs peuvent être authentifiés contre un serveur LDAP ; l'accès peut également être contrôlé par plages d'adresses IP.
🔹 Support SSL sélectif : Chaque page ou partie du site peut être protégée par SSL. Il est possible de ne protéger que les parties du site qui en ont besoin, pour une performance optimale.
🔹 Audit trail complet : Toutes les étapes du workflow sont journalisées, fournissant un historique complet des modifications (audit des changements).
🔹 Tests unitaires : Lenya utilise des tests unitaires pour détecter les régressions dans le code.
✅ Les pour et les contre
✅ Avantages
✔️ Standard ouvert et architecture XML : Contenu stocké en XML pur, évitant l'enfermement propriétaire et garantissant une interopérabilité totale avec les outils XML/XSLT de l'écosystème Apache.
✔️ Gestion de workflow avancée : Moteur de workflow configurable en XML, avec gestion des approbations, planification et audit trail — idéal pour les organisations avec des processus éditoriaux complexes.
✔️ Contrôle de versions intégré : Historisation complète des révisions avec possibilité de retour en arrière, sans outil tiers.
✔️ Appartenance à l'écosystème Apache : Bénéficie de la robustesse, de la documentation et des composants réutilisables de la fondation Apache (Cocoon, Lucene, Tomcat).
✔️ Multi-plateforme : Lenya peut fonctionner sur pratiquement n'importe quel serveur UNIX/Linux, et même Microsoft Windows.
❌ Inconvénients
❌ Projet abandonné depuis 2015 : Le projet Lenya a été retraité à l'Apache Attic en avril 2015 — aucune mise à jour de sécurité, aucune évolution ni support communautaire actif depuis lors.
❌ Installation complexe : Contrairement à d'autres CMS disposant d'une installation en un clic, l'installation de Lenya nécessite l'utilisation d'Ant et la compilation de Lenya ainsi que de Cocoon.
❌ Courbe d'apprentissage très élevée : La maîtrise d'Apache Cocoon et de ses pipelines est indispensable pour étendre la plateforme — une courbe d'apprentissage particulièrement longue qui pousse beaucoup d'utilisateurs à abandonner rapidement.
❌ Hébergement difficile à trouver : Il est difficile de trouver un hébergeur proposant Lenya — il faut généralement disposer de son propre serveur.
❌ URLs propres difficiles à configurer : L'obtention d'URLs propres nécessite une configuration avancée du serveur Apache, plus complexe qu'à l'ordinaire.
🌐 Site officiel
👉 https://lenya.apache.org (projet archivé à l'Apache Attic depuis avril 2015 : https://attic.apache.org)


