Développement applicatif
Développement back-end Java et Spring Boot
Je conçois et développe des services métier robustes avec Java et Spring Boot, testés et observables dès le premier jour. Le code livré est lisible, documenté et repris sans difficulté par votre équipe.
Ce que cela couvre
Un back-end solide se reconnaît à trois signes : les tests échouent avant le bug en production, les erreurs sont explicites pour l'appelant, et l'ajout d'une règle métier ne nécessite pas de relire tout le module. Je construis les services autour de ces trois exigences, avec des dépendances minimales et des versions tenues à jour.
Le découpage suit les capacités métier plutôt que les couches techniques. Les contrôleurs restent fins, la logique métier vit dans des objets testables sans infrastructure, et la persistance est confinée aux adaptateurs. Ce choix facilite les tests rapides et rend les évolutions prévisibles.
Ce que contient une livraison type
Chaque lot livré comprend le code, les tests, la documentation d'API et la configuration des environnements. Les migrations de base de données sont versionnées, et les points d'entrée sont instrumentés pour la supervision avant la mise en production.
- API REST documentées et validées par des tests d'intégration.
- Tests unitaires sur les règles métier, sans base de données.
- Tests d'intégration sur dépendances réelles avec Testcontainers.
- Migrations de schéma versionnées et rejouables.
- Traces et métriques exposées dès le premier déploiement.
Problemes traites
La logique métier est dispersée entre contrôleurs, services et requêtes SQL. Les tests nécessitent une base de données complète, donc personne ne les exécute. Les erreurs remontent en 500 sans explication exploitable. Les montées de version de Spring sont repoussées depuis plusieurs années. Les performances se dégradent sur les écrans de recherche.
Benefices attendus
Un code testé dont la couverture porte sur les règles métier. Des API documentées et vérifiées automatiquement. Une séparation claire entre logique métier et infrastructure. Des temps de démarrage et de réponse surveillés en continu. Une base de code reprenable par un développeur qui découvre le projet. Des dépendances à jour et suivies dans le temps.
Methode et etapes
- 1
Cadrage des contrats
Rédaction des spécifications d'API, des modèles d'échange et des cas d'erreur attendus, validées avec les consommateurs du service.
- 2
Socle technique
Mise en place du projet, des migrations, de l'instrumentation et de la chaîne de tests, afin que chaque fonctionnalité arrive dans un cadre stable.
- 3
Développement itératif
Implémentation par lots fonctionnels livrables, chacun accompagné de ses tests, de sa documentation et d'une démonstration.
- 4
Mise en production et transfert
Déploiement surveillé, mesure des indicateurs de référence, puis revue de code collective pour expliquer les choix structurants.
Livrables
Services Spring Boot livrés, avec tests unitaires et d'intégration.
Documentation d'API générée et exemples d'appels.
Scripts de migration de schéma versionnés.
Configuration des environnements de développement, de recette et de production.
Tableaux de bord de supervision des points d'entrée.
Revue de code et session de transfert avec votre équipe.
Technologies mobilisees
- Java
- Spring Boot
- Spring Security
- Hibernate et JPA
- PostgreSQL
- Flyway
- Apache Kafka
- OpenTelemetry
- JUnit 5
- Testcontainers
Questions frequentes
Travaillez-vous avec une base de code existante ?
Oui, c'est même le cas le plus fréquent. Je commence par lire les conventions en place et j'aligne mes contributions dessus, en proposant des améliorations ponctuelles plutôt qu'une réécriture des fondations.
Quelle version de Java et de Spring utilisez-vous ?
Java 21 ou 25 avec Spring Boot 4 pour les projets neufs. Pour une application existante, je reste sur la version en place jusqu'à ce qu'un plan de montée de version soit validé et testé.
Assurez-vous la maintenance après la livraison ?
Oui, sous forme de forfait de maintenance ou d'astreinte planifiée. Mon objectif reste toutefois de rendre votre équipe autonome sur le code livré.
Realisations associees
Refonte progressive d'un monolithe de gestion des contrats
Modernisation par extraction de domaines, sans interruption de service
Exemple de demonstration - aucune reference client reelle.
Socle d'API et d'intégration entre onze systèmes
Contrats versionnés, idempotence et reprise sur incident
Exemple de demonstration - aucune reference client reelle.
Migration d'un front-end Angular et remise à niveau des performances
Cinq versions de retard, cent quatre-vingts écrans, migrés par lots livrables
Exemple de demonstration - aucune reference client reelle.
Parler de mon projet back-end
Décrivez le besoin fonctionnel et le contexte technique. Je vous indique rapidement si le périmètre est réaliste et par où commencer.