Aller au contenu principal

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. 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. 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. 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. 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

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.

Parler de mon projet back-end