Qu'est-ce qu'Air et pourquoi l'utiliser ?
Air est un utilitaire puissant pour les développeurs Go qui assure le live reload (rechargement à chaud) des applications. Si vous avez déjà développé des applications web en Go, vous savez à quel point il est fastidieux d'arrêter manuellement le serveur (Ctrl+C), de recompiler le projet (go build) et de le relancer à chaque modification. Air automatise ce processus : il surveille les changements dans le code source de votre projet et recompile puis redémarre automatiquement l'application dès que vous enregistrez un fichier.
Air a été créé par l'équipe Cosmos (anciennement connue sous le nom de Tendermint) et est écrit en Go. Ce n'est pas une bibliothèque au sens classique (vous ne l'importez pas dans votre code), mais un outil en ligne de commande qui s'exécute en parallèle de votre application.
Pourquoi utiliser Air ?
- Accélération du développement : économisez les minutes perdues en recompilation manuelle.
- Confort : il suffit d'enregistrer un fichier pour que le serveur redémarre automatiquement.
- Compatibilité avec tous les projets Go : fonctionne avec les serveurs web, les utilitaires CLI, les bots Telegram et toute autre application.
- Configuration flexible : possibilité d'ignorer des dossiers, de définir des délais, d'ajouter des commandes personnalisées, etc.
Air est particulièrement utile pour le développement d'applications web avec des frameworks comme Gin, Echo, Fiber ou le net/http standard, où chaque modification nécessite un redémarrage du serveur.
Installation d'Air
Air peut être installé de plusieurs façons. Choisissez celle qui convient le mieux à votre système.
Méthode 1 : Installation via go install (recommandée)
La méthode la plus simple consiste à utiliser le gestionnaire de paquets Go standard. Assurez-vous d'avoir Go version 1.16 ou supérieure.
go install github.com/air-verse/air@latest
Ensuite, le binaire air sera placé dans le répertoire $GOPATH/bin (généralement ~/go/bin). Assurez-vous que ce répertoire est ajouté à votre variable d'environnement PATH.
Méthode 2 : Installation via Homebrew (macOS / Linux)
Si vous utilisez macOS ou Linux avec Homebrew, l'installation est triviale :
brew install air
Méthode 3 : Installation via script (Linux / macOS / WSL)
Vous pouvez utiliser le script d'installation :
curl -sSfL https://raw.githubusercontent.com/air-verse/air/master/install.sh | sh -s
Méthode 4 : Installation via Docker
Pour ceux qui préfèrent Docker :
docker run -it --rm -v "$PWD":/app -w /app cosmtrek/air
Vérification de l'installation
Après l'installation, vérifiez qu'Air fonctionne :
air -v
Vous devriez voir la version de l'utilitaire, par exemple : v1.52.3
Démarrage rapide avec un exemple de code
Créons une application web simple en Go et configurons le live reload avec Air.
Étape 1 : Créez un nouveau projet
mkdir my-air-app
cd my-air-app
go mod init my-air-app
Étape 2 : Écrivez un serveur HTTP simple
Créez un fichier main.go :
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Bonjour, Air ! Heure actuelle : %s", time.Now().Format("15:04:05"))
})
fmt.Println("Serveur démarré sur http://localhost:8080")
http.ListenAndServe(":8080", nil)
}
Étape 3 : Initialisez la configuration d'Air
air init
Cette commande crée un fichier .air.toml à la racine du projet avec les paramètres par défaut. Vous pouvez le modifier ultérieurement selon vos besoins.
Étape 4 : Lancez Air
air
Vous verrez une sortie similaire à celle-ci :
__ _ ___
/ /\ | | | |_)
/_/--\ |_| |_ Aussi dans la bibliothèque
Coroutines pour Kotlin : guide complet avec exemples
Client Elasticsearch pour C# (.NET) : NEST et Elastic.Clients.Elasticsearch
Internationalisation (i18n) dans Node.js : i18next et polyglot
Humanizer C# (.NET) : guide complet avec exemples