No description
Find a file
Rackham 68e84429d2
Some checks failed
backend-tests / test (push) Failing after 9s
gitleaks / gitleaks (push) Successful in 3s
fix(cv): resserre le pdf pour qu'une carriere complete tienne sur une page
Le CV reel debordait d'un poste et des centres d'interet, ce qui donnait une
deuxieme page presque vide : un document plus maigre que dense, l'inverse de
l'effet recherche.

L'interligne, les fontes et surtout les respirations verticales se resserrent
partout. Les marges de page passent de 20mm a 16mm en tete et de 14mm a 12mm
en pied. Le vrai profil tient desormais sur une page avec environ 21mm de
marge basse dans les deux colonnes.

Quatre graisses etaient invalides en CSS (650, 640, 620, 560) et WeasyPrint les
ignorait purement et simplement : les intitules de poste, les cles du bandeau
et le nom d'entreprise s'affichaient en graisse normale au lieu du demi-gras
voulu. Elles passent a 600.

Un garde-fou rend une carriere de dix ans, calquee sur la densite reelle du
profil mais volontairement 14mm plus dense, et exige une seule page. Il se
declenchera donc avant que le vrai CV ne deborde.
2026-09-12 23:59:39 +02:00
.forgejo/workflows reafacotirng((site)): Add backend and improve global ui ux (#1) 2026-08-27 16:15:11 +00:00
apps/site feat(site): porte animee avant l'ouverture d'un lien a usage unique 2026-09-12 21:53:24 +02:00
backend fix(cv): resserre le pdf pour qu'une carriere complete tienne sur une page 2026-09-12 23:59:39 +02:00
docs docs(cv): plan pour l'export CV pdf natif + extrait ats 2026-09-10 05:07:57 +02:00
packages/ui refactoring/imprimante-fiche-machine (#2) 2026-09-02 22:13:24 +00:00
.dockerignore reafacotirng((site)): Add backend and improve global ui ux (#1) 2026-08-27 16:15:11 +00:00
.env.example refactoring/imprimante-fiche-machine (#2) 2026-09-02 22:13:24 +00:00
.gitignore fix(cv): sort le rendu PDF de la boucle d'evenements et affine l'image 2026-09-11 22:15:28 +02:00
.prettierignore reafacotirng((site)): Add backend and improve global ui ux (#1) 2026-08-27 16:15:11 +00:00
.prettierrc.json reafacotirng((site)): Add backend and improve global ui ux (#1) 2026-08-27 16:15:11 +00:00
Caddyfile.dev reafacotirng((site)): Add backend and improve global ui ux (#1) 2026-08-27 16:15:11 +00:00
compose.prod.yml refactoring/imprimante-fiche-machine (#2) 2026-09-02 22:13:24 +00:00
DEPLOY.md reafacotirng((site)): Add backend and improve global ui ux (#1) 2026-08-27 16:15:11 +00:00
docker-compose.dev.yml reafacotirng((site)): Add backend and improve global ui ux (#1) 2026-08-27 16:15:11 +00:00
Dockerfile reafacotirng((site)): Add backend and improve global ui ux (#1) 2026-08-27 16:15:11 +00:00
eslint.config.js reafacotirng((site)): Add backend and improve global ui ux (#1) 2026-08-27 16:15:11 +00:00
LICENSE main(website): NA first commit 2026-07-07 12:15:36 +02:00
package-lock.json reafacotirng((site)): Add backend and improve global ui ux (#1) 2026-08-27 16:15:11 +00:00
package.json reafacotirng((site)): Add backend and improve global ui ux (#1) 2026-08-27 16:15:11 +00:00
README.md reafacotirng((site)): Add backend and improve global ui ux (#1) 2026-08-27 16:15:11 +00:00
sws.toml reafacotirng((site)): Add backend and improve global ui ux (#1) 2026-08-27 16:15:11 +00:00

rackhamator.cloud

Site personnel : front React (DA maison) + API FastAPI, auto-hébergé derrière Traefik.

Structure (monorepo npm workspaces)

apps/site/      front React 19 / Vite / TS (la DA, les composants, l'API client)
packages/ui/    @rackham/ui — contenu + composants partagés (réutilisés par l'admin)
backend/        API FastAPI async (SQLAlchemy 2.0 + Alembic + pytest)
docs/           notes (ex. automatisation statut iPhone)

L'admin est un dépôt privé séparé (../website-admin) qui réutilise @rackham/ui.

Lancer toute la stack en local (Docker)

docker compose -f docker-compose.dev.yml up --build

Un reverse proxy Caddy sert le front et route /api vers le backend (même origine, comme en prod). Postgres et les migrations Alembic sont lancés automatiquement. DEV_AUTH_USER court-circuite Authelia en local (l'admin fonctionne sans SSO).

Pour l'admin (dépôt séparé), la stack ci-dessus tournant :

cd ../website-admin && VITE_API_BASE=http://localhost:8090 npm run dev

Développement front (hot-reload)

npm install
npm run dev            # apps/site sur :5173 (définir VITE_API_BASE vers le backend)

Backend seul

Voir backend/README.md.

Qualité

npm run format && npm run lint && npm run build   # front

Déploiement

Le front est compilé en statique (apps/site/dist) et servi par Traefik ; le backend tourne en conteneur (backend/Dockerfile, migrations au démarrage). Tout passe par Traefik — plus de nginx.