Avatar ·

Comment travailler correctement avec la configuration en Go : ENV, JSON, YAML ou flags ?

Bonjour à tous ! Je suis un développeur Go débutant, j'écris mon premier microservice pour le traitement des commandes. Je suis confronté à un problème : je n'arrive pas à comprendre comment organiser correctement le stockage des paramètres de configuration (port du serveur, chaîne de connexion à la base de données, URL de l'API externe, timeouts, etc.).\n\nActuellement, j'ai tout codé en dur dans main.go :\n\n```go\npackage main\n\nimport (\n "fmt"\n "net/http"\n)\n\nfunc main() {\n port := ":8080"\n dbConn := "postgres://user:pass@localhost:5432/orders?sslmode=disable"\n apiURL := "https://api.example.com"\n \n fmt.Println("Starting server on", port)\n http.ListenAndServe(port, nil)\n}\n```\n\nJe comprends que c'est horrible : en changeant d'environnement (dev/staging/prod), il faut recompiler le binaire, et les mots de passe dans le code sont une véritable catastrophe de sécurité. J'ai vu que