An open API service indexing awesome lists of open source software.

https://github.com/ndxdeveloper/go-tutoriel-fr

Tutoriel complet Go en français : de débutant à avancé avec projets pratiques. Guide progressif pour maîtriser le langage Go, de la syntaxe de base aux microservices.
https://github.com/ndxdeveloper/go-tutoriel-fr

api backend cli concurrency docker francais french go golang guide microservices programming tutorial

Last synced: about 2 months ago
JSON representation

Tutoriel complet Go en français : de débutant à avancé avec projets pratiques. Guide progressif pour maîtriser le langage Go, de la syntaxe de base aux microservices.

Awesome Lists containing this project

README

          

# Go Tutoriel - De débutant à avancé 🚀

Un tutoriel complet en français pour apprendre le langage Go, depuis les bases jusqu'aux concepts avancés et projets pratiques.

## 📚 À propos

Ce tutoriel vous guide à travers l'apprentissage du langage Go de manière progressive et structurée. Que vous soyez débutant en programmation ou développeur expérimenté souhaitant découvrir Go, ce guide vous accompagnera étape par étape.

## 🎯 Objectifs

- Comprendre les fondamentaux du langage Go
- Maîtriser la concurrence et les goroutines
- Développer des applications web et APIs REST
- Créer des outils en ligne de commande
- Implémenter des microservices
- Optimiser les performances et déployer en production

## 📖 Structure du tutoriel

Le tutoriel est organisé en 5 parties progressives :

### 🌱 Partie I : Fondamentaux (Débutant)
- **Introduction à Go** - Histoire, installation, premier programme
- **Syntaxe de base** - Variables, types, opérateurs
- **Structures de contrôle** - Conditions, boucles, gestion d'erreurs
- **Fonctions** - Déclaration, paramètres, closures
- **Structures de données** - Arrays, slices, maps, structs, pointers

### 🔧 Partie II : Programmation intermédiaire
- **Méthodes et interfaces** - Polymorphisme, composition
- **Gestion des erreurs** - Conventions, erreurs personnalisées
- **Packages et modules** - Organisation, visibilité, dépendances
- **Concurrence de base** - Goroutines, channels, select

### 🚀 Partie III : Développement avancé
- **Concurrence avancée** - Worker pools, context, sync
- **Tests et benchmarks** - Tests unitaires, mocking, profiling
- **Réflexion** - Package reflect, tags, métaprogrammation
- **Programmation réseau** - HTTP, JSON, WebSockets
- **Base de données** - SQL, ORM, migrations

### 🛠️ Partie IV : Projets pratiques
- **Projet 1 : CLI Tool** - Outil en ligne de commande
- **Projet 2 : API REST** - Service web complet
- **Projet 3 : Microservice** - Architecture distribuée

### 📈 Partie V : Optimisation et production
- **Performance** - Profiling, optimisations, garbage collector
- **Patterns et architecture** - Design patterns, clean architecture
- **Déploiement et DevOps** - CI/CD, monitoring, sécurité

*Consultez le [SOMMAIRE.md](SOMMAIRE.md) pour le détail complet de tous les chapitres.*

## 🚀 Comment commencer

1. **Prérequis** : Connaissances de base en programmation
2. **Installation** : Suivez le chapitre [Installation de Go](01-introduction-a-go/02-installation-et-configuration-environnement.md)
3. **Premier programme** : Créez votre [Hello World](01-introduction-a-go/03-premier-programme-hello-world.md)
4. **Progression** : Suivez les chapitres dans l'ordre numérique

## 🎓 Public cible

- **Débutants** : Développeurs souhaitant apprendre Go
- **Développeurs expérimentés** : Transition vers Go depuis d'autres langages
- **Étudiants** : Apprentissage structuré du langage Go
- **Professionnels** : Montée en compétences pour projets Go

## 📋 Prérequis

- Connaissances de base en programmation (variables, fonctions, conditions)
- Un ordinateur avec Go installé (guide d'installation inclus)
- Un éditeur de texte ou IDE (VS Code recommandé)
- Motivation à apprendre ! 💪

## 🔧 Technologies couvertes

- **Go** - Langage principal
- **HTTP/REST** - APIs web
- **JSON** - Sérialisation de données
- **SQL** - Bases de données
- **Docker** - Containerisation
- **Git** - Contrôle de version

## 📝 Format du contenu

Chaque chapitre comprend :
- **Explications théoriques** claires et concises
- **Exemples de code** pratiques et commentés
- **Exercices** pour valider les acquis
- **Bonnes pratiques** du développement Go
- **Références** pour approfondir

## 🏆 Projets inclus

- **CLI Tool** : Outil de manipulation de fichiers
- **API REST** : Service de gestion de données
- **Microservice** : Architecture distribuée avec Docker

## 📊 Progression suggérée

- **Semaine 1-2** : Fondamentaux (Parties I-II)
- **Semaine 3-4** : Concepts avancés (Partie III)
- **Semaine 5-6** : Projets pratiques (Partie IV)
- **Semaine 7** : Optimisation et production (Partie V)

## 💡 Conseils d'apprentissage

- **Pratiquez** : Codez tous les exemples
- **Expérimentez** : Modifiez le code pour comprendre
- **Progressez** : Suivez l'ordre des chapitres
- **Persistez** : La pratique fait la perfection

## 📞 Contact

**Auteur** : Nicolas DEOUX
**Email** : NDXdev@gmail.com

## 📄 Licence

Ce tutoriel est mis à disposition sous licence MIT. Vous êtes libre de l'utiliser, le modifier et le partager.

---

*Bon apprentissage avec Go ! 🎉*