-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgo.mod
More file actions
51 lines (47 loc) · 2.35 KB
/
Copy pathgo.mod
File metadata and controls
51 lines (47 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// Module Go du projet « API Bibliothèque ».
//
// Le chemin de module (la première ligne « module ... ») sert de préfixe à tous
// les imports internes du projet. Par exemple, le package de configuration
// s'importe via « github.com/exemple/api-bibliotheque/internal/config ».
//
// Choix pédagogique : on cible Go 1.25 (version stable récente). Grâce au
// mécanisme des « toolchains » de Go (GOTOOLCHAIN=auto), la commande `go`
// télécharge automatiquement la bonne version du compilateur si elle n'est pas
// déjà installée. On profite ainsi du routeur `net/http.ServeMux` amélioré
// (Go 1.22+) qui gère les patrons de route par méthode et les jokers, ce qui
// nous évite d'ajouter une dépendance de routeur externe.
module github.com/exemple/api-bibliotheque
go 1.25.0
// Les dépendances directes sont ajoutées automatiquement par `go mod tidy`
// au fur et à mesure que le code les importe. On reste volontairement minimal :
// - go-sql-driver/mysql : pilote MySQL/MariaDB pour database/sql (PAS un ORM).
// - golang-jwt/jwt : génération et vérification des jetons JWT.
// - google/uuid : génération d'identifiants publics UUID v4.
// - golang.org/x/crypto : hachage bcrypt des mots de passe.
// - golang.org/x/time : limiteur de débit (rate limiting) par « token bucket ».
// - prometheus/client_golang : exposition des métriques au format Prometheus.
require (
github.com/golang-jwt/jwt/v5 v5.3.1
github.com/google/uuid v1.6.0
github.com/jackc/pgx/v5 v5.10.0
github.com/prometheus/client_golang v1.23.2
golang.org/x/crypto v0.53.0
golang.org/x/time v0.15.0
)
require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
github.com/jackc/puddle/v2 v2.2.2 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/prometheus/client_model v0.6.2 // indirect
github.com/prometheus/common v0.66.1 // indirect
github.com/prometheus/procfs v0.16.1 // indirect
go.yaml.in/yaml/v2 v2.4.2 // indirect
golang.org/x/sync v0.21.0 // indirect
golang.org/x/sys v0.46.0 // indirect
golang.org/x/text v0.38.0 // indirect
google.golang.org/protobuf v1.36.8 // indirect
)