Aller au contenu
Tous les projets
Code privéProjet personnelWeb2026

IntraForm

Le logiciel de gestion d'un centre de formation : vitrine publique, candidatures, sessions, planning, présences, évaluations et progression, dans un monolithe modulaire Symfony.

Vitrine publique d'un centre de formation géré avec IntraForm

Le point de départ

Un centre de formation jongle entre tableurs, e-mails et outils séparés : les candidatures d'un côté, le planning de l'autre, les présences sur papier. Chaque organisme n'a pas besoin des mêmes fonctions, mais toutes doivent partager les mêmes données.

L'approche choisie

  1. 01

    Un monolithe modulaire Symfony 7.4 : chaque fonctionnalité est un module activable, sans perte de données à la désactivation.

  2. 02

    Un dossier apprenant unique et historisé : candidat, accepté, actif, puis ancien apprenant, avec ses documents.

  3. 03

    Un planning qui empêche les conflits de salles et respecte les disponibilités des formateurs.

  4. 04

    Une SPA React en TypeScript strict, qui reprend l'interface de Formation+, avec un tableau de bord par profil.

Tableau de bord administrateur d'IntraForm : formations, candidatures, sessions, satisfaction
Planning d'IntraForm : créneaux par formateur et par salle, conflits refusés
Liste des sessions d'IntraForm avec places occupées et statut

Sous le capot

Monolithe modulaire

Un seul déploiement et une seule base, mais des modules aux frontières nettes : plus simple à exploiter que des microservices pour un organisme.

Rôles et permissions

Rôles multiples, matrice de permissions et contrôles par objet : un formateur ne voit que ses sessions.

Docker Compose

Nginx, PHP-FPM, PostgreSQL, Mercure et Mailpit : migrations et données de démonstration appliquées au premier démarrage.

Ce que j'ai construit

  • Catalogue public et parcours de formation
  • Candidatures et dossiers apprenants
  • Sessions, capacité et inscriptions
  • Salles et créneaux sans conflit
  • Appel par créneau, retards et justificatifs
  • Référentiels de compétences et évaluations
  • Enquêtes de satisfaction et témoignages
  • Progression calculée par le serveur
  • Authentification JWT avec jeton de rafraîchissement
  • Journal d'activité

Bilan et perspectives

Fonctionnel, avec un organisme de démonstration. Tests PHPUnit unitaires et fonctionnels, dont un audit automatisé de toutes les routes, et un test de fumée Playwright.

  • Un seul organisme par installation.
  • Code privé.

Projet suivant

Tamashii

Visionneuse d'avatars 3D VRM dans le navigateur : animations, expressions, éclairage et photos.

Tamashii : un avatar VRM en 3D avec les panneaux expressions, regard et matériaux