Skip to main content

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,totalement hé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).

    controllers

    2.3 Vision long terme

    Créer une interface unique et modèlescollaborative sontpour proprestous àles chaqueacteurs module,internes.

    mais

    Ce projet s’intègrentinscrit dans une structurevision commune.

  • plus large d’urbanisation du système d’information :

    • Dashboard

      Offrir centralun dynamiqueaccès :

    • personnalisé
    • Afficheet lescentralisé tuilesà des fonctionnalités disponibles pour l’utilisateur (droits contextuels).
    • Intègre aussi des liens externes verstous les outils utiliséspertinents.

      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 dansHarmoniser la base).
    • logique
    • de Authentification LDAP via serveur Active Directory (AD)navigation pour les collaborateursutilisateurs existants.internes et externes.

    • Gestion

      Développer des sessionsservices sécurisée,collaboratifs partagée: surun lesintranet sous-domainesd’entreprise, (cookiesdes widgets partagés, des alertes système..tarbouriech.tech).


  • Fournir

    🧠un ORMsocle maisonà :

    long

    Pourterme, indépendant de frameworks tiers, pour assurer la pérennitémaîtrise du code et la maîtrise complète de la coucheroadmap métier, un ORM propriétaire a été développé.fonctionnelle.

    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)