Plateforme de gestion des intervenants – FEDE

https://intervenants.fede.education
Symfony JavaScript MySQL Microsoft Entra SharePoint Docker OVH
Formulaire intervenants – Étape 1

Présentation du projet

J’ai développé une plateforme complète permettant de gérer les candidatures des intervenants de la Fédération Européenne des Écoles. Ce projet s’inscrit au cœur du système d’information de la FEDE : il centralise les demandes, automatise les validations et crée les comptes intervenants directement dans Microsoft Entra (Azure AD), afin de permettre l’accès aux différentes applications internes.

Le système repose sur un formulaire multi‑étapes avancé, un workflow métier structuré, un audit log détaillé, une gestion fine des rôles et des permissions, ainsi qu’une intégration profonde avec les services Microsoft (Entra, SharePoint) et les services AWS déjà en place. Les documents (CV, pièces justificatives) sont automatiquement envoyés dans SharePoint, tandis que les comptes intervenants sont créés et configurés via l’API Entra.

Ce projet a été réalisé en autonomie quasi totale, en collaboration directe avec les équipes pédagogiques et administratives. J’ai conçu l’architecture, développé le front et le back, mis en place les intégrations cloud, sécurisé les endpoints, et déployé l’ensemble sur le VPS OVH via un environnement Docker. Le résultat est une application robuste, maintenable et utilisée quotidiennement pour gérer les intervenants du réseau FEDE.

Frontend

  • Twig + JavaScript pur
  • Formulaire multi‑étapes dynamique (validation progressive)
  • Affichage intelligent des catégories de matières
  • Gestion des rôles intervenants (UI dédiée)
  • Récapitulatif complet avant validation
  • UX claire, structurée et pensée pour les équipes pédagogiques

Infra & Cloud

  • Déploiement sur VPS OVH
  • Environnement Docker (multi‑services)
  • Microsoft Entra (authentification + provisioning utilisateurs)
  • SharePoint (stockage documentaire)
  • Intégration AWS Lambda / SQS pour les tâches asynchrones
  • Gestion des permissions et sécurité des endpoints

Backend

  • Workflow multi‑étapes (soumission → validation → création compte)
  • SQL : candidatures + pièces jointes
  • Provisioning automatique via Microsoft Entra (Azure AD)
  • Rôles & permissions dynamiques
  • Endpoints sécurisés (intégrations internes)
  • Statuts : à traiter / accepté / refusé / modifié
  • Audit log complet (actions & transitions)
  • SharePoint : stockage CV & documents
  • AWS : Lambda / SQS (automatisations)

Générations de PDF – FEDE

Python AWS Lambda

Présentation du projet

J’ai développé un service complet de génération de documents PDF automatisés pour la Fédération Européenne des Écoles. L’objectif était de produire des documents complexes à partir de données métier, avec une mise en page dynamique, des sections conditionnelles, des tableaux, des fusions de pages et une pagination intelligente.

Le cœur du système repose sur une Lambda AWS écrite en Python, utilisant ReportLab pour la génération programmatique et PyPDF2 pour la fusion et la manipulation des pages. Le service récupère les données, construit le document, applique les règles métier, puis stocke le PDF final dans un bucket S3 via des URLs pré‑signées.

Ce projet m’a demandé d’apprendre rapidement un nouvel environnement technique, de comprendre un workflow métier complet et de livrer un outil fiable utilisé quotidiennement par les équipes internes. J’ai travaillé en autonomie guidée : accompagné lorsque nécessaire, mais responsable de l’analyse et de l’implémentation du service, ainsi que de son intégration avec l’intranet existant.

Le résultat est un service robuste, maintenable et automatisé, qui a permis de réduire significativement le temps de production documentaire tout en améliorant la qualité et la cohérence des documents générés.

Frontend

  • Interface interne pour déclencher la génération
  • Formulaire de sélection des données à intégrer
  • Affichage des documents générés
  • Gestion des erreurs et retours utilisateur
  • Intégration dans l’écosystème FEDE existant

Infra & Cloud

  • AWS Lambda (serverless)
  • AWS S3 (stockage des PDF)
  • IAM (permissions minimales)
  • CloudWatch (logs & monitoring)
  • Intégration avec les API internes FEDE
  • Déploiement automatisé via pipeline interne

Backend

  • Lambda AWS en Python
  • Génération PDF avancée (ReportLab)
  • Fusion et manipulation de pages (PyPDF2)
  • Règles métier complexes (sections conditionnelles)
  • Pagination dynamique
  • Stockage S3 via presigned URLs
  • Gestion des erreurs et logs structurés
  • Documentation technique complète

Equivalences – FEDE

https://intervenants.fede.education
React JavaScript Node.js AWS S3 Api Stripe
Formulaire intervenants – Étape 1

Présentation du projet

Ce projet permet aux écoles partenaires de soumettre des demandes d’équivalences afin d’inscrire un étudiant directement à un certain niveau, à condition qu’il fournisse les justificatifs nécessaires (diplôme équivalent, expérience professionnelle, certifications, etc.). Le système applique un ensemble de règles métier structurées pour garantir une décision cohérente, fiable et standardisée.

L’interface est développée en React avec une logique orientée composant : formulaires dynamiques, validation en temps réel, gestion des états, upload des fichiers, messages d’erreur contextualisés et sélection de la langue. L’ensemble du parcours est entièrement multilingue grâce à une couche i18n (FR/EN) qui gère la traduction des labels, des messages métier et des retours d’erreur.

Le frontend communique avec une API interne en Node.js qui contient le moteur d’équivalences, la gestion des règles métier, les contrôles d’intégrité, la création des sessions Stripe, le traitement du webhook et l’envoi automatique des emails. Les pièces justificatives sont stockées dans AWS S3 et toutes les opérations critiques sont monitorées via CloudWatch.

Le workflow complet : sélection du pays et du niveau → remplissage du formulaire → upload des pièces justificatives → validation → création de la session Stripe → paiement → webhook Stripe → génération du résultat → envoi automatique des emails (école + FEDE) avec les pièces jointes stockées dans S3.

Frontend

  • React
  • React Hooks & State Management
  • Formulaires dynamiques
  • Validation en temps réel
  • Upload de fichiers
  • i18n (FR/EN) – JSON versionnés
  • Gestion des erreurs contextualisées
  • Appels API sécurisés

Infra & Cloud

  • AWS Lambda (serverless)
  • AWS S3 (stockage des pièces + règles + i18n)
  • AWS CloudWatch (logs & monitoring)
  • CI/CD léger
  • Gestion des environnements
  • Sécurisation des accès

Backend

  • Node.js
  • API interne custom
  • Moteur d’équivalences (règles métier)
  • Gestion des exceptions
  • Stripe (session + webhook)
  • Envoi automatique d’emails
  • Validation des données
  • i18n backend (messages métier traduits)

Compétences

Back-end

  • PHP
  • Symfony
  • Node.js
  • SQL
  • API
  • Sécurité & authentification (JWT, rôles)
  • Tests & qualité (PHPUnit, clean code)

Front-end

  • Html
  • Css
  • Bootstrap
  • React
  • Javascript
  • Intégration

Cloud/Devops

  • AWS (Lambda, S3, CloudFront, IAM)
  • Microsoft Entra
  • Docker
  • Postman
  • CI/CD (GitHub Actions)
  • Monitoring & logs
  • Déploiements automatisés

Soft Skill

  • Autonomie
  • Organisation rigoureuse
  • Communication claire
  • Résolution de problèmes complexes
  • Pensée critique & logique

Montée en compétences IA

Concepts de mon réseau neuronal

Neurone artificiel

Entrées → poids → somme → activation. C’est l’unité de base du réseau.

Poids & biais

Paramètres appris par le modèle. Les poids contrôlent l’influence, le biais décale la sortie.

Fonction d’activation

ReLU utilisée pour introduire de la non-linéarité et stabiliser l’apprentissage.

Forward pass

Calcul de la prédiction du réseau avant comparaison à la vérité terrain.

Backpropagation

Mécanisme d’ajustement des poids basé sur le gradient de la fonction de perte.

Fonction de perte

Mesure de l’erreur du modèle (MSE, Cross-Entropy selon la tâche).

Optimiseur

Algorithmes comme SGD ou Adam pour mettre à jour les poids efficacement.

Architecture dense

Réseau composé de couches fully connected (Dense), nombre de couches et de neurones par couche.

* Le réseau neuronal est dispo dans la section compétences et sur mon Github

Étape suivante de mon apprentissage

Étape 1

Premier MLP complet

Construire un réseau fully connected avec plusieurs couches denses et ReLU entre chaque couche.

Étape 2

Pipeline d’entraînement

Mettre en place une boucle d’entraînement complète : forward, perte, backpropagation, optimisation.

Étape 3

Projet concret

Entraîner ce MLP sur un dataset simple (ex : classification MNIST ou binaire) et analyser les résultats.