Skip to main content

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)