Framework
3. Structure technique du framework
3.1 Technologies utilisées
Le framework est développé en PHP 8.2+ en respectant les standards PSR-4 pour l'autoloading. Il utilise :
-
Sessions PHP natives et cookies cross-domain
-
Un ORM maison sans dépendance externe
-
HTML5, CSS3, et JS vanilla (ou bibliothèques ciblées en complément)
-
Nginx en reverse proxy, serveurs Apache pour les VM applicatives
-
Authentification LDAP via Active Directory en complément de l'authentification interne
-
Base de données MySQL/MariaDB
3.2 Organisation des fichiers et dossiers
La structure du projet est la suivante :
/framework/
├─ app/
│ ├─ Config/ # Fichiers globaux init/config/database
│ ├─ Core/ # ORM, Controller, View...
│ ├─ Modules/ # Modules communs : User, Admin, Common...
│ ├─ Helpers/ # Fonctions utilitaires partagées
│ └─ public/ # Front controller principal du framework
/applications/
└─ <nom_app>/
├─ Config/ # config/app_config.php
├─ Controllers/ # Contrôleurs métiers
├─ Models/ # Modèles liés au framework ORM
├─ Views/ # Pages affichables (.php)
├─ Assets/ # CSS/JS/images propres au module
└─ public/ # index.php du module (front controller local)
3.3 Fonctionnement du front controller principal
Le front controller principal est responsable de :
-
Initialiser l’environnement du framework (sessions, configuration, autoload)
-
Identifier le module appelé selon l’URL ou la session active
-
Contrôler les droits d’accès au module et à la fonctionnalité demandée
-
Charger dynamiquement les assets du module (JS/CSS)
-
Afficher le
header.phpglobal contenant le menu et les informations de session -
Injecter dynamiquement le contenu principal en provenance du module actif
3.4 Sécurité et gestion des sessions
-
Authentification unique via le sous-domaine
auth.tarbouriech.tech -
Session utilisateur initialisée via
init.phpdu framework, avec cookie à portée domaine.tarbouriech.tech -
Vérification systématique des droits d’accès avant l’exécution de toute action
-
Support de l’authentification LDAP avec fallback vers base locale
-
Anti-CSRF prévu pour les formulaires sensibles
-
Intégration future de journaux de session et de logs d’accès centralisés
No comments to display
No comments to display