Bonjour, je m'appelle

KOENIG Olivier

Développeur Full Stack PHP / Symfony

Je développe des applications web métier avec Symfony, des API TypeScript et des interfaces React ou Angular, en intégrant la sécurité dès la conception.

  • CRM Symfony mis en place pour CanalJob
  • 2ᵉ contributeur de GestaDRONE (~290 commits)
  • Tests automatisés : PHPUnit, Playwright, Cucumber
  • Sécurité applicative : OWASP, contrôle d’accès, audit des CVE automatisé en CI
  • Diplôme : Expert en informatique et SI, option Cybersécurité (RNCP niveau 7, Bac+5) — 2026
KO
KOENIG Olivier Développeur Full Stack PHP / Symfony
Localisation Montpellier (34)
Email olikoen@gmail.com

À propos

Je développe des applications web métier fiables, testées et sécurisées.

Développeur Full Stack orienté applications métier. Avec Symfony, j’ai mis en place le CRM de la plateforme CanalJob (Doctrine, Twig, formulaires). Pendant mon alternance chez Drone-Geofencing, j’ai été le 2ᵉ contributeur de GestaDRONE, un logiciel de supervision de flottes de drones (NestJS, tRPC, Prisma, React), et le 1ᵉʳ contributeur du front-end Angular de PETSHKA.

Mon titre d’Expert en informatique et SI, option Cybersécurité, m’a appris à intégrer la sécurité dès la conception : contrôle des accès, protection des données, veille sur les vulnérabilités des dépendances, automatisée dans la pipeline CI pour détecter et corriger une CVE dès sa publication. Je recherche un CDI de développeur full stack PHP / Symfony à Montpellier ou en télétravail partiel.

Langues · Français : langue maternelle · Anglais : technique (lecture de documentation) · Italien : intermédiaire · Créole mauricien : courant

Ce que je fais

  • Applications web métier avec Symfony : Doctrine, Twig, formulaires, back-offices
  • API REST et back-ends TypeScript : NestJS, tRPC, Prisma, PostgreSQL
  • Interfaces React et Angular connectées aux API
  • Tests automatisés : PHPUnit, Playwright, Cucumber
  • Sécurité applicative et CI/CD : OWASP, GitLab CI/CD, Docker
  • Administration Linux et virtualisation : Proxmox, Terraform, Ansible, Kali Linux

Expérience

Parcours professionnel

févr. 2025 — août 2026

Développeur Full Stack TypeScript en alternance (NestJS / React / Angular) @ Drone-Geofencing, Nîmes

Développement de GestaDRONE, logiciel de supervision de flottes de drones pour des clients défense, sécurité civile et énergie, et de PETSHKA, plateforme de traçabilité logistique. Près de 290 commits sur GestaDRONE, dont j’ai été le 2ᵉ contributeur. Alternance du titre Expert en informatique et SI.

TypeScript NestJS tRPC Prisma React Angular PostgreSQL Playwright
  • Développement full stack de modules GestaDRONE : exploitants, télépilotes, vecteurs, batteries et missions de vol
  • API typées NestJS / tRPC / Prisma, interfaces React et Angular, base de données PostgreSQL
  • Intégration de flux temps réel et connexion à l’API ManaDG pour l’inventaire des services
  • Tests end-to-end Playwright et Cucumber (Gherkin) sur le back-office ManaDG ; releases toutes les 2 à 3 semaines via GitLab CI/CD
  • Sécurité de l’infrastructure : bastion Guacamole, supervision Prometheus / Loki / Grafana, traitement et rapports d’incidents
juin 2024 — aujourd’hui (missions ponctuelles)

Développeur Full Stack PHP / Symfony @ CanalJob, Paris (à distance)

Mise en place du CRM de la plateforme CanalJob, qui met en relation établissements de formation, apprenants et entreprises. Commencé par un stage de 14 semaines (titre CDA) et poursuivi en missions ponctuelles, en itérations avec le Product Owner.

PHP Symfony Doctrine Twig EasyAdmin
  • Conception du modèle de données du CRM avec Doctrine : établissements, entreprises, contacts et partenaires
  • Création et gestion des établissements, apprenants et entreprises depuis le back-office
  • Import CSV avec sélection des lignes, export Excel et recherche multicritère
  • Gestion des différents profils utilisateurs : école, candidat et entreprise
déc. 2023 — aujourd’hui (missions ponctuelles)

Développeur Full Stack Freelance @ 4Thunes, Montpellier

Accompagnement de projets web variés, de l’amélioration de plateformes existantes à leur évolution technique. Les missions comprennent le travail sur les performances, la sécurité et la structure applicative, ainsi qu’une migration de WordPress vers une stack JavaScript moderne.

WordPress JavaScript
  • Amélioration des performances et de la structure d’applications web
  • Renforcement de la sécurité des plateformes existantes
  • Migration d’une plateforme WordPress vers une stack JavaScript moderne

Formation

Parcours de formation

nov. 2024 — août 2026

Expert en informatique et systèmes d’information, option Cybersécurité @ Diginamic, Montpellier

Titre RNCP 36286 · niveau 7 (Bac+5), certifié par 3W Academy

  • Conception et développement sécurisé : API FastAPI, JWT, contrôle d’accès par rôles
  • Audit de sécurité, test d’intrusion et analyse post-incident
  • Analyse de risques (EBIOS RM, CVSS), PSSI, RGPD et NIS2
  • Pilotage de projet Agile et stratégie SI
févr. 2024 — nov. 2024

Concepteur Développeur d’Applications C# / .NET @ Diginamic, Montpellier

Niveau 6 (Bac+3/4)

  • C# / .NET, ASP.NET, Entity Framework, Angular, UML et SQL
  • Projet fil rouge : réservation de véhicules et covoiturage
  • Stage de 14 semaines chez CanalJob : mise en place du CRM Symfony
juin 2023 — sept. 2023

Développeur Front End @ ENI École Informatique (à distance)

Formation de 399 h

  • HTML / CSS, JavaScript, Angular, React et Node.js
  • Algorithmique, programmation orientée objet en Java et SQL
  • Analyse et conception du projet Sortir.com : document de vision, cas d’utilisation, diagrammes de classes et d’états
  • TP React (composants, Context, appels d’API) et Node.js / Express / MongoDB
nov. 2021 — nov. 2022

Développeur Web et Web Mobile — DevOps @ ADRAR Formation, Montpellier

Titre professionnel · niveau 5 (Bac+2) · 1 687 h

  • Front-end et back-end en intégrant les recommandations de sécurité
  • Projet fil rouge : site Le Nouveau Monde en PHP MVC
  • Stage LabSud : comptes et droits utilisateurs, Keycloak, API Dolibarr

Projets

Quelques réalisations

Projets professionnels 7

▣ ↗

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.

Projets personnels 8

▣

Agenda partagé

React / TypeScript / NestJS / TypeORM

Application d’agenda collaboratif : chaque utilisateur gère ses événements, partage son calendrier et invite d’autres personnes à ses événements.

Stack & outils React TypeScript React Router Axios NestJS TypeORM SQLite JWT Passport bcrypt class-validator
Mes interventions
  • Front-end React + TypeScript : vue calendrier, formulaire d’événement, centre de notifications et routes protégées
  • API NestJS en modules : authentification, événements, partages de calendrier et invitations, y compris groupées
  • Inscription, connexion et changement de mot de passe : JWT avec Passport, mots de passe hachés avec bcrypt
  • Persistance avec TypeORM sur SQLite
Sécurité · OWASP
  • A01 Contrôle d’accès défaillant : Un utilisateur ne peut modifier que ses propres partages et n’accepte que ceux qui lui sont destinés
  • A05 Injection : Données reçues validées par des DTO class-validator (ValidationPipe)
  • A07 Défaillances d’authentification : Mots de passe hachés avec bcrypt, ancien mot de passe vérifié avant tout changement

Enjeu : Organiser un emploi du temps à plusieurs, avec des droits de partage clairs.

▣

Job Bot — veille d’offres d’emploi

TypeScript / Playwright / Prisma / CRON

Outil personnel qui collecte chaque jour les offres d’emploi de plusieurs sites, les filtre selon mon profil et m’envoie une synthèse par e-mail.

Stack & outils TypeScript Node.js Playwright Prisma SQLite node-cron Nodemailer Zod
Mes interventions
  • Collecte multi-sources : API France Travail et Adzuna, Indeed, HelloWork et Remotive (Playwright pour les pages web)
  • Filtrage par niveau et localisation, score de compatibilité avec mon profil, page de consultation filtrable
  • Exécution planifiée par CRON, stockage Prisma, notification par e-mail et tests unitaires
Tests
  • Unitaires Calcul du score de compatibilité et classement des offres par distance, avec le runner natif de Node.js
  • Réponses d’API simulées Normalisation des réponses Apify et SerpAPI, et extraction des offres HelloWork (JSON Next.js) et Indeed (JSON-LD) à partir de données simulées, sans appel réseau

Enjeu : Automatiser une recherche répétitive et ne garder que les offres vraiment pertinentes.

Projets de formation 9

▣

Audit de sécurité — Bastion Security

Audit / Pentest / Analyse de risques

Audit de sécurité de bout en bout de deux domaines, réalisé en binôme sur un périmètre autorisé dans le cadre du titre Expert en informatique et SI : cadrage, reconnaissance, tests d’intrusion, analyse de risques et restitution.

Stack & outils Kali Linux Nmap Amass theHarvester Gobuster Nikto Hydra WhatWeb Shodan SSL Labs CVSS v3.1 EBIOS RM
Mes interventions
  • Démarche inspirée du guide d’audit de l’ANSSI et du framework PTES : cadrage, collecte d’informations, analyse, évaluation des risques et restitution
  • Reconnaissance passive et active : DNS, sous-domaines (Amass, theHarvester), ports et services (Nmap), TLS noté A+ sur SSL Labs
  • Pentest en boîte grise : chemins sensibles (Gobuster), scan web (Nikto), résistance au brute force SSH (Hydra), vérification du WAF
  • Cotation des vulnérabilités en CVSS v3.1 (sous-domaines sensibles exposés : 7,5) et cartographie des risques inspirée des ateliers EBIOS RM
  • Plan de remédiation priorisé, axes de PSSI tenant compte du RGPD et de NIS2, indicateurs de suivi (KPI)
Sécurité · OWASP
  • A02 Mauvaise configuration de sécurité : Analyse des ports exposés, des en-têtes HTTP et de la CSP, avec recommandations de durcissement
  • A04 Défaillances cryptographiques : Analyse de la configuration TLS, notée A+ sur SSL Labs

Enjeu : Évaluer l’exposition réelle d’un site et prioriser les actions de durcissement.

▣

API REST sécurisée

Python / FastAPI / MariaDB

API REST développée en équipe de 4 dans le cadre du titre Expert en informatique et SI, avec une attention particulière portée à la sécurité.

Stack & outils Python FastAPI MariaDB SQLAlchemy OAuth2 JWT Argon2 Cryptography (AES) Pytest Swagger
Mes interventions
  • Architecture en couches : routeurs, services et repositories
  • Authentification OAuth2 (OAuth2PasswordBearer) avec jeton JWT et contrôle d’accès par rôles (RBAC), gestion des erreurs 401 et 403
  • Mots de passe hachés avec Argon2, données sensibles des clients chiffrées en AES avec la bibliothèque Cryptography
  • Validation du contrat d’interface avec des schémas Pydantic : types, formats et champs obligatoires contrôlés, protections contre l’injection
  • Limitation du nombre de requêtes (rate limiting) et taille maximale des requêtes
  • Tests Pytest unitaires et d’intégration, documentation Swagger
Tests
  • Unitaires Tests Pytest de la logique des services
  • Intégration Tests Pytest des routes de l’API, de la requête jusqu’à la base de données
Sécurité · OWASP
  • A01 Contrôle d’accès défaillant : Contrôle d’accès par rôles (RBAC) sur chaque route, réponses 401 et 403 distinctes
  • A04 Défaillances cryptographiques : Chiffrement AES des coordonnées clients et autres données sensibles (Cryptography)
  • A05 Injection : Validation du contrat d’interface avec Pydantic et contrôles anti-injection sur les données reçues
  • A07 Défaillances d’authentification : Authentification OAuth2 avec jetons JWT, mots de passe hachés avec Argon2
  • API4 Consommation de ressources non restreinte : Limitation du nombre de requêtes (rate limiting) et taille maximale des requêtes

Enjeu : Appliquer les bonnes pratiques de sécurité dès la conception d’une API.

Sécurité

Cybersécurité : de l’analyse de risques au code

Diplômé Expert en informatique et SI, option Cybersécurité (Bac+5). Quatre domaines, chacun appuyé sur des projets concrets.

Formation TP et projets Diginamic Alternance Drone-Geofencing Perso projets personnels

Développement sécurisé et DevSecOps

  • Veille sécurité : CVE, GitHub Security Advisories, OWASP Alternance
  • API FastAPI : OAuth2 / JWT, RBAC, Argon2, chiffrement AES, rate limiting Formation
  • Audit automatique des CVE des dépendances en CI Perso
  • Espace d’administration protégé par Symfony Security Perso

Défense et réponse à incident

  • Traitement et rapports d’incidents réels Alternance
  • Supervision Prometheus / Loki / Grafana, bastion Guacamole Alternance
  • Investigation post-incident et chaîne de preuves SHA-256 Formation
  • Forensic mémoire, registres et e-mails avec Volatility Formation

Projets réalisés 7

Compétences

Technologies et outils

Backend

PHP Symfony Doctrine ORM Composer Twig Symfony Forms EasyAdmin Node.js NestJS tRPC Prisma TypeORM Express FastAPI C# / ASP.NET Core Entity Framework Core

Frontend

React React Router Context API Next.js Vite Angular Angular Material TypeScript JavaScript HTML / CSS Tailwind CSS Material UI Bootstrap

API & données

API REST PostgreSQL MySQL / MariaDB SQLite MongoDB / Mongoose Zod Postman Swagger

Design & conception

Figma UX/UI UML Cahier des charges

Tests, outils & méthodes

PHPUnit Playwright Cucumber Pytest Git GitLab CI/CD GitHub Actions Jira Scrum Agile

Systèmes & infrastructure

Linux : Debian, Ubuntu, NixOS Administration système et Bash Durcissement SSH Virtualisation : Proxmox, VirtualBox Terraform Ansible Docker Nginx Prometheus / Loki / Grafana Réseau : TCP/IP, ARP, DNS, DHCP, sous-réseaux (CIDR) Serveur DNS BIND9

Sécurité

OWASP EBIOS RM CVSS v3.1 PTES RGPD / NIS2 Symfony Security JWT RBAC Keycloak (SSO) HTTPS / TLS Veille CVE automatisée en CI Audit et test d’intrusion Kali Linux Nmap Metasploit Hydra Wireshark Ettercap hping3 hashcat Volatility Fail2Ban

Contact

Discutons de votre poste.

Je recherche un CDI de développeur full stack PHP / Symfony, à Montpellier ou en télétravail partiel.