Formation : Développer des applications web performantes avec Go
Développer des applications web, sécurisées, scalables et performantes avec le langage Go.
Besoin d’adapter cette formation à vos besoins ?
N’hésitez pas à nous contacter afin d’obtenir un devis sur mesure !
Formation créée le 30/09/2022. Dernière mise à jour le 28/10/2024.
Version du programme : 1
Programme de la formation
A l’issue de cette formation, vous serez en mesure de développer des applications web, sécurisées, scalables et performantes avec le langage Go. Vous disposerez d’un environnement de développement vous permettant de coder, développer et déployer efficacement et simplement vos applications, sur n’importe quelle plateforme. Durée : 3 jours (formation possible en présentiel ou distanciel)
Objectifs de la formation
- Comprendre pourquoi le langage Go a été développé et dans quel contexte il est pertinent de le mettre en œuvre
- Savoir mettre en place un environnement de développement complet : IDE, compilateur, debugger
- Maîtriser les bases du langage Go
- Maîtriser la programmation orientée objet en Go
- Maîtriser l’exposition d’une API avec Go
- Savoir utiliser le templating HTML avec Go
- Maîtriser la communication avec une Base de Données avec Go
- Maîtriser la mise en place d’un Websocket avec Go
- Connaître les bonnes pratiques de développement avec Go
Profil des bénéficiaires
- Développeurs web
- Développeurs backend
- Développeurs full stack
- Connaissance générale du développement
- Connaissances du développement web (HTML, CSS, JS)
Contenu de la formation
-
Découvrir le langage go
- Historique
- Les besoins qui ont mené à créer Go
- Comparaison de Go avec d’autres langages similaires
- Avantages de Go en entreprise
-
Installer et configurer l’environnement de développement
- Installation du compilateur Go
- Installation et configuration de Visual Studio Code
- Installation des packages pour le debug
-
Créer un premier projet Go
- Créer un projet console
- Hello World !
- Présentation du système de module
- Ajouter une dépendance au projet
-
Découvrir la syntaxe de Go
- Types primitifs
- Variables
- Contrôles
- Tableaux et “slices”
- Map
- Fonctions
- Pointeurs
-
Mettre en place la programmation orientée objet en Go
- Go est-il un langage objet ?
- Structures et interfaces
- Héritage ou composition ?
-
Mettre en place la gestion de la concurrence à travers les Go routine
- Rappel sur les problématiques de concurrence
- Présentation des Goroutine
- Avantages et inconvénients des goroutine
- Moniteur et sémaphore avec les Mutex
- Répondre au problème de producteur/consommateur avec les Channels
-
Structurer son projet Go
- Système de package
- Références circulaires
- Bonnes pratiques
-
Mettre en œuvre un serveur web en Go
- Rappels sur le développement web
- Rappels sur le protocole HTTP
- Le package net/http
- Écouter les requêtes et renvoyer une réponse
-
Servir des pages HTML en Go
- Rappels sur le développement web orienté serveur (client léger)
- Le package html/template
- Gestion des erreurs
- Servir du contenu statique
-
Exposer une API REST en Go
- Rappels sur l’architecture REST
- Le package Gin
- Gérer les routes
- Lire les paramètres de requête
- Sérialiser/désérialiser du XML
- Sérialiser/désérialiser du JSON
- Ecrire un middleware
-
Communiquer avec une Base de données
- Le package database/sql
- Requêtes SQL simple
- Rappels sur le concept d’ORM
- Le package Gorm
-
Exposer un websocket
- Rappels sur le protocole websocket
- Pourquoi utiliser un websocket dans son application web ?
- Le package gorilla/websocket
- Implémenter un chat simple
-
Industrialiser un serveur web avec Go
- Gestion des erreurs
- Gestion des plantages
- Génération de livrable
- Environnement et configuration
-
Appréhender les tests unitaires
- Le package testing
- Ecrire un test unitaire
- Principe de “mock”
Cédric MILLAURIAUX est développeur depuis plus de 12 ans. Il a dans un premier temps travaillé pour le ministère des finances et pour le ministère de l’intérieur avant de devenir développeur mobile à son propre compte il y a 8 ans. Il travaille principalement sur des applications dans le domaine de la santé et des objets connectés. Il développe des applications Go pour le compte de ses clients dans des domaines d’application variés : vote institutionnel, interaction avec les services de l’assurance maladie (carte vitale, Dossier Médical Partagé, etc.) ou serveurs web.
- Feuilles de présence.
- Questions orales ou écrites (QCM).
- Mises en situation.
- Formulaires d'évaluation de la formation.
- Certificat de réalisation de l’action de formation.
- Accueil des apprenants dans une salle dédiée à la formation.
- Documents supports de formation projetés.
- Exposés théoriques
- Live-coding
- Etude de cas concrets
- Quiz
- Mise à disposition en ligne de documents supports à la suite de la formation.