Menu du compte de l'utilisateur

  • Se connecter

Navigation principale

  • Accueil
  • Tous les CMS
  • Tutoriels
  • Livres Blanc
Accueil
Guide CMS

Fil d'Ariane

  • Accueil
  • Tous les CMS
  • X
  • Xaraya

Sélecteur de langue

  • Français
  • English

Navigation principale

  • Accueil
  • Tous les CMS
  • Tutoriels
  • Livres Blanc

Connexion utilisateur

CAPTCHA
Cette question sert à vérifier si vous êtes un visiteur humain ou non afin d'éviter les soumissions de pourriel (spam) automatisées.
  • Créer un nouveau compte
  • Réinitialiser votre mot de passe

Navigation du livre

  • Tous les CMS
    • Autres
    • A
    • B
    • C
    • D
    • E
    • F
    • G
    • H
    • I
    • J
    • K
    • L
    • M
    • N
    • O
    • P
    • Q
    • R
    • S
    • T
    • U
    • V
    • W
    • X
      • XOOPS
      • Xaraya
    • Y
    • Z

Guy Vigneault

Xaraya

Par Guy Vigneault | 1:32 PM EDT, lun mars 09, 2026
Logo Xaraya

Xaraya : Description technique détaillée

📅 Date de sortie

Xaraya est né en 2002 en tant que fork de la version non publiée 0.8 de PostNuke, entièrement réécrit par l'équipe de développement. Le projet a rapidement gagné en maturité avec la version 0.9.x (2004–2005), puis la version 1.x (baptisée Aruba) a assuré la compatibilité PHP 4 et PHP 5. La branche 2.x (baptisée Jamaica), sortie en 2013 avec la version 2.4.0, est la dernière version stable, exclusivement compatible PHP 5. Le projet est aujourd'hui considéré comme peu actif dans sa branche principale.

📝 Licence

Xaraya est un logiciel open source distribué sous licence GNU General Public License (GPL v2). Il est entièrement libre et gratuit. Son code source est accessible sur GitHub (branche 2.x active) et sur SourceForge pour les versions historiques.

💻 Langage de programmation

Xaraya est entièrement développé en PHP (PHP 4.1.2 minimum pour la branche 1.x, PHP 5 exclusivement pour la branche 2.x). Il adopte une architecture hybride procédurale/orientée objet : environ 50 % du code est orienté objet, principalement pour le moteur de templates BlockLayout et le module DynamicData. Le front-end s'appuie sur HTML, CSS et JavaScript (avec jQuery).

🏛️ Architecture

  • • Architecture modulaire et indépendante de la base de données : séparation stricte entre forme, fonction, contenu et design — principe fondateur du projet.
  • • Système de modules : chaque fonctionnalité (articles, forums, galerie, e-commerce, etc.) est encapsulée dans un module indépendant, installable et désinstallable à la volée.
  • • Moteur de templates propriétaire BlockLayout : basé sur XML, il permet de personnaliser l'apparence du site sans toucher au code PHP, via des balises XML de type <xar:var>, <xar:if>, etc.
  • • Système de blocs : unités d'affichage indépendantes positionnables dans n'importe quelle zone de la mise en page (gauche, droite, centre, haut, bas).
  • • Couche d'abstraction de base de données ADODB : garantit la portabilité du code entre les différents SGBD supportés sans modification.
  • • Système de hooks : mécanisme permettant à un module d'étendre ou de modifier le comportement d'un autre module sans modifier son code source.

📂 Base de données

Grâce à la couche d'abstraction ADODB, Xaraya supporte plusieurs systèmes de bases de données :

  • • MySQL — le SGBD de référence, le plus utilisé avec Xaraya.
  • • PostgreSQL — entièrement supporté pour les environnements nécessitant un SGBD libre avancé.
  • • SQLite — pour les installations légères ou les environnements de développement.
  • • D'autres bases de données compatibles ADODB peuvent également être utilisées (Oracle, MSSQL).

Cette indépendance vis-à-vis du SGBD est l'une des caractéristiques architecturales les plus remarquables de Xaraya, la distinguant de nombreux CMS PHP de son époque.

⚙️ Caractéristiques principales

✅ Architecture modulaire avancée : Plus de 100 modules disponibles (articles, forums, galeries, e-commerce, wiki, sondages, newsletters, etc.), installables indépendamment.

✅ Moteur de templates BlockLayout (XML) : Séparation totale entre la logique PHP et la présentation HTML/CSS, sans nécessiter de connaissances PHP pour personnaliser les thèmes.

✅ Système de permissions granulaires : Gestion fine des droits d'accès par utilisateur, groupe et rôle, à tous les niveaux : module, bloc, objet de données, voire champ individuel.

✅ Indépendance de la base de données : Compatible MySQL, PostgreSQL et SQLite via la couche ADODB, sans modifier une ligne de code.

✅ Module DynamicData : Outil de définition d'objets de données personnalisés avec métadonnées, permettant de créer des types de contenu sur mesure sans programmation.

✅ Système multilingue complet (MLS) : L'intégralité du texte de l'interface et des données (dont les dates) est localisable dans n'importe quelle langue.

🔥 Fonctionnalités avancées

🚀 Système de hooks inter-modules : Mécanisme unique permettant à un module d'écouter et d'étendre les événements d'un autre module (ex. : ajouter une notification e-mail à la publication d'un article) sans modifier le code source.

📊 Mise en cache multi-niveaux : Cache de page sans session (sessionless page caching), cache de page par utilisateur et cache de bloc, permettant d'accélérer considérablement les temps de réponse.

🔌 Module DynamicData : Création de types d'objets de données personnalisés via une interface graphique, avec définition des champs, types, validations et affichages sans écrire de code PHP.

🔗 Conformité aux standards web : Respect des normes RSS, CSS, XHTML et des directives d'accessibilité W3C dès l'installation.

📦 Gestion avancée des thèmes : Templates intérieurs, extérieurs et intermédiaires pour chaque module et bloc, permettant une personnalisation graphique extrêmement fine.

💡 Module xarBB (forums) et module Wiki : Forum intégré basé sur phpBB et wiki communautaire, permettant de créer des portails de communauté en ligne complets sans plugin tiers.

🔐 Sécurité

🔹 Module de sécurité puissant : Système de connexion multi-niveaux pour les utilisateurs et les administrateurs, avec gestion fine des privilèges à chaque couche de l'application.

🔹 Système de rôles et privilèges granulaires : Les droits sont définis précisément par utilisateur, groupe de rôles, module, type d'action et objet de données — l'un des systèmes de permissions les plus fins parmi les CMS PHP de son époque.

🔹 Protection anti-spam : Outils intégrés pour protéger les communautés en ligne contre le spam et les attaques de bots sur les formulaires et les forums.

🔹 Zone d'administration sécurisée : Interface d'administration accessible uniquement après authentification, avec séparation stricte entre les espaces public et administratif.

🔹 Mises à jour de sécurité communautaires : Corrections publiées par la communauté Xaraya via GitHub et SourceForge ; la branche 2.x reçoit encore des correctifs de maintenance.

🔹 Support SSL/HTTPS : Compatible avec les configurations HTTPS pour sécuriser les échanges de données sensibles entre le serveur et les visiteurs.

✅ Les pour et les contre

✅ Avantages

✔️ Système de permissions exceptionnel : L'un des contrôles d'accès les plus granulaires jamais implémentés dans un CMS PHP open source, adapté aux portails complexes.

✔️ Architecture modulaire exemplaire : Séparation stricte forme/fonction/contenu/design, facilitant la maintenance, les tests et l'évolution du code.

✔️ Indépendance de la base de données : Rare à l'époque, la compatibilité MySQL/PostgreSQL/SQLite via ADODB offre une grande liberté d'hébergement.

✔️ Moteur de templates BlockLayout XML : Personnalisation graphique sans PHP, idéal pour les designers non développeurs.

✔️ Module DynamicData unique : Création de types de contenu personnalisés via l'interface sans programmation — précurseur des systèmes de champs personnalisés modernes.

✔️ Entièrement gratuit et open source sous licence GPL, sans frais de licence ni abonnement.

❌ Inconvénients

❌ Projet peu actif : Le développement principal est au ralenti depuis plusieurs années ; les branches 1.x et le fork Xarigami ne sont plus maintenus activement.

❌ Courbe d'apprentissage très élevée : L'architecture modulaire, le système de hooks, BlockLayout XML et les permissions granulaires représentent une complexité importante pour les nouveaux utilisateurs.

❌ Performances sous charge : L'architecture très orientée objet en PHP peut souffrir de lenteurs sans une configuration de cache appropriée.

❌ Communauté très restreinte : Comparé à WordPress, Drupal ou Joomla, l'écosystème de modules, thèmes et support communautaire est limité.

❌ Compatibilité PHP limitée : La branche 2.x ne supporte que PHP 5, ce qui pose des problèmes de compatibilité avec les hébergements modernes (PHP 7.x / 8.x).

🌐 Site officiel

👉 https://www.xaraya.info

Besoin de plus de détails sur un point spécifique ?

 

Liens transversaux de livre pour Tous les CMS

  • ‹ XOOPS
  • Haut
  • Y ›
CMS

 

Tous les CMS

Tuto

 

Tutoriels

 

Livre Blanc

 

Livres Blanc

Propulsé par Drupal

Politique de confidentialite

Politique de confidentialite

Contenu récent

  • 9.3. Créer une vue listant du contenu
    5 jours 4 heures ago
  • 9.2. Concept : les parties qui composent une vue
    5 jours 4 heures ago
  • Chapitre 9. Créer des listes avec Views
    5 jours 4 heures ago
  • 9.1. Concept: usages des vues
    5 jours 4 heures ago
  • 2.4. Exemple de QCM simple conforme au schéma QCM.xsd
    5 jours 5 heures ago

Copyright

Creative Commons

Sauf mention contraire, Guide CMS © 2025 par Guy Vigneault est sous licence Creative Commons Attribution - Utilisation non commerciale - Partage dans les mêmes conditions 4.0 International

 

Creative Commons

Unless otherwise stated, Guide CMS © 2025 by Guy Vigneault is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License

eGV Web