Cette partie de la documentation consacrée au Framework décrit le fonctionnement du CMS en interne et s'adresse aux développeurs curieux et expérimentés et non pas aux utilisateurs du CMS. Pour cette raison, la documentation complète du Framework n'est disponible et maintenue qu'en Anglais : The Framework
Structure de Répertoire
La structure d'arborescence est influencée par celle de Drupal 8 (qui est basé sur Symfony).
Voici la structure du répertoire utilisée dans Namaskar :
- data/
- var/ [répertoire pour les logs, les fichiers temporaires]
- sites/
- site1/
- public/
- index.php
- media/
- site2/
- public/
- index.php
- media/
- namaskar/
- core/ [Framework]
- src/ [composants specifique]
- Controllers/ [contrôleurs qui gèrent les actons et Réponses aux requêtes]
- HomeController.php
- AdminController.php
- ...
- Services/
- SomeService.php
- ...
- templates/ [fichiers de templates]
- bootstrap5/ [template par défaut]
- index.html
- navbar.html
- ...
- ...
Le répertoire data/sites contient les différents sites. Chaque site a ses propres fichiers de configuration dans data/sites/nomdusite
Les fichiers publics de chacun des sites sont dans data/sites/nomdusite/public/
- public/ : Ce dossier contient la partie publique d'un site web.
- index.php : C'est le fichier qui reçoit toutes les requêtes HTTP et les route vers l'application.
dossiers asset pour les ressources statiques (css et js), et un répertoire media pour tout le contenu, images, vidéos, mp3...
Le reste du code de l'application se trouve dans le répertoire namaskar/. Tout le code de l'application situé dans le répertoire namaska est en dehors de la racine (inaccessible depuis le web).