Aller au contenu
Business Agile
← Services
03

Développeur Python freelance : API FastAPI et Django API et back-end Python

Des API Python typées, testées et déployées, qui relient vos outils entre eux

J'écris des API en Python depuis des années : FastAPI pour les services rapides et typés, Django REST Framework pour les plateformes avec back-office. J'intègre les services dont vous dépendez déjà : envoi d'e-mails, paiement, données publiques.

Décrire mon projet

FastAPI ou Django : lequel pour votre projet ?

Django REST Framework reste mon choix quand le projet a besoin d'un back-office, d'utilisateurs, de permissions et de nombreux modèles : c'est ce que j'ai utilisé pour Pitchichi et pour la première plateforme de ScienceProtect. FastAPI est plus adapté aux services ciblés, asynchrones et fortement typés : l'API qui interroge PubMed pour ScienceProtect, celle qui relaie les formulaires de contact de mes sites vitrine, ou celle de TapToSupport, une application de dons pour associations.

Dans les deux cas, je travaille avec un typage strict vérifié par mypy, un lint automatique et des tests qui tournent à chaque demande de fusion.

Les intégrations que je connais déjà

Envoi d'e-mails transactionnels par Brevo, avec les pièges vérifiés en production : saisies échappées dans le HTML du message, pièces jointes limitées aux formats acceptés, quota d'envoi protégé par une limitation de débit par visiteur et un champ piège contre les robots. Paiement avec Stancer, réécrit à partir de sa spécification OpenAPI officielle pour Eco-Actives, et avec Stripe Connect pour TapToSupport. Données publiques avec PubMed et les avis d'experts de l'EFSA pour ScienceProtect, ou l'open data ferroviaire.

Quand un service tiers documente mal son comportement, je le vérifie contre une vraie instance. Sur Eco-Actives, trois écarts entre la documentation des webhooks Saleor et leur comportement réel ont été trouvés ainsi et corrigés.

Récupérer et structurer des données

Une partie de mon travail consiste à aller chercher des données là où elles sont, puis à les rendre exploitables : scrapers des experts et avis de l'EFSA, ingestion de publications PubMed avec respect des quotas de l'API, reconstitution des trajets à partir des jeux open data de la SNCF, tâches de fond planifiées avec Celery ou TaskIQ. Les données atterrissent dans PostgreSQL ou dans un graphe Memgraph, avec des migrations versionnées.

Je respecte les conditions d'utilisation des sources et les quotas qu'elles imposent : une API qui se fait bannir n'est utile à personne.

Tests et déploiement

L'API de contact d'Antiquité Mallarmé compte 27 tests pour un seul formulaire, parce que ce formulaire est le premier geste de conversion du site : limitation de débit, champ piège, photos trop lourdes, numéro de téléphone mal saisi, panne de Brevo. Chaque API que je livre passe par un vrai build Docker, un démarrage du conteneur et un appel réel des points d'entrée avant d'être considérée comme terminée.

Le déploiement suit le même schéma sur tous mes projets : une image construite par GitLab CI, poussée dans le registre, déployée par environnement derrière Traefik avec HTTPS automatique, et des secrets qui ne passent jamais par le dépôt de code.

Un exemple : l'API de TapToSupport

TapToSupport est une application qui permet aux associations de collecter des dons en personne, par paiement sans contact sur téléphone. Avant d'écrire l'API, j'ai comparé quatre prestataires de paiement et choisi Stripe Connect, qui permet à chaque association de créer son compte seule. L'API FastAPI isole ce prestataire derrière une interface : aucun autre module n'importe la bibliothèque Stripe, ce qui permettra d'en changer sans réécrire le reste.

Le donateur n'a ni compte ni mot de passe : il reçoit un lien signé à usage unique par e-mail, envoyé par Brevo, et son reçu fiscal est généré en PDF. La migration de la base de données a été vérifiée dans les deux sens sur PostgreSQL, et les pièges rencontrés (types énumérés qui survivent à une suppression de table, dépendances système du générateur de PDF sur Alpine) sont documentés dans le dépôt pour ne pas être redécouverts. Le projet est en cours : l'API existe, le site et l'application mobile suivront.

J'écris aussi le contrat d'une API avant son code quand plusieurs personnes doivent travailler en parallèle : c'était le cas pour l'API d'Arbre Agile, dont le contrat OpenAPI précédait l'implémentation.

Pourquoi Python ?

Python est le langage que j'utilise au quotidien depuis mes premiers projets jusqu'aux services de 2026. Il a l'écosystème le plus riche pour les données, l'IA et le scraping, des frameworks web éprouvés, et il se lit facilement, ce qui compte pour un code qu'une autre personne devra reprendre. Je contribue aussi à l'écosystème : j'ai proposé plusieurs améliorations fusionnées dans neontology, une bibliothèque open source de modélisation de graphes en Python.

Travailler en renfort de votre équipe

Je peux prendre en charge un service complet ou renforcer une équipe existante. J'ai travaillé plus de deux ans dans une grande équipe pour la SNCF, sur des services Python et leur outillage de déploiement, et au sein d'équipes de quelques personnes pour ScienceProtect ou Pitchichi. Je m'adapte à vos conventions de code et à votre processus de revue.

Je développe au quotidien en Python et en TypeScript. Sur un renfort, ce qui décide de la réussite n'est plus le langage : c'est l'architecture, vos conventions et la capacité à lire un système existant. Avec l'outillage de développement assisté, je prends aussi en charge du code Java, .NET ou PHP, comme je l'ai fait sur les sites WordPress du portfolio. Je commence par un audit et je vous dis d'emblée ce que je tiens et ce qui demandera un spécialiste, par exemple le réglage fin d'une JVM en production.

Projets réalisés dans ce domaine

tikosmeo.fr
Page d'accueil du site Ti Kosmeo, ateliers de cosmétiques naturels à Boulogne-Billancourt
Web · sept. 2026

Ti Kosmeo

Refonte d'un site WordPress d'ateliers en site rapide, sans perdre le référencement ni les réservations.

Perf100A11y100SEO100LCP0,7 s
tikosmeo.frsept. 2026
antiquitemallarme.fr
Page d'accueil du site Antiquité Mallarmé, antiquaire et estimation à Saint-Ouen
Web · sept. 2026

Antiquité Mallarmé

Trois générations de site pour un antiquaire de Saint-Ouen, du rendu client au prérendu statique.

Perf100A11y100SEO100LCP0,8 s
antiquitemallarme.frsept. 2026
maisonozae.eu
Page d'accueil du site Maison Ozaé, photographie et film de mariage
Web · sept. 2026

Maison Ozaé

Un portfolio de mariage bilingue, rapide malgré près de 4 000 photographies.

Perf99A11y82SEO100LCP0,9 s
maisonozae.eusept. 2026
scienceprotect.com
Page d'accueil du site ScienceProtect, veille scientifique pour la sécurité alimentaire
IA · oct. 2025

ScienceProtect

API, pipelines de données et graphe de connaissances pour suivre la science de l'alimentation.

40 millionsd'études suivies (chiffre publié par le client)607tests automatisés sur l'API Who's Who (équipe)
scienceprotect.comoct. 2025
Open source · août 2025

Neontology

Contributions fusionnées dans un OGM Python pour Neo4j et Memgraph.

3pull requests fusionnées15fichiers retypés selon la PEP 585
github.com/ontolocy/neontologyaoût 2025
Accueil du site Arbre Agile, studio d'intelligence artificielle
Web · févr. 2025

Arbre Agile

Le site bilingue du studio d'IA du groupe, avec une API adossée à un graphe de connaissances.

50 / 53commits du front écrits par moi2langues, une URL chacune
Conseil et développement en intelligence artificiellefévr. 2025
Page d'attente du site du Groupe BERREBI
Web · nov. 2024

Groupe BERREBI

Le site institutionnel de la holding, avec sociétés, marques et informations légales tirées d'une seule source.

2versions du site depuis 20245sociétés décrites depuis une seule source
Holding et site institutionnelnov. 2024
API · 2020-2024

SNCF

Technical lead back-end et DevOps dans une équipe de données ferroviaires.

2020 à 2024durée de la mission~10microservices dans la plateforme
Transport ferroviaire, grand compte2020-2024
guide.pitchichi.com
Guide Pitchichi des agences de communication, page d'accueil
App · sept. 2021

Pitchichi

L'API d'un annuaire d'agences de communication et de son assistant de brief.

471 / 783commits de l'API signés de ma main18modèles Django dans six applications
guide.pitchichi.comsept. 2021
API · 2020

SNCF DGEX Solutions

Le back-end d'une application de numérisation, dans un périmètre fermé.

4 moisdurée de la mission, automne 20200ligne de code du client conservée chez moi
Ingénierie ferroviaire, application interne2020
Écran d'accueil de l'application Good Day
App · févr. 2020

Good Day

Six bonnes nouvelles par jour, dans une application qui tient hors connexion.

6rubriques par jour77 Mode médias embarqués, audio compris
Média, application mobile grand publicfévr. 2020
L'écran de recherche PrevenFit, trois champs et un bouton
App · déc. 2017

PrevenFit

Un espace abonné qui ne répond que si l'on sait déjà exactement quoi chercher.

3champs exigés, tous exacts, pour obtenir une réponse0résultat approchant renvoyé par la recherche
Services aux salles de sport, espace abonnédéc. 2017
App · juil. 2017

Jaco

Le produit de veille d'ETAONIS, de l'inscription payante aux rapports périodiques.

3formules d'abonnement à l'inscription4fonctions développées pour le MVP
Veille média, logiciel en abonnementjuil. 2017
API · En développement

TapToSupport

Une application de collecte de dons en personne : le donateur pose sa carte sur le téléphone du bénévole.

6entités du modèle de domaine4prestataires de paiement comparés
Collecte de dons pour associationsEn développement
Tableau de production de 24hprojects
App · En développement

24hprojects

Une fonctionnalité ou un MVP livré en 24 heures, avec la production suivie en direct.

3 joursde développement, front et API55fonctions de test côté API
Plateforme de livraison de MVPEn développement
Page d'attente du site Eco-Actives
E-commerce · En cours

Eco-Actives

Un back-end e-commerce headless unique pour deux marques, avec paiement Stancer et créneaux d'ateliers exclusifs.

2marques servies par un seul back-end10tests sur l'App et l'exclusivité des créneaux
Transition écologique et ateliers DIYEn cours

Questions fréquentes

Pourquoi faire appel à un développeur Python freelance plutôt qu'à une agence ?

Parce que vous parlez directement à la personne qui écrit le code, sans intermédiaire. Pour une API, c'est un avantage réel : les décisions techniques (format des données, gestion des erreurs, limites) se prennent vite et restent cohérentes. Si le projet demande plus de bras, je m'appuie sur des développeurs avec qui j'ai déjà travaillé et je vous le dis dès le cadrage.

Comment connecter un formulaire de site statique à Brevo ?

Un site statique ne peut pas garder de clé secrète : il faut une petite API qui reçoit le formulaire et appelle Brevo. J'en déploie une par site, avec validation des champs, échappement du HTML, limitation de débit par visiteur calée sur le quota Brevo, et un champ piège contre les robots. La clé Brevo reste dans une variable du serveur, jamais dans le code.

FastAPI est-il prêt pour la production ?

Oui. J'utilise FastAPI en production pour plusieurs services : relais de formulaires, API d'ingestion de publications scientifiques, application de paiement. Il faut simplement l'accompagner des bons outils : typage vérifié par mypy, tests pytest, serveur uvicorn derrière un proxy, gestion correcte des adresses IP des visiteurs pour la limitation de débit.

Pouvez-vous intégrer un paiement en ligne ?

Oui. J'ai intégré Stancer, un prestataire de paiement français, dans une boutique Saleor pour Eco-Actives, à partir de sa spécification officielle, et Stripe Connect pour TapToSupport, où chaque association encaisse sur son propre compte. Je privilégie les pages de paiement hébergées par le prestataire, qui simplifient la conformité.

Un projet ? Parlons-en cette semaine.

Un brief court, une réponse sous 48 h, une estimation ferme après cadrage.

Décrire mon projet