Qui suis-je · Fondateur de l’agence Cardona
Des applications web solides, de l’API à l’interface.
Symfony / API Platform · React & TypeScript · IA appliquée : agents, LLM, outillage
Salvador Cardona, développeur web depuis 2013 : des API Symfony et des interfaces React pour des marketplaces, une plateforme de streaming et une application de soin animalier. Lead developer chez Animalink jusqu’en septembre 2026, et des agents LLM qui livrent du code sur mon temps libre.
Développement sur mesureAudit de sécuritéIntégration IA
Services
Trois prestations avec leur page dédiée, et des interventions plus courtes sur un sujet précis.
Développement web
Des applications web de bout en bout : API Symfony structurées, interfaces React typées, et l’outillage qui va avec.
En savoir plusAudit de sécurité et de qualité
Un regard extérieur sur votre application : failles, dette technique, dépendances, configuration. Un rapport court, classé par urgence.
En savoir plusIntégration IA
Des agents et des automatisations branchés sur vos API et vos données : ce qui fait gagner du temps à l’équipe, en production.
En savoir plusAPI REST et architecture back-end
Concevoir ou refondre une API Symfony / API Platform : contrat JSON-LD, droits, performance, documentation.
Intervention ponctuelleAutomatisation et agents
Relier vos outils avec n8n, ajouter un agent là où une tâche répétitive coûte du temps, exposer vos API à des modèles via MCP.
Intervention ponctuelleConseil technique et formation
Choix de stack, relecture d’architecture, accompagnement d’une équipe sur Symfony, React ou les agents LLM.
Intervention ponctuelleTous les services et la façon dont je travaille →
L’agence Cardona : site vitrine à 30 € par mois, application métier à 100 € par mois →
À propos
Développeur web depuis 2013, indépendant à Lyon. Symfony et API Platform côté serveur, React et TypeScript côté navigateur, JSON-LD entre les deux : le contrat d’API décrit assez la donnée pour que le front en génère ses types, ses formulaires et ses vues.
Ces derniers mois, c’est sur l’IA appliquée que j’ai le plus progressé, avec des outils publics que j’utilise tous les jours : ticket-runner transforme un ticket Notion en session d’agent puis en pull request, Claude Usage affiche la consommation Claude Code dans GNOME Shell, Whisper Desk dicte hors ligne sous Linux, WSL et macOS. Chez Animalink, j’ai branché des agents n8n sur l’API Symfony, mis en place de l’analyse documentaire avec Mistral et un chatbot produit.
Technologies
Back
- PHP 8.4
- Symfony 7
- API Platform
- JSON-LD / Hydra
- Python
- Node.js
- Mercure
- Elasticsearch
- PostgreSQL
- Sylius
Front
- TypeScript
- React 19
- TanStack Router / Start & Query
- Vue
- Angular
- Tailwind
- shadcn/ui
- Three.js
- Next.js
IA
- Claude Code
- Ollama
- OpenRouter
- Mistral
- n8n
- Whisper
- Prompt engineering
- MCP
- LLM
Infra
- Docker
- Terraform
- AWS
- GitHub Actions
- Linux
Expériences
Des marketplaces, une plateforme de streaming, une application de soin animalier, et en parallèle de l’outillage open source pour agents IA.
mai 2023 — septembre 2026 · 3 ans 5 mois
Lead Dev PHP / TypeScript / IA · Animalink
Lyon
Animalink est une application web et mobile pour le soin animalier. J’ai construit la nouvelle plateforme, de l’architecture au déploiement.
Java · Spring Boot · Symfony · PHP · API Platform · Elasticsearch · React · TypeScript · TanStack Start · shadcn/ui · Docker · GitHub Actions · AWS · Terraform · n8n · LLM · Claude Code
BACKEND — Java / Spring & Symfony (Back for Front)
- Une grosse partie du backend métier développée en Java avec Spring
- Symfony utilisé uniquement comme couche Back for Front (BFF) entre le front et les services métier
- API REST sous API Platform, en Clean Architecture et CQRS
- Moteur de recherche Elasticsearch, stack ELK pour l’observabilité
- Workers asynchrones pour les traitements longs
- Tests unitaires et fonctionnels, analyse statique et linters bloquants en CI
FRONTEND — React / TypeScript
- SPA entièrement typée : les interfaces TypeScript sont générées depuis le schéma API Platform, le contrat d’API est la source de vérité
- Routage et chargement de données avec TanStack Start
- Design system sur shadcn/ui
INFRASTRUCTURE
- Environnements de développement reproductibles sous Docker et Docker Compose
- CI GitHub Actions
- Hébergement AWS provisionné en Terraform : l’infra est du code, relue comme le reste
IA
- Agents et automatisations n8n branchés sur l’API
- OCR de documents
- Analyse documentaire et embeddings
- Chatbot produit branché sur l’API REST
- L’API est conçue pour être pilotée par un agent comme par une interface : les bots passent par les mêmes endpoints et les mêmes droits qu’un utilisateur
août 2022 — janvier 2023 · 6 mois
Dev Back Symfony & Front Next.js · Greenweez
Lyon
Marketplace du bio.
Symfony · PHP · API Platform · Sylius · Next.js · React · GCP
BACKEND — Symfony 6 / API Platform / Sylius
- API REST sous API Platform et Symfony 6
- Migration du socle e-commerce vers Sylius
- Clean Architecture, CQRS, DDD
- Tests unitaires et fonctionnels
FRONTEND — Next.js / React
- Front SSR sous Next.js et React — un catalogue produit doit être lisible par les moteurs de recherche
INFRASTRUCTURE — Google Cloud Platform (GCP)
- Découpage en micro-services
- Travaux sur plusieurs services GCP
février 2022 — juillet 2022 · 6 mois
Dev Back Symfony & Dev Front React · BeeTrip
Lyon
Marketplace autour des outils du voyage.
Symfony · PHP · API Platform · Next.js · React · TypeScript · Wizaplace
BACKEND — Symfony 6 / PHP 8 / API Platform
- API REST sous API Platform et Symfony 6
- Tests unitaires et fonctionnels PHP
FRONTEND — Next.js / React / TypeScript
- SPA Next.js consommant l’API
- Tests unitaires et fonctionnels TypeScript
CONSEIL & MÉTHODE
- Conseil sur les choix technologiques, participation aux rituels Scrum de l’équipe
Voir les 9 expériences précédentesMasquer les expériences précédentes
septembre 2021 — janvier 2022 · 5 mois
Dev Front Vue 3 & Back Symfony 6 · QANTIS
Lyon
Marketplace autour des outils du BTP.
Vue.js · TypeScript · Symfony · PHP · API Platform · Wizaplace
BACKEND — Symfony 6 / PHP 8
- API REST sous API Platform et Symfony 6
- Intégration du SDK Wizaplace pour la brique marketplace
- Tests unitaires et fonctionnels PHP
FRONTEND — Vue 3 / TypeScript
- SPA Vue 3 et TypeScript
- Tests unitaires et fonctionnels TypeScript
CONSEIL & MÉTHODE
- Conseil sur les choix technologiques, participation aux rituels Scrum de l’équipe
février 2021 — août 2021 · 7 mois
Dev Back Symfony · Bedrock Streaming
Lyon
Bedrock édite la plateforme de streaming de TF1, M6 et d’autres diffuseurs européens — des services grand public, avec ce que ça implique de rigueur sur l’API.
Symfony · PHP · AWS
BACKEND — Symfony 5 / PHP
- Évolutions de l’API Symfony 5, sous méthode DDD
- Tests unitaires et fonctionnels
INFRASTRUCTURE
- Travaux sur plusieurs services AWS
CONSEIL & MÉTHODE
- Participation aux rituels Scrum et Agile de l’équipe
août 2019 — février 2021 · 1 an 7 mois
Dev Back Symfony & Dev Front Angular · Jacquet Metal Service
Lyon
Marketplace B2B de la métallurgie.
Symfony · PHP · API Platform · Sylius · Angular · TypeScript · Oracle · PostgreSQL
BACKEND — Symfony / API Platform / Sylius
- Socle marketplace sous Sylius, API REST sous API Platform
- Migration de la base de données d’Oracle vers PostgreSQL
- Tests unitaires PHP
FRONTEND — Angular / TypeScript
- SPA Angular
- Tests unitaires et fonctionnels TypeScript
CONSEIL & MÉTHODE
- Participation aux rituels Scrum et Agile de l’équipe
octobre 2018 — janvier 2019 · 4 mois
Dev Back Symfony & Front Vue.js · EDD
Lyon
EDD convertit et indexe des médias — vidéo, presse, radio — dans une base documentaire.
Symfony · PHP · Vue.js · Vuex · PostgreSQL
BACKEND — Symfony 4
- Backend sous Symfony 4
- Consommation de la base PostgreSQL existante
FRONTEND — Vue 2
- Front sous Vue 2, Vuex et Vue Router
CONSEIL & MÉTHODE
- Formation de l’équipe en place à Vue.js et Symfony — l’objectif était qu’ils reprennent la main après moi
décembre 2017 — août 2019 · 1 an 9 mois
Dev Back Symfony & Dev Front Vue.js · Wizaplace
Lyon
Wizaplace édite une solution de marketplace performante et personnalisable, revendue à des intégrateurs.
Symfony · PHP · Vue.js · Vuex · Nuxt
BACKEND — Symfony 4 / PHP
- Développement et amélioration du SDK PHP de l’éditeur
- Marketplaces clientes sous Symfony 4
- Création d’API REST
- Tests unitaires PHP
FRONTEND — Vue 2 / Vuex / Nuxt
- Fronts sous Vue 2, Vuex et Nuxt
septembre 2017 — décembre 2017 · 4 mois
Dev Back & Front Angular · agence kali
Lyon
Agence web lyonnaise.
PHP · Symfony · Angular · Bootstrap · WordPress · Java · Spring Boot
BACKEND — PHP & Java / Spring Boot 1.5
- Application back sous Symfony 3
- Interventions sur plusieurs logiciels métier sous Spring Boot 1.5
- Maintenance de sites WordPress et Drupal (MySQL)
FRONTEND — Angular
- Front Angular de l’application d’auto-formation
- Intégration des interfaces avec Bootstrap
janvier 2017 — aujourd’hui · 9 ans 9 mois
Open source — outillage et agents IA · Open source
Lyon
Sur mon temps libre, je construis des outils qui font travailler des agents LLM sur des tâches réelles, et les briques front qui vont avec.
Python · Claude Code · LLM · React · TypeScript · GJS · Whisper
FRONTEND — React / TypeScript
- React Resource View : vues CRUD générées depuis une API JSON-LD / Hydra, liste, détail, création, édition et suppression câblées à l’API et à l’URL.
INFRASTRUCTURE
- Claude Usage : extension GNOME Shell publiée sur extensions.gnome.org, qui lit la consommation Claude Code depuis la CLI officielle, sans clé API ni jeton dépensé. GJS, Cairo, catalogues gettext, parsing testable hors du shell.
IA
- ticket-runner : un ticket Notion devient une session Claude Code. Le runner le réclame, lui ouvre une worktree git jetable, et rend une pull request si le ticket touche du code, un document publié dans la page sinon. Boucle de validation dans Notion, questions posées à l’humain sur Telegram ou Slack, mise à jour automatique entre deux sessions. Python, bibliothèque standard uniquement.
- Whisper Desk : dictée vocale hors ligne (faster-whisper, GPU ou CPU) pour Linux, WSL et macOS. Le texte s’insère au curseur pendant qu’on parle, et l’installeur reconnaît l’hôte pour brancher systemd ou launchd.
août 2015 — septembre 2016 · 1 an 2 mois
Back PHP & Java & Front Angular · TripConnexion
Lyon
Start-up lyonnaise de mise en relation entre les voyageurs et les lieux d’exception. Tech lead d’une équipe de 3 personnes.
Symfony · PHP · AngularJS · Bootstrap · WordPress · Java · Spring Boot
BACKEND — Symfony 2.7 (PHP) & Java Spring Boot 1.4
- Création de l’application web sous Symfony 2.7
- Migration d’une partie de la V1 WordPress vers Symfony, pour conserver la logique métier existante
- Développement du CRM interne en Java sous Spring Boot 1.4
- Mise en place des tests unitaires et fonctionnels
FRONTEND — AngularJS 1.4 / Bootstrap
- Front de l’application sous AngularJS 1.4 et Bootstrap
septembre 2013 — août 2014 · 1 an
Dev Full Stack · DMD France
Fréjus
Startup dans le domaine médical.
PHP · Java · Bootstrap · jQuery
BACKEND — PHP & Java
- Création d’un SaaS pour la réparation des instruments
- Développement d’un logiciel métier interne en Java, basé sur un logiciel open source, avec une partie web pour la prise de commande
FRONTEND — Bootstrap / jQuery
- Interfaces en Bootstrap et jQuery, y compris la partie web de prise de commande
- Mise en place d’un site vitrine
- Mise en place des boutiques en ligne, dont une boutique PrestaShop
Diplômes
2013 — 2015
Master en génie informatique
Université Lumière Lyon 2
Niveau Bac +4.
2011 — 2013
DUT informatique
IUT de Saint-Raphaël
En alternance.
Projets ouverts
Ce que je construis sur mon temps libre, et que j’utilise tous les jours.

ticket-runner
Vos tickets Notion, joués par Claude Code : une session par ticket, une pull request à l’arrivée.
Python · Agents LLM · Notion API

React Resource View
Vues CRUD pour API JSON-LD / Hydra : on déclare une ressource et le package génère liste, détail, création, édition et suppression, câblés à l’API et à l’URL.
React · TypeScript · JSON-LD

Whisper Desk
Dictée vocale hors ligne pour Linux, WSL et macOS : un raccourci clavier, un overlay, et le texte est dans le presse-papiers.
Python · Whisper · Linux · macOS

Claude Usage
Extension GNOME Shell affichant la consommation Claude Code en graphique circulaire dans la barre supérieure, avec le détail des limites hebdomadaires au clic. Sans clé d’API.
GNOME Shell · GJS · Python

React Data Form
Formulaires React pilotés par la donnée : on décrit le formulaire comme un objet, la librairie rend les champs, tient l’état, valide et remonte les erreurs de l’API.
React · TypeScript · Formulaires
Derniers articles
Découper un domaine métier en ressources API Platform
Praticien, créneau, rendez-vous, acte, produit : sur une marketplace de rendez-vous vétérinaires, la découpe en ressources décide de tout ce qui vient après. Quatre séparations qui ont tenu, et la règle qui les explique.
Suivre sa consommation Claude Code sous Linux
Trois limites courent en parallèle, et la seule façon de savoir où j’en suis était de taper /usage au milieu d’une session. J’en ai fait une extension GNOME Shell : un camembert dans la barre, le détail au clic.