Makefile (Docker & Docs)¶
But¶
Fournir des raccourcis sûrs pour builder/lancer en local, et tirer puis lancer l’image du Docker Hub — sans secrets en dur.
Chargement du .env¶
Le Makefile lit les clés (ex:
PORT,DOCKER_REPO,IMAGE_TAG) depuis.envsi présent.Avant un
docker run, il crée un.env.sanitized(ne garde queKEY=VALUEet commentaires) pour éviter que des lignes décoratives ne cassent l’option--env-file.
Variables utiles¶
PORT: port hôte (défaut :8000).DOCKER_REPO: image distante (ex.vincentdesmouceaux/oc-lettings-site).IMAGE_TAG: tag distant (ex.latest). Optionnel (fallback :latest).IMAGE/CONTAINER: noms locaux (défaut :oc-lettings).
Cibles disponibles¶
make buildConstruit l’image localeoc-lettings. SiDOCKER_REPOest défini, tague aussi$DOCKER_REPO:$IMAGE_TAG(oulatest).make runLance le conteneur local en détaché ; port$PORT:8000; charge.env.sanitizedsi présent.make stopArrête et supprime le conteneur s’il existe (idempotent).make rebuildbuild → stop → run (équiv. à “rebuild and restart”).make logsAffiche les logs en continu (Ctrl-Cpour sortir).make pullPull l’image distante (nécessiteDOCKER_REPO).make run-remoteLance depuis l’image distante (utilise.env.sanitizedsi présent).make up-remotestop → pull → run-remote (pull + run en un coup).make run-remote-latestForce un pull à chaque exécution (docker run --pull=always).
Exemples¶
Local (prod-like) :
make rebuild
make logs
make stop
Depuis Docker Hub :
# .env
DOCKER_REPO=vincentdesmouceaux/oc-lettings-site
IMAGE_TAG=latest # optionnel
make up-remote
# ou
make run-remote-latest
Docs (Sphinx)¶
make -C docs html # build HTML
make -C docs serve # serveur de prévisualisation (si configuré)
make -C docs clean # nettoyer build
make -C docs linkcheck # vérifier les liens
make -C docs doctest # exécuter doctests
Note
Ne commitez jamais votre .env réel.
Versionnez .env.example et remplissez les valeurs côté CI/CD (secrets GitHub) ou localement.