Descriptif
Go : développer des services performants est une formation de 4 jours (28 heures), de niveau intermédiaire, rattachée au domaine « Développement logiciel, informatique et Web ». Développer, tester et mettre en production des services concurrents en Go. Conçue et animée par des praticiens en activité, elle alterne apports ciblés (30 %) et mises en pratique (70 %) sur des laboratoires individuels accessibles depuis un navigateur, avec des cas inspirés des secteurs banque, assurance et services publics. Le parcours s'appuie sur 37 laboratoires dédiés, provisionnés à la demande et accessibles trente jours après la session. Disponible en inter-entreprises, en intra sur catalogue et en version sur mesure adaptée au contexte de l'entreprise.
Objectifs pédagogiques
À l'issue de la formation, le participant sera capable de :
- Syntaxe, types et organisation d’un module
- Concurrence : goroutines, canaux et synchronisation
- Services HTTP, sérialisation et accès aux données
- Tests, profilage et mise en production
Programme détaillé
| N° | Contenus et activités | Durée |
|---|---|---|
| Jour 1 | ||
| 1 | Ouverture : langages pratiqués par les participants, attentes, mise en route de l'espace Go en navigateur et vérification de la chaîne d'outils | 0,5 h |
| 2 | Fondamentaux Go : types, déclarations, fonctions et valeurs multiples, structures de contrôle, gestion des erreurs par valeur | 2 h |
| 3 | Travaux pratiques : écrire un premier programme en ligne de commande et organiser un module avec go mod | 1,5 h |
| 4 | Structures, méthodes, interfaces et composition, pointeurs et sémantique de valeur | 1,5 h |
| 5 | Travaux pratiques : modéliser le domaine du service fil rouge et écrire ses premiers tests avec go test | 1,5 h |
| Jour 2 | ||
| 6 | Collections et bibliothèque standard : slices, maps, chaînes, génériques, encoding/json, time et io | 1,5 h |
| 7 | Travaux pratiques : implémenter le dépôt en mémoire, la sérialisation JSON et des tests de table | 2 h |
| 8 | Concurrence : goroutines, canaux, select, sync.WaitGroup, mutex et contexte d'annulation | 2 h |
| 9 | Travaux pratiques : paralléliser un traitement par lot avec un pool de workers et traquer les accès concurrents avec le race detector | 1,5 h |
| Jour 3 | ||
| 10 | Services HTTP : net/http, multiplexeur, handlers, intergiciels, routage, codes et erreurs | 1,5 h |
| 11 | Travaux pratiques : exposer l'API REST du service fil rouge avec intergiciels de journalisation et de reprise sur panique | 2 h |
| 12 | Accès aux données : database/sql, pilotes, migrations, transactions, contexte et délais d'exécution | 1,5 h |
| 13 | Travaux pratiques : persister les données dans PostgreSQL et écrire des tests d'intégration avec Testcontainers | 2 h |
| Jour 4 | ||
| 14 | Tests avancés : tests d'API, doublures par interfaces, couverture, tests fuzz et bancs d'essai | 1,5 h |
| 15 | Travaux pratiques : compléter la couverture du service et écrire un banc d'essai sur le chemin critique | 1,5 h |
| 16 | Profilage et performance : pprof, allocations, pression sur le ramasse-miettes, diagnostic d'une fuite de goroutines | 1,5 h |
| 17 | Atelier : mise en production - compilation croisée, image Docker minimale, configuration, sondes de santé, arrêt gracieux et journalisation structurée | 2 h |
| 18 | Revue de code croisée, synthèse des bonnes pratiques Go et plan d'action individuel | 0,5 h |
Méthodes pédagogiques
- Pédagogie active : 50 % du temps en pratique encadrée — laboratoires cloud provisionnés par participant, travaux pratiques guidés, fil rouge applicatif —, le reste en apports structurés, démonstrations commentées, cadrage et évaluation
- répartition calculée sur le déroulé détaillé de cette formation, et non annoncée de façon uniforme
- classe inversée avec prérequis sur le LMS
- apprentissage adaptatif selon le positionnement initial
- travaux en binômes
- classe virtuelle en séquences de 3 h 30 maximum sur Microsoft Teams
- support clair, complet et paginé remis à chaque participant
Technologies et outils mobilisés
Go, goroutines, canaux, modules, tests, net/http, outillage standard
Modalités d'évaluation et de validation
- Positionnement initial en ligne
- quiz de validation à chaque séquence
- évaluation finale des acquis (QCM et mise en situation)
- satisfaction à chaud
- questionnaire de transfert à 30 jours
- attestation de fin de formation
Plateforme, laboratoires et ressources
- Plateforme LMS DATAROCKSTARS : parcours, quiz et supports. Environnements de laboratoire provisionnés à la demande, isolés par participant et accessibles depuis un navigateur — 37 laboratoires dédiés à ce programme. Accès maintenu trente jours après la session
