Air pour Go : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

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 :

  __    _   ___
 / /\  | | | |_)
/_/--\ |_| |_                    

Recommendations