Chaque workflow se déclenchait sur push (toutes branches) et sur pull_request : chaque commit de PR jouait tout deux fois. sonarqube.yml reconstruisait et retestait front, back et ML en parallèle des workflows qui le faisaient déjà, et son test backend tournait sans uv sync. ci.yml devient le seul point d'entrée (pull_request, push sur dev et main) : - paths-filter choisit les composants à jouer sur une PR, tout est rejoué sur dev et main ; - backend, frontend, ml, airflow et infra passent en workflow_call ; - le job sonar reprend les couvertures versées par ces jobs au lieu de tout rejouer ; - « CI ok » agrège le résultat, seul check à exiger dans les règles de branche. Au passage : - npm run test:ci au lieu de npm test --watch=false, option que npm gardait pour lui ; - uv sync --locked au lieu de --frozen, pour qu'un verrou périmé casse la CI ; - setup-uv et sonarqube-scan-action épinglés sur un SHA (règle S7637), timeout sur chaque job ; - frontend : un seul npm ci pour la construction et les tests ; - infra : validation des fichiers Compose et actionlint sur les workflows ; - exclusions Sonar en globs, doublon apps/frontend/sonar-project.properties supprimé.
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 :
- Pointer l'API dans
src/environments/surhttp://localhost:8000/api/v1. - Ajouter le proxy de développement (
proxy.conf.json) vers le backend. - Vérifier que
npm startsert bien sur le port 4200, valeur par défaut d'APP_CORS_ORIGINScôté backend. Ledocker-compose.ymln'a aucun service frontend. - Ajouter le
Dockerfilemulti-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.