CanalJob
PHP / Symfony / Doctrine / CRM
Plateforme d’emploi, d’alternance et de formation qui met en relation écoles, apprenants et entreprises. J’ai mis en place le CRM Symfony module par module (entreprises, écoles, contacts, requêtes, mises à jour), avec à chaque étape une démonstration au Product Owner, puis le merge et la mise en production.
Stack & outils
PHP
Symfony
Doctrine
Twig
Symfony Forms
Security
EasyAdmin
PhpSpreadsheet
Mes interventions
- Conception des entités Doctrine du CRM : établissements, entreprises, contacts et partenaires
- Back-office complet de création, modification et suppression avec formulaires Symfony et Twig
- Import de fichiers CSV avec sélection des lignes à enregistrer, et export Excel
- Recherche multicritère sur les écoles, les entreprises et leurs contacts
Enjeu : Centraliser l’administration de la plateforme et des trois publics qu’elle relie dans un outil unique.
Gestadrone
NestJS / tRPC / Prisma / React / Supervision de flotte
Logiciel de supervision de flottes de drones pour des clients défense, sécurité civile et énergie. J’ai réalisé près de 290 commits sur la v2, ce qui fait de moi le 2ᵉ contributeur du projet, du schéma Prisma jusqu’aux écrans React.
Stack & outils
TypeScript
NestJS
tRPC
Prisma
PostgreSQL
React
Tailwind CSS
Zod
API
CRON
Sécurité
Figma
Mes interventions
- API REST de plus de 100 endpoints (NestJS, tRPC, Prisma) et plus de 30 pages et modales React
- Module Exploitant : informations générales, déclarations, protocoles d’accord et centres de profit
- Télépilotes et vecteurs : état civil, compétences, planning, propriétaires, batteries et charges utiles
- Missions de vol : objectifs, export de dossier et reporting d’activité
- Stockage des fichiers avec règles de rétention et purge automatique par tâche CRON
Enjeu : Centraliser les informations utiles et rendre le pilotage des opérations plus fluide pour les équipes.
PETSHKA
Angular / Prisma / Figma / Traçabilité industrielle
Plateforme industrielle de traçabilité logistique. J’ai porté le projet de l’expression du besoin jusqu’au développement : cahier des charges, maquettes, modélisation de la base de données et interfaces métier. Je suis le 1ᵉʳ contributeur du front-end.
Stack & outils
Angular
TypeScript
Tailwind CSS
NestJS
Prisma
PostgreSQL
Swagger
Figma
Mes interventions
- Rédaction du cahier des charges et conception des maquettes dans Figma
- Modélisation de la base de données PostgreSQL avec Prisma
- Front-end Angular : modules Transporteurs, Circuits de collecte et Reporting avec affichage PDF
- Plus de 100 commits sur le front-end Angular et 40 sur le back-end NestJS
Enjeu : Proposer des parcours adaptés au contexte industriel, avec une information claire et exploitable.
StationDrone
Application web / IA / Front-end / Intégration API
Application web de pilotage de stations de drones, avec un back-office d’administration des modèles d’IA de détection (départs de feux, personnes, véhicules) et des scénarios qui les combinent. J’ai travaillé de la maquette Figma jusqu’au front-end connecté aux API.
Stack & outils
Figma
UX/UI
API
Playwright
Cucumber
Sécurité
Mes interventions
- Conception de maquettes et de prototypes dans Figma
- Développement du front-end du back-office : librairie des modèles d’IA, scénarios, versions
- Récupération et affichage des données via les API du back-end
Tests
-
Unitaires
Composants et fonctions du front-end testés isolément
-
End-to-end
Scénarios Gherkin exécutés par Cucumber et Playwright dans un vrai navigateur : librairie des modèles d’IA, scénarios et versions
-
Mocks d’API REST
Réponses du back-end interceptées et simulées avec Playwright pour tester l’interface sans serveur, y compris les cas d’erreur
-
Recette
Vérification fonctionnelle de chaque livraison avant sa mise en production
Enjeu : Rendre la configuration des traitements IA accessible depuis une interface simple, sans intervention technique.
ManaDG — tests E2E
Playwright / Cucumber / Gherkin / Back-office
ManaDG est le back-office de gestion des clients, des offres et des licences de Drone-Geofencing. J’y ai mis en place des tests end-to-end automatisés, écrits en langage naturel (Gherkin) et exécutés avec Playwright.
Stack & outils
Playwright
Cucumber
Gherkin
TypeScript
Mes interventions
- Rédaction de scénarios Gherkin et implémentation des étapes avec Cucumber et Playwright
- Couverture des parcours du back-office : utilisateurs, clients et offres
- Détection et correction des bugs révélés par les tests
Tests
-
End-to-end
Scénarios Gherkin exécutés par Cucumber et Playwright dans un vrai navigateur : utilisateurs, clients et offres
Enjeu : Fiabiliser les livraisons en vérifiant automatiquement les parcours critiques du back-office.
▣
4Thunes — migration de plateforme
WordPress → NestJS / Next.js / Freelance
Refonte d’une plateforme de podcasts et de livres audio, initialement sous WordPress, vers une architecture moderne avec une API NestJS et un front-end Next.js.
Stack & outils
NestJS
Next.js
TypeScript
WordPress
Mes interventions
- Conception de la nouvelle architecture : API NestJS et front-end Next.js
- Développement de la plateforme et reprise des fonctionnalités de l’ancien site WordPress
- Déploiement et mise en production
Enjeu : Sortir d’un CMS limitant pour gagner en performances et en liberté d’évolution.
▣
Drone-Geofencing — sécurité de l’infrastructure
Supervision / Bastion / Réponse à incident
Pendant mon alternance, en parallèle du développement, j’ai participé à l’exploitation et à la sécurisation de l’infrastructure de l’entreprise : accès d’administration, supervision et traitement des incidents, chacun documenté dans un rapport.
Stack & outils
Proxmox
Terraform
Debian
NixOS
Docker
Apache Guacamole
Prometheus
Loki
Grafana
Alertmanager
Ansible
Fail2Ban
OpenSSL
Mes interventions
- Machines virtuelles sur l’hyperviseur Proxmox, dont la VM de supervision créée avec Terraform ; serveurs Debian et NixOS
- Bastion d’administration Apache Guacamole sous Docker pour centraliser et tracer les accès aux serveurs
- Supervision et centralisation des journaux : Prometheus, Loki, Grafana et Alertmanager, agents déployés avec Ansible
- Incident sur une VM de sauvegarde exposée et saturée par les scans d’Internet : cause racine, fermeture des ports entrants, durcissement SSH, Fail2Ban
- Panne TLS du serveur de messagerie : clé privée et certificat dépareillés par deux tâches de renouvellement concurrentes, diagnostic avec OpenSSL
- Tempête de broadcast sur le réseau local : isolement de la boucle switch par switch, remise en service et actions préventives (STP, storm control)
Sécurité · OWASP
-
A02
Mauvaise configuration de sécurité : Suppression d’une exposition inutile : aucun port entrant sur une VM qui n’envoie que des sauvegardes
-
A04
Défaillances cryptographiques : Diagnostic et correction d’une panne de handshake TLS sur le serveur de messagerie
-
A07
Défaillances d’authentification : Accès d’administration centralisés derrière un bastion, connexion root désactivée
-
A09
Journalisation et alerte : Centralisation des journaux et alertes avec Loki, Prometheus et Alertmanager
Enjeu : Garder la maîtrise des accès et détecter vite les anomalies pour limiter l’impact des incidents.