← Retour à l’accueil

Projets

Projets professionnels 7

Projets menés en entreprise et en freelance, chez Drone-Geofencing, CanalJob et pour mes clients 4Thunes.

▣ ↗

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.