Skip to main content

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.php global 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.php du 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