Présentation de la solution
2.1 Architecture globale
PourUn répondreframework àmodulaire cettecomposé ambition,d'un lenoyau choix a été faitet de développermodules unapplicatifs dynamiquement intégrés.
Le framework maison en PHP, reposantrepose sur une architecture modulaire,modulaire avecinspirée undu ORMmodèle propriétaire,MVC simplifié. Le cœur du système gère l’initialisation, les connexions, l’interface utilisateur commune, les sessions et intégrantles nativementdroits uned’accès. gestion fine des utilisateurs et des permissions.
🧱 Structure générale :
Framework modulaire :
- Chaque application métier ("module") est intégrée dynamiquement dans le framework via un front controller unique, qui identifie l'application active, charge les composants nécessaires, et gère l'affichage du menu, des droits et du dashboard associé.
2.2 Approche modulaire
Chaque application est un module
indépendant,totalementhébergéisolédansmais/applications/<nom>.interopérable.Chaque module applicatif contient sa propre logique :
-
Un dashboard local listant ses fonctionnalités sous forme de tuiles.
Interface,Un menu contextuel vertical, surgissant et épinglable.
-
Ses contrôleurs, modèles, vues, assets, configuration locale.
-
Un front controller interne spécifique à l’application.
Ces modules sont autonomes, mais utilisent l’interface commune du framework (header, session, droits,
vues,chargement).controllers2.3 Vision long terme
Créer une interface unique et
modèlescollaborativesontpourproprestousàleschaqueacteursmodule,internes.maisCe projet s’
intègrentinscrit dans unestructurevisioncommune.plus large d’urbanisation du système d’information :
-
-
DashboardOffrir
accèscentralundynamique:personnalisé Afficheetlescentralisétuilesàdes fonctionnalitésdisponibles pour l’utilisateur (droits contextuels).Intègre aussi des liens externes verstous les outilsutiliséspertinents.au quotidien (webmail, cloud, fournisseurs, prestataires…).Unemarge latérale (25%)sera réservée à un futur module intranet/blog interne.Connexion centraliséevia un point d’entréeauth.tarbouriech.tech.Double mode d’authentification possible :Authentification interne(utilisateurs définis dansHarmoniser labase).logique - de
Authentification LDAPviaserveur Active Directory (AD)navigation pour lescollaborateursutilisateursexistants.internes et externes. GestionDévelopper des
sessionsservicessécurisée,collaboratifspartagée:surunlesintranetsous-domainesd’entreprise,(cookiesdes widgets partagés, des alertes système..tarbouriech.tech).-
Fournir
long🧠unORMsoclemaisonà:Pourterme, indépendant de frameworks tiers, pour assurer lapérennitémaîtrise du code etla maîtrise complètede lacoucheroadmapmétier, unORM propriétairea été développé.fonctionnelle.Fonctionnalités de l’ORM :Méthodes standard :save(),update(),delete(),restore(),forceDelete()Support dessoft deleteset destransactionsSystème derelations : hasOne(), hasMany(), belongsTo()Pagination,recherche,scopes personnalisésTimestamps automatiquesHooks personnalisés(beforeSave,afterDelete, etc.)Chargement dynamique des propriétés et protection stricte contre les injections.
🛠️ Technologies utilisées :PHP 8.2+Autoloading PSR-4Sessions natives sécuriséesORM propriétaire 100% customHTML5 / CSS3 (avec Tailwind dans les futures évolutions)LDAP (avec fallback en interne)Base de données relationnelle(MySQL/MariaDB)Reverse Proxy NGINX,serveurs Apachesur VM internesAuthentification centralisée via ADLogs, dashboard et supervision (Grafana en lien via tuiles)
🔐 Authentification :