my-initializr-schematics
v1.0.0
Published
Collection de schematics Angular pour démarrer un projet sécurisé et outillé : i18n, chiffrement e2e, CSP, obfuscation, lint et contrôles au commit.
Maintainers
Readme
my-initializr-schematics
Collection de schematics Angular pour démarrer un projet avec une configuration sécurisée et outillée dès le premier jour : i18n, chiffrement des échanges, CSP, obfuscation, lint et contrôles au commit.
Installation
ng add my-initializr-schematicsng add affiche la liste des configurations disponibles. Cochez celles que vous voulez : les schematics correspondants s'exécutent ensuite et posent leurs propres questions. Voir ng-add.
Chaque schematic peut aussi être lancé seul :
ng generate my-initializr-schematics:<nom>Schematics disponibles
| Schematic | Rôle |
|---|---|
| translation | i18n avec Transloco et @martiald/translator |
| e2e-encryption | Chiffrement de bout en bout des requêtes HTTP avec @martiald/e2e-encryption (nécessite un backend compatible) |
| csp | CSP stricte, headers de sécurité nginx, Dockerfile, index.html dev/prod |
| obfuscator | Obfuscation du bundle de production |
| lint-rules | ESLint strict, Prettier, lint-staged au commit |
| secret-scan | Détection de secrets au commit avec gitleaks (installe Husky) |
| dependency-scan | Audit des dépendances de production au commit |
Prérequis
- Un projet Angular standalone (avec
src/app/app.config.ts), ce qui est le cas par défaut depuis Angular 17. - Un dépôt Git, pour les hooks de commit.
- gitleaks sur chaque poste, si vous utilisez
secret-scan. - Un backend qui implémente le protocole de
@martiald/e2e-encryption, si vous utiliseze2e-encryption.
Développement
npm installCompiler :
npm run buildLancer les tests unitaires (Jasmine) :
npm testTester sur un vrai projet Angular : compilez, puis depuis le projet cible :
npm link <chemin-vers>/my-initializr-schematicsng generate my-initializr-schematics:ng-addPublication
npm run buildnpm publish