Architecture Hexagonale : le guide pratique pour une clean architecture

Shodo vous accompagne de la compréhension métier à la production à travers notre approche socio-technique : aligner business, architecture, processus et organisation pour orchestrer le changement.
Tu souhaites participer à une session ?
Contacte-nousDes difficultés à comprendre quels sont les comportements attendus du logiciel en relisant le code ? Des soucis d'alignement entre les attentes du métier et ce qui est livré en production ?
À partir d'une User Story, il est compliqué de savoir par où commencer, quoi tester, quand s'arrêter et ce qu'on en attend ?
Si tel est votre cas, le Behavior-Driven Development peut vous aider !
Le Behavior-Driven Development (BDD) est une façon de penser, concevoir et coder les fonctionnalités, pilotée par les comportements attendus. Sa double boucle ATDD/TDD permet d'outrepasser les limitations du bottom-up inhérentes au Test-Driven Development seul.
Il permet une fluidification de la communication avec les expert·e·s métier, un meilleur alignement du code avec le besoin, l'écriture de tests fonctionnels solides et la documentation efficace du logiciel.
La formation s'effectue sous forme d'ateliers pratiques et de séquences théoriques interactives. :
Découverte à travers l'Exemple Mapping : Découvrir le besoin. Ancrer le langage commun, faire émerger les différents scénarios métiers d'un cas fonctionnel, faciliter la communication entre le métier et les développeurs et développeuses.
Formulation : Décrire les scénarios fonctionnels, Quand et comment utiliser (ou non) le Given When Then
Automatisation : Bien structurer ses tests, comment découpler ses tests des données de tests. Implémentation via la double boucle ATDD/TDD.
Cette formation d'initiation permet d'acquérir les bases de l'algorithmie à travers le langage Go. Les participants découvrent les fondamentaux de la programmation (types, variables, structures de contrôle, fonctions) puis mettent en pratique ces connaissances en implémentant des algorithmes classiques de tri et de recherche. La formation adopte une approche résolument pratique avec 2/3 du temps consacré aux exercices. Jour 1 - Matin 1. Découverte du langage Go Historique et philosophie du langage Installation de l'environnement et commandes de base ( go run , go build ) Exercice : vérifier l'installation et exécuter un premier programme 2. Premiers pas Types de base : bool , int , float64 , string , rune Opérations (booléennes, arithmétiques, comparaison) et déclaration de variables Exercices : manipuler les types de base, créer et utiliser des variables 3. Structures de contrôle Conditions ( if , else , switch ), boucles ( for , range ), break et continue Exercice : déterminer si un nombre est premier 4. Structures de données Slices : création, accès, modification et opérations courantes Maps : paires clé-valeur, accès, suppression et itération Pointeurs et structs Exercices : comparer deux slices, compter des occurrences avec les maps Jour 1 - Après-midi 5. Fonctions et packages Déclaration, paramètres, valeurs de retour et récursivité Organisation du code en packages et bibliothèque standard ( fmt , math , strings , os ) Exercice : déclarer et appeler des fonctions 6. Algorithmes de tri et de recherche Tri par sélection et tri à bulles : principe et implémentation Recherche linéaire et recherche binaire : principe et implémentation Exercices : implémenter chaque algorithme en Go Jour 2 - Matin 7. Tests unitaires Package testing : conventions, écriture et exécution de tests ( go test ) Exercice : écrire les tests pour valider les algorithmes développés
Aucun prérequis n'est nécessaire pour cette formation.
Un ordinateur portable.
Il existe deux manières de s'inscrire à une formation :
Dans les deux cas, le choix des dates de formation sera soumis à la disponibilité des formateurs.
Néanmoins, nous nous engageons à répondre sous 72 heures à toute demande d'inscription envoyée par email à [contact@shodo.io].
Yann DANOT
91%
Taux de satisfaction pour l'année 2025
Go, également connu sous le nom de Golang, est un langage de programmation moderne conçu par Google, reconnu pour sa simplicité, sa performance et sa capacité à gérer efficacement les systèmes distribués et les applications cloud. Adopté par de nombreuses entreprises pour sa robustesse et sa scalabilité, il est idéal pour construire des applications fiables et maintenables. Cette formation propose une approche théorique et pratique pour comprendre la gestion des tests, l'utilisation des logs et le traitement des erreurs dans les projets développés en Go. Les participants et participantes découvriront comment concevoir des tests robustes et évolutifs, implémenter des stratégies de logging efficaces pour le suivi et le débogage, et appliquer les meilleures pratiques pour gérer les erreurs conformément aux standards du langage. Cette formation inclut également une introduction aux bonnes pratiques en matière de sécurité, pour protéger les applications contre les vulnérabilités courantes, ainsi qu'à l'analyse des performances, pour optimiser le comportement des applications. Ces compétences permettent d'améliorer significativement la qualité et la fiabilité des applications. Matin – Gestion des tests en Go Comprendre la pyramide des tests : unitaires, intégration, end-to-end Écrire des tests unitaires avec le package testing : Principes F.I.R.S.T. et pattern AAA Table-driven tests et parallélisation Mesure de la couverture de tests Créer des doublures de tests (mocks HTTP et SQL) Introduction à la librairie de tests testify Mettre en place des tests d'intégration : Utilisation des build tags Introduction à testcontainers pour gérer les dépendances externes Après-midi – Gestion des erreurs, logs et performances Traitement des erreurs Comprendre le type error : erreurs basiques, erreurs sentinelles, interface error Enrichir les erreurs avec l' error wrapping Gérer les panic avec defer et recover Gestion des logs Mettre en place des logs structurés avec log/slog Propager un logger via context.Context et gérer les informations dynamiques Tests de performance Découvrir le benchmark testing Écrire ses premiers benchmarks pour mesurer les performances de fonctions critiques
Cette formation explore les fonctionnalités avancées du langage Go, comme les génériques et les interfaces. Elle s'inscrit aussi dans une démarche de Software Craft. Elle intègre des principes d'architecture et de conception logicielle comme SOLID et l'architecture hexagonale, d'un point de vue théorique mais aussi pratique, pour produire un code plus modulaire, maintenable et robuste. La formation inclut également une exploration approfondie des outils et techniques de gestion de la concurrence en Go, permettant aux participants de concevoir des applications hautement performantes et capables de tirer parti des capacités multi-cœurs des systèmes modernes. Grâce à une approche pratique et des exemples concrets, les apprenants seront en mesure de maîtriser les bases et les patterns avancés de concurrence en Go, tout en intégrant une démarche de qualité logicielle dans leurs projets. Matin – Fonctionnalités avancées et structuration de projets Génériques en Go Contraintes de type et écriture d'une première fonction générique Identification des cas d'usage pertinents Interfaces Mise en application et utilisation dans les tests unitaires Composition d'interfaces pour un code modulaire Software Craft Principes clés et introduction à SOLID Après-midi – Concurrence et patterns avancés Concurrence en Go Différence entre concurrence et parallélisme Premiers pas avec goroutine , channel et sync.WaitGroup Package sync et primitives de synchronisation Mutex, gestion des accès concurrents et race detector Channels Bufferisés et non-bufferisés, opérations, signaux et instruction select Patterns de concurrence Scatter/gather, redundant requests, hedged requests Sémaphores simples et pondérées
Moyens de suivi de l'exécution de la formation
Modalités d'évaluation
L'évaluation des acquis se fait tout au long de la session au travers des ateliers et des mises en pratique :
Afin de valider les compétences acquises lors de la formation, une évaluation des stagiaires sur les objectifs sera effectué en début de formation et l'évolution des acquis sera renseigné individuellement par les formateurs ou formatrices dans une fiche d'accompagnement de suivi de formation.
Une évaluation à chaud est également effectuée en fin de session pour mesurer la satisfaction des stagiaires et un certificat de réalisation leur est adressé individuellement.
Les formations que nous organisons dans les locaux de nos partenaires (ex: Comet Meetings) sont accessibles aux personnes à mobilité réduite (PMR), en respect des normes ERP (Établissement Recevant du Public).
Pour les personnes en situation de handicap autre que mobilité réduite, nous faisons de notre mieux pour vous proposer une solution adaptée, avec l'aide du CREPS et de l'AGEFIPH. Contactez nous par email à contact@shodo.io.