Files
ENI-projet-piscine/apps/frontend
Johan LEROY bc75528616 fix(infra): lève les points de revue du reverse proxy
Compose interpole tout le fichier avant n'importe quelle sous-commande : la garde
`${PUBLIC_HOST:?}` de l'overlay cassait `stack-down` et `stack-logs` autant que le
démarrage. La valeur retombe sur `enervision.local`, et `stack-up` vérifie à la place
que le certificat présent couvre l'hôte demandé, ce qui est la condition réelle à tenir.

La CSP `script-src 'self'` bloquait le gestionnaire `onload` que l'inlining du CSS
critique d'Angular pose sur la feuille de styles : l'application se serait affichée sans
style derrière le proxy. `inlineCritical` passe à faux, le build de production ne produit
plus aucun script en ligne.

La zone de limitation resserrée ne couvre plus que les routes qui vérifient un secret.
Derrière le NAT de l'école, où une seule adresse porte toute la promotion, `/auth/me` et
`/auth/refresh` y auraient produit des 429 en usage normal.

Enfin `certbot/certbot` est épinglé en v5.8.0 pour que Dependabot puisse le suivre, le
proxy attend une API saine plutôt que démarrée, et la redirection vers `$host` est actée
comme risque accepté : figer un nom canonique couperait l'accès par adresse IP, seule
voie ouverte sur la machine cible.
2026-09-21 12:11:32 +02:00
..

Frontend EnerVision

This project was generated using Angular CLI version 22.1.8.

Development server

To start a local development server, run:

ng serve

Once the server is running, open your browser and navigate to http://localhost:4200/. The application will automatically reload whenever you modify any of the source files.

Code scaffolding

Angular CLI includes powerful code scaffolding tools. To generate a new component, run:

ng generate component component-name

For a complete list of available schematics (such as components, directives, or pipes), run:

ng generate --help

Building

To build the project run:

ng build

This will compile your project and store the build artifacts in the dist/ directory. By default, the production build optimizes your application for performance and speed.

Running unit tests

To execute unit tests with the Vitest test runner, use the following command:

ng test

Running end-to-end tests

For end-to-end (e2e) testing, run:

ng e2e

Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.

Configuration spécifique au projet EnerVision

Le squelette applicatif n'est pas versionné à la main : il a été généré par Angular CLI avec la commande suivante, depuis apps/ :

npx --yes @angular/cli@latest new frontend \
  --directory frontend \
  --style=scss \
  --routing \
  --ssr=false \
  --package-manager=npm \
  --skip-git

Points à vérifier après toute regénération :

  1. Pointer l'API dans src/environments/ sur http://localhost:8000/api/v1.
  2. Ajouter le proxy de développement (proxy.conf.json) vers le backend.
  3. Vérifier que npm start sert bien sur le port 4200, valeur par défaut d'APP_CORS_ORIGINS côté backend. Le docker-compose.yml n'a aucun service frontend.
  4. Ajouter le Dockerfile multi-stage (build Angular puis service statique nginx).

Design système

Tokens (couleurs, typo, espacements) et composants partagés (ev-button, ev-card, ev-alert, ev-badge) sont documentés dans docs/architecture/32-design-systeme-frontend.md. Toute nouvelle page doit les réutiliser plutôt que définir ses propres valeurs.

Additional Resources

For more information on using the Angular CLI, including detailed command references, visit the Angular CLI Overview and Command Reference page.