Paris, Toulouse, Biarritz, Bordeaux, Aix-en-Provence
+33 5 61 34 39 80
contact@iform.fr

Catalogue de formations

Apprendre sous un autre angle.

Go (Golang) : Maîtriser le développement d'applications performantes et concurrentes Mixte : présentiel / à distance

Dernière mise à jour : 18/03/2026

Description

Module 1 : Philosophie et Fondamentaux de Go

  • Introduction : Genèse chez Google, pourquoi Go ? (simplicité vs performance).
  • Environnement : Installation, gestion des modules (go mod), structure d'un projet.
  • Syntaxe de base : Variables, constantes, inférence de type et typage strict.
  • Structures de contrôle : if, switch, et l'unique boucle for.
  • Fonctions : Retours multiples, paramètres nommés, fonctions anonymes et closures.
  • TP : Création d'un utilitaire CLI pour manipuler des données d'entrée.

 

Module 2 : Types de données et Gestion de la mémoire

  • Collections : Tableaux (arrays), Slices (mécanisme interne, capacité/longueur) et Maps.
  • Pointeurs : Comprendre le passage par valeur vs référence sans la complexité du C.
  • Structures : Définition, composition (à la place de l'héritage) et tags de structure (JSON).
  • Méthodes : Associer des comportements aux types.
  • TP : Modélisation d'un système de gestion de stocks avec structures imbriquées.

 

Module 3 : Interfaces, Erreurs et Programmation Défensive

  • Interfaces : L'implémentation implicite (le "Duck Typing" statique).
  • Gestion des erreurs : La philosophie Go (pas d'exceptions), le type error.
  • Contrôle de flux avancé : defer, panic et recover.
  • Assertions de type : Switch de type et interfaces vides.
  • TP : Création d'un système de logging multi-support (Fichier/Console) via les interfaces.

 

Module 4 : Maîtrise de la Concurrence (Le cœur de Go)

  • Goroutines : Parallélisme léger et ordonnanceur de Go.
  • Channels : Communication et synchronisation entre processus.
  • Patterns de concurrence : Select, WaitGroups et Mutex (package sync).
  • Détection de bugs : Utilisation du "Race Detector".
  • TP : Développement d'un agrégateur de données asynchrone (Scraper de données en parallèle).

 

Module 5 : Tooling, Tests et Qualité de code

  • Tests unitaires : Le package testing, benchmarks et exemples.
  • Qualité : Formatage (gofmt), peluchage (go vet, golangci-lint).
  • Documentation : Générer une doc propre avec godoc.
  • Profilage : Introduction à l'analyse de performance (CPU/Mémoire).
  • TP : Mise en place d'une suite de tests avec couverture de code (Code Coverage).

 

Module 6 : Vers la Production : API REST et Déploiement

  • Bibliothèque standard : net/http pour créer un serveur web.
  • Frameworks : Introduction à l'écosystème (ex: Gin ou Echo).
  • Persistance : Interaction avec une base de données SQL (PostgreSQL) et notions d'ORM (GORM).
  • Packaging : Compilation statique et création de Dockerfiles optimisés (images distroless/scratch).
  • TP final : Développement complet d'une API REST de gestion de tâches, connectée à une base de données et conteneurisée.

Objectifs de la formation

À l'issue de cette formation, le stagiaire sera capable de :

  • Installer et configurer un environnement de développement Go standard.

  • Appliquer les spécificités syntaxiques (typage statique, structures, pointeurs) pour écrire un code robuste.

  • Concevoir des interfaces pour créer des architectures découplées et testables.

  • Implémenter la concurrence via les Goroutines et les Channels en évitant les "race conditions".

  • Développer et tester une API REST conforme aux standards du marché.

  • Packager et optimiser une application Go pour un déploiement en production.

Public visé

  • Développeurs (Back-end, Fullstack, Système) souhaitant monter en compétence sur un langage moderne.

  • Architectes logiciels et Ops/SRE souhaitant comprendre ou maintenir des outils comme Docker ou Kubernetes (écrits en Go).

Prérequis

  • Maîtrise d'au moins un langage de programmation structuré ou objet (Java, C/C++, Python, PHP, etc.).

  • Familiarité avec l'usage de la ligne de commande (Terminal).

  • Des notions sur les protocoles HTTP et le format JSON sont un plus.

Modalités pédagogiques

Session dispensée en présentiel ou téléprésentiel, selon la modalité inter-entreprises ou intra-entreprises sur mesure. 

La formation est animée par un(e) formateur(trice) durant toute la durée de la session et présentant une suite de modules théoriques clôturés par des ateliers pratiques validant l'acquisition des connaissances. Les ateliers peuvent être accompagnés de Quizz.

L'animateur(trice) présente la partie théorique à l'aide de support de présentation, d'animation réalisée sur un environnement de démonstration.

En présentiel comme en téléprésentiel, l'animateur(trice) accompagne les participants durant la réalisation des ateliers.

Moyens et supports pédagogiques

Cadre présentiel

Salles de formation équipées et accessibles aux personnes à mobilité réduite.

- Un poste de travail par participant

- Un support de cours numérique ou papier (au choix)

- Un bloc-notes + stylo

- Vidéoprojection sur tableau blanc

- Connexion Internet

- Accès extranet pour partage de documents et émargement électronique

Cadre téléprésentiel

Session dispensée via notre solution iClassroom s'appuyant sur Microsoft Teams.

- Un compte Office 365 par participant

- Un poste virtuel par participant

- Un support numérique (PDF ou Web)

- Accès extranet pour partage de documents et émargement électronique

Modalités d'évaluation et de suivi

Avant

Afin de valider le choix d'un programme de formation, une évaluation des prérequis est réalisée à l'aide d'un questionnaire en ligne ou lors d'un échange avec le formateur(trice) qui validera la base de connaissances nécessaires.

Pendant

Après chaque module théorique, un ou des ateliers pratiques permettent la validation de l'acquisition des connaissances. Un Quizz peut accompagner l'atelier pratique.

Après

Un examen de certification si le programme de formation le prévoit dans les conditions de l'éditeur ou du centre de test (TOSA, Pearson Vue, ENI, PeopleCert)

Enfin

Un questionnaire de satisfaction permet au participant d'évaluer la qualité de la prestation.

M'inscrire à la formation

Ajouter au panier

Session sélectionnée


  • Balma COMPLÈTE

Prochaines Sessions

  • Pour connaître les dates des prochaines sessions de formation inter-entreprises, veuillez nous contacter par téléphone au 05 61 34 39 80 ou par courriel à l'adresse contact@iform.fr

Partager cette formation

Catalogue de formation propulsé par Dendreo,
ERP spécialisé pour les OF

Accessibilité

Sélectionnez le niveau de contraste souhaité
Adaptez la taille de la police