Formation : Développer des applications web performantes avec Go
Développer des applications web, sécurisées, scalables et performantes avec le langage Go.
Formation créée le 30/09/2022. Dernière mise à jour le 28/10/2024.Version du programme : 1
Type de formation
Formation mixteDurée de formation
21 heures (3 jours)Accessibilité
OuiFormation : Développer des applications web performantes avec Go
Développer des applications web, sécurisées, scalables et performantes avec le langage Go.
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”
Équipe pédagogique
Suivi de l'exécution et évaluation des résultats
- 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.
Ressources techniques et pédagogiques
- 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.
Capacité d'accueil
Délai d'accès
Accessibilité
Pour plus d'informations sur les modalités d'accessibilité pour cette formation, vous pouvez contacter directement adeschamps@confor.tech .