Solution technique
Pour répondre à cette ambition, le choix a été fait de développer un framework maison en PHP, reposant sur une architecture modulaire, avec un ORM propriétaire, et intégrant nativement une gestion fine des utilisateurs et des permissions.
🧱 Structure générale :
Framework modulaire :
- Chaque application métier est un module indépendant, hébergé dans /applications/<nom>.
- Interface, droits, vues, controllers et modèles sont propres à chaque module, mais s’intègrent dans une structure commune.
- Dashboard central dynamique :
- Affiche les tuiles des fonctionnalités disponibles pour l’utilisateur (droits contextuels).
- Intègre aussi des liens externes vers les outils utilisés au quotidien (webmail, cloud, fournisseurs, prestataires…).
- Une marge latérale (25%) sera réservée à un futur module intranet/blog interne.
🔐 Authentification :
- Connexion centralisée via un point d’entrée auth.tarbouriech.tech.
- Double mode d’authentification possible :
- Authentification interne (utilisateurs définis dans la base).
- Authentification LDAP via serveur Active Directory (AD) pour les collaborateurs existants.
- Gestion des sessions sécurisée, partagée sur les sous-domaines (cookies .tarbouriech.tech).
🧠 ORM maison :
Pour assurer la pérennité et la maîtrise complète de la couche métier, un ORM propriétaire a été développé.
Fonctionnalités de l’ORM :
- Méthodes standard : save(), update(), delete(), restore(), forceDelete()
- Support des soft deletes et des transactions
- Système de relations : hasOne(), hasMany(), belongsTo()
- Pagination, recherche, scopes personnalisés
- Timestamps automatiques
- Hooks 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-4
- Sessions natives sécurisées
- ORM propriétaire 100% custom
- HTML5 / CSS3 (avec Tailwind dans les futures évolutions)
- LDAP (avec fallback en interne)
- Base de données relationnelle (MySQL/MariaDB)
- Reverse Proxy NGINX, serveurs Apache sur VM internes
- Authentification centralisée via AD
- Logs, dashboard et supervision (Grafana en lien via tuiles)