Commit graph

3 commits

Author SHA1 Message Date
Imugiii
56b26db0c1 chore: remplace le Makefile par un service compose wakdo-migrate (migrate + seed idempotents)
All checks were successful
CI / auto-merge (pull_request) Successful in 4s
CI / secret-scan (pull_request) Successful in 9s
CI / php-lint (pull_request) Successful in 21s
CI / static-tests (pull_request) Successful in 42s
CI / js-tests (pull_request) Successful in 19s
Le Makefile portait surtout des cibles mortes/trompeuses (test/test-unit/
test-integration/lint annoncaient "pas implemente" alors que les tests tournent ;
install-hooks pointait sur des fichiers absents) ; sa seule cible porteuse, `init`,
existait parce que `docker compose up` seul n'applique pas les migrations.

En deplacant migrate + seed DANS la stack, `docker compose up` devient l'unique
commande qui amene une stack complete et loginnable -> Cr 7.c.4 satisfait sans
dependance a l'outil `make`.

- db/migrate-container.sh : runner in-container (connexion par le reseau compose),
  applique db/migrations/*.sql (suivi schema_migrations) puis db/seeds/*.sql (suivi
  seeds_applied), idempotent.
- Service one-shot `wakdo-migrate` (depends_on db healthy) ; wakdo-app/web attendent
  sa completion (service_completed_successfully).
- Makefile supprime ; db/migrate.sh (hote) conserve pour l'usage manuel / --status.
- Docs realignees : README, .env.example, db/README, docker-compose, PROJECT_CONTEXT
  (`make *` -> `docker compose *`, Cr 7.b porte par les scripts Bash). Correction au
  passage : la CI/CD est Forgejo Actions (pas GitHub Actions), protections cote Forgejo.
- Journal : docs/journal/2026-06-17--makefile-to-compose-migrate.md (rationale + verif
  sur base ephemere : 2 migrations + 2 seeds, idempotent ; note de deploiement pour
  les bases deja seedees).

Verifie : docker compose config valide ; runner teste sur MariaDB ephemere (5 roles,
23 permissions, admin present) ; re-run = 0 nouveau. Aucun code PHP/JS touche.
2026-06-17 12:41:36 +00:00
Imugiii
4edabf20df docs: switch project FQDN from acadenice.fr to stark.a3n.fr
The acadenice.fr zone has no wildcard and no records pointing to this
host. The stark.a3n.fr zone has a wildcard A record on the deployment
host, so any subdomain resolves automatically without DNS provisioning.

Switching the canonical FQDNs (corentin-wakdo and corentin-wakdo-admin)
to stark.a3n.fr removes the DNS prerequisite and lets Traefik provision
Let's Encrypt certs via HTTP-01 challenge immediately.
2026-04-30 11:35:56 +00:00
Imugiii
5dcc5b806b docs: add README with methodology and server-behind-traefik quickstart
Premier README du projet, oriente jury et contributeur :
- Apercu metier (borne Wakdo, 3 canaux, statuts commande)
- Section methodologie declarant l'usage de BYAN (Builder of YAN) et
  la politique no Co-Authored-By (renvoi section 17 PROJECT_CONTEXT)
- Stack technique recapitulee en tableau
- Schema ASCII de l'architecture runtime (Traefik + 4 services)
- Quickstart oriente deploiement serveur derriere Traefik :
  - Pas de localhost ni de port bind local
  - Nom du reseau configurable via REVERSE_PROXY_NETWORK (valeurs
    neutres type traefik_proxy dans .env.example, adaptable selon
    l'infrastructure cible)
  - Procedure d'installation Docker Engine + Compose v2 pour un hote
    neuf (distribution Debian stable en exemple)
- Avertissement explicite sur le .env pre-existant : merge manuel au
  lieu de cp .env.example .env (protection contre l'ecrasement d'un
  tooling externe type BYAN API token sur la meme racine)
- Conventions Git et liens vers docs/PROJECT_CONTEXT, docs/journal,
  .claude/CLAUDE.md et rules/
2026-04-24 09:50:43 +00:00