Igal Ilmi Amir · Développeur full stack senior · Nantes

Back-end d'origine, full stack dans la pratique.Et à l'aise sur n'importe quelle stack.

Ma méthode de pilotage d'agents IA, avec Claude Code, me permet d'aborder n'importe quelle technologie et n'importe quel métier avec la même rigueur. Mes projets le montrent : Go, NestJS, React, Next.js, dont deux déjà en production.

PHP et Symfony sont mon cœur de métier. Sur une mission grand compte du secteur public, je suis monté très vite en compétences sur Angular, jusqu'à piloter des migrations critiques. Depuis plus de cinq ans, je conçois, je développe et je mets en production des applications métier complexes.

Ouvert à un CDI senior ou à un rôle de référent technique.

01 / Preuves

Trois résultats, mesurés sur des missions réelles.

3

applications critiques migrées sans interruption de service

Symfony 4 et 5 vers 6, Angular 15 vers 21. Des centaines d'utilisateurs n'ont rien remarqué, et c'était précisément le but.

30 % →70 %

de conformité RGAA sur un projet d'envergure

Une initiative que j'ai pilotée de bout en bout : audit, priorisation, puis corrections.

−78 %

de temps de traitement

En reprenant une à une des requêtes SQL complexes, plan d'exécution sous les yeux.

02 / Projets

Quatre projets, aucun en PHP ni en Angular.

Go, TypeScript full stack avec NestJS et React, Next.js : des stacks que je n'utilise pas en mission, abordées avec la même méthode et la même exigence. Deux tournent déjà en production.

P/01

SportTag

SaaS de réservation multi-sports · en construction

Réservation au créneau, packs découverte multisports, mode 100 % féminin et portefeuille prépayé rechargeable. L'architecture hexagonale et le DDD s'appliquent au back-end comme au front, avec des contextes métier isolés : identité, catalogue, partenaire, réservation, pass, portefeuille. Le portefeuille est tenu en grand livre, en ajout seul.

contextes métier isolés
6

Règles de dépendance vérifiées automatiquement en CI, une douzaine de décisions d'architecture documentées en ADR, et la spécification toujours écrite avant le code.

  • TypeScript strict
  • pnpm
  • Turborepo
  • NestJS
  • Fastify
  • React 19
  • Vite
  • PWA
  • TanStack Router
  • Tailwind CSS 4
  • PostgreSQL
  • Drizzle ORM
  • Zod
  • i18next
  • Vitest
  • Playwright
  • Testcontainers
  • dependency-cruiser
  • Docker
  • GitLab CI

En construction · dépôt non public

Recherche de créneaux par sport et par horaire
Recherche de créneaux par sport et par horaire
Mode de réservation réservé aux femmes
Mode de réservation réservé aux femmes
Pack découverte multisports
Pack découverte multisports

Captures réelles de l'application : données de démonstration, aucune information réelle n'y figure.

P/02

BudgetColoc

Gestion budgétaire pour trois colocataires

Charges communes fixes et récurrentes, contributions mensuelles avec un historique sur douze mois, recettes partagées dont les ingrédients s'ajoutent directement à la liste de courses, notes partagées avec notifications push. Le back-end en Go suit une architecture hexagonale, le front est une PWA installable.

Sessions et limitation de débit sous Redis, JWT avec refresh token en cookie httpOnly, Web Push (VAPID) via un service worker personnalisé, déploiement automatique sur VPS.

  • Go 1.23
  • Fiber
  • pgx
  • PostgreSQL 16
  • Redis 7
  • React 19
  • TypeScript strict
  • Vite
  • Tailwind CSS 4
  • React Router 7
  • PWA
  • golang-migrate
  • Docker
  • Traefik
  • GitLab CI/CD

En production · accès privé, aucun lien public

Recette partagée, ingrédients ajoutés directement à la liste de courses
Recette partagée, ingrédients ajoutés directement à la liste de courses
Profil partagé : nom et email visibles par les colocataires
Profil partagé : nom et email visibles par les colocataires

Captures réelles de l'application : données de démonstration, aucune information réelle n'y figure.

P/03

Album

Album photo familial privé

Un album qui suit la croissance d'un enfant sur une frise chronologique, avec des photos regroupées par mois et par âge. Import depuis Google Photos via OAuth, dates lues dans les métadonnées EXIF, miniatures générées côté serveur.

Visionneuse plein écran avec gestes tactiles, mode hors ligne, et deux accès par mots de passe distincts, l'un pour la famille, l'autre pour le propriétaire.

  • Next.js 16 (App Router)
  • React 19
  • TypeScript
  • SQLite (better-sqlite3)
  • sharp
  • exifr
  • jose
  • Tailwind CSS 4
  • PWA
  • Docker
  • Traefik
  • GitLab CI/CD

En production · accès privé, aucun lien public

La frise chronologique, groupée par âge
La frise chronologique, groupée par âge
Visionneuse plein écran
Visionneuse plein écran
Remonter le temps : sauter directement à un âge
Remonter le temps : sauter directement à un âge

Captures réelles de l'application : prénom et photo factices, aucune vraie photo de famille n'y figure.

P/04

Vaulte

Partage de documents sensibles

Une plateforme privée pour échanger des documents qui ne doivent pas circuler. Le cercle d'accès est volontairement réduit, c'est un choix de conception. Connexion par lien magique envoyé par email, sessions JWT signées en RS256, aucun mot de passe à stocker.

  • Go
  • Fiber
  • PostgreSQL
  • Redis
  • TypeScript
  • Tailwind CSS
  • Docker

Démo privée. L'accès est restreint par conception, il n'existe donc pas de lien public.

Partage d'un dossier de documents sensibles
Partage d'un dossier de documents sensibles
Tableau de bord : pièces attendues et documents récents
Tableau de bord : pièces attendues et documents récents

Captures réelles de l'application : données de démonstration, aucune information réelle n'y figure.

03 / Pilotage IA

Avec mes agents IA, je m'adapte à n'importe quelle stack. Et je reste aux commandes.

J'ai surtout travaillé en PHP et en Angular. Mes projets récents tournent pourtant en Go, en NestJS ou en Next.js, et deux sont en production. L'IA ne code pas à ma place : je pilote Claude Code avec une méthode où chaque agent suit les mêmes règles qu'un développeur de l'équipe.

  1. 01CadrerCLAUDE.md

    Des instructions globales et par projet, rangées dans des fichiers CLAUDE.md, fixent les conventions et les règles de sécurité avant la première ligne de code.

  2. 02Spécifierspec et ADR

    La spécification passe avant le code, et chaque décision d'architecture est consignée dans un ADR. Un agent qui reprend le projet sait pourquoi il est construit ainsi.

  3. 03Outillerskills versionnés

    Des skills réutilisables et versionnés dans Git : vérifier une page dans le navigateur, reprendre et clore une session avec mémoire, appliquer l'architecture hexagonale, auditer la sécurité, administrer un système, optimiser un prompt. Je les écris et je les fais évoluer moi-même.

  4. 04Déléguersous-agents

    Des sous-agents spécialisés prennent chacun une partie du travail, avec un périmètre clair et rien de plus.

  5. 05Suivrekanban en fichiers

    Un kanban en fichiers. L'emplacement du ticket dans l'arborescence est la seule source de vérité, si bien que deux statuts ne peuvent jamais se contredire.

  6. 06Protégergarde-fous

    Aucune suppression destructive, aucune élévation de privilèges, et une confirmation obligatoire avant toute action réseau.

  7. 07Vérifierrevue et tests

    Revue de code et tests avant chaque commit. Rien ne part sans avoir été vérifié.

C'est moi qui décide et qui valide. Les agents exécutent, dans un cadre qui rend leur travail fiable, quelle que soit la technologie.

04 / Compétences

Ce que j'utilise en production et dans mes projets, rangé par famille.

Backend
PHP 8, Symfony 6 et 7, API Platform, Go, Fiber, NestJS, Node.js, TypeScript, PostgreSQL, MySQL, Redis, SQLite, Drizzle ORM, authentification JWT et OAuth
Frontend
Angular 15 à 21, React 19, Next.js, TypeScript, Tailwind CSS, Vite, TanStack Router, React Router, Angular Material, PWA (service workers, notifications push), i18next
Qualité
TDD, PHPUnit, Vitest, Jasmine, Playwright, Testing Library, jest-axe, Testcontainers, SonarQube, dependency-cruiser, revue de code
DevOps
Docker, GitLab CI/CD, Jenkins, OpenShift, Kubernetes, Traefik, Dokploy, déploiement sur VPS Linux
Accessibilité
RGAA, WCAG 2.1, audit et mise en conformité
Architecture
Hexagonale (ports et adapters), DDD, CQRS, ADR, monorepo
Pilotage IA
Claude Code, skills, sous-agents, CLAUDE.md, kanban en fichiers

05 / Parcours

Du back-end au full stack, depuis 2020.

Un parcours ancré dans PHP, puis dans Angular appris sur le terrain. La méthode, elle, s'applique à n'importe quelle stack : mes projets en Go, NestJS et Next.js en sont la preuve.

Portrait d'Igal Ilmi Amir
Igal Ilmi Amir · Nantes
  1. Avr. 2023 · aujourd'hui

    Développeur full stack senior

    ESN · mission grand compte du secteur public

    Back-end PHP / Symfony d'abord, puis une montée en compétences rapide sur Angular. Référent technique de projets au sein du centre de services, j'ai piloté la migration de trois applications critiques, l'initiative de mise en conformité RGAA et l'optimisation des requêtes SQL.

  2. Sept. 2022 · mars 2023

    Développeur web PHP / Symfony

    6TM · Nantes

    Maintenance évolutive d'applications Symfony, de la version 4 à la 6. Conception d'API avec API Platform pour brancher des systèmes tiers.

  3. Oct. 2020 · sept. 2022

    Développeur full stack Symfony / JS

    Conseil Départemental du Doubs · alternance

    Des applications pour l'administration publique, de la maquette sous Adobe XD jusqu'à la mise en production, avec une intégration continue sur GitLab CI.

Formation

  • Concepteur développeur d'applications (Bac+4)

    ENI École Informatique, Nantes · 2020 · 2022

  • Développeur web et web mobile (Bac+2)

    Access Code School, Besançon · 2019

Langues

Français natif · anglais professionnel

06 / Contact

Un poste, un projet à reprendre ? Parlons-en.

Écrivez-moi en français ou en anglais, avec quelques lignes sur le contexte.

Ou via ce formulaire

Tous les champs sont obligatoires.