@silvestv/migration-planificator 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/LICENSE +96 -0
  2. package/README.fr.md +359 -0
  3. package/README.md +360 -0
  4. package/SECURITY.md +187 -0
  5. package/dist/client.bundle.js +357 -0
  6. package/dist/src/core/app-analyzer.js +134 -0
  7. package/dist/src/core/ast/matchers/html/html-attribute-matcher.js +86 -0
  8. package/dist/src/core/ast/matchers/html/html-component-matcher.js +40 -0
  9. package/dist/src/core/ast/matchers/html/html-element-matcher.js +54 -0
  10. package/dist/src/core/ast/matchers/html/html-parser.js +58 -0
  11. package/dist/src/core/ast/matchers/html/html-pipe-matcher.js +95 -0
  12. package/dist/src/core/ast/matchers/html/html-text-matcher.js +53 -0
  13. package/dist/src/core/ast/matchers/html/index.js +118 -0
  14. package/dist/src/core/ast/matchers/index.js +377 -0
  15. package/dist/src/core/ast/matchers/ts/collection-matcher.js +51 -0
  16. package/dist/src/core/ast/matchers/ts/context-matcher.js +275 -0
  17. package/dist/src/core/ast/matchers/ts/decorator-matcher.js +465 -0
  18. package/dist/src/core/ast/matchers/ts/expression-matcher.js +237 -0
  19. package/dist/src/core/ast/matchers/ts/file-matcher.js +97 -0
  20. package/dist/src/core/ast/matchers/ts/hierarchy-matcher.js +172 -0
  21. package/dist/src/core/ast/matchers/ts/import-matcher.js +39 -0
  22. package/dist/src/core/ast/matchers/ts/index.js +53 -0
  23. package/dist/src/core/ast/matchers/ts/node-matcher.js +156 -0
  24. package/dist/src/core/ast/matchers/ts/symbol-matcher.js +281 -0
  25. package/dist/src/core/ast/matchers/ts/type-matcher.js +207 -0
  26. package/dist/src/core/ast/matchers/utils/matcher-helpers.js +37 -0
  27. package/dist/src/core/ast/scanner-ast.js +444 -0
  28. package/dist/src/core/project-detector.js +196 -0
  29. package/dist/src/core/project-strategy/index.js +9 -0
  30. package/dist/src/core/project-strategy/nx-strategy.js +130 -0
  31. package/dist/src/core/project-strategy/project-strategy.interface.js +2 -0
  32. package/dist/src/core/project-strategy/standalone-strategy.js +74 -0
  33. package/dist/src/core/project-strategy/strategy-factory.js +15 -0
  34. package/dist/src/core/rules-loader.js +89 -0
  35. package/dist/src/core/scan-reporter.js +316 -0
  36. package/dist/src/core/scanner-delta.js +339 -0
  37. package/dist/src/core/scanner-orchestrator.js +266 -0
  38. package/dist/src/core/scanner-regex.js +298 -0
  39. package/dist/src/core/workload/calculator.js +82 -0
  40. package/dist/src/core/workload/constants.js +15 -0
  41. package/dist/src/core/workload/grouping.js +18 -0
  42. package/dist/src/core/workload/hierarchy-calculator.js +127 -0
  43. package/dist/src/core/workload/index.js +11 -0
  44. package/dist/src/core/workload/metadata.js +20 -0
  45. package/dist/src/core/workload/special-workload.js +101 -0
  46. package/dist/src/core/workload/target-resolver.js +34 -0
  47. package/dist/src/data/angular-migration-rules.json +2337 -0
  48. package/dist/src/data/markdown/angular-migration-17-18.md +408 -0
  49. package/dist/src/data/markdown/angular-migration-18-19.md +600 -0
  50. package/dist/src/data/markdown/angular-migration-19-20.md +521 -0
  51. package/dist/src/data/rules/rearchitecture/rearchitecture-rules.json +66 -0
  52. package/dist/src/data/rules/to18/rules-18-obligatoire.json +374 -0
  53. package/dist/src/data/rules/to18/rules-18-optionnelle.json +188 -0
  54. package/dist/src/data/rules/to18/rules-18-recommande.json +218 -0
  55. package/dist/src/data/rules/to19/rules-19-obligatoire.json +348 -0
  56. package/dist/src/data/rules/to19/rules-19-optionnelle.json +223 -0
  57. package/dist/src/data/rules/to19/rules-19-recommande.json +200 -0
  58. package/dist/src/data/rules/to20/rules-20-obligatoire.json +556 -0
  59. package/dist/src/data/rules/to20/rules-20-optionnelle.json +190 -0
  60. package/dist/src/data/rules/to20/rules-20-recommande.json +151 -0
  61. package/dist/src/index.js +161 -0
  62. package/dist/src/models/chip-config.js +45 -0
  63. package/dist/src/models/interfaces/app-details.interface.js +2 -0
  64. package/dist/src/models/interfaces/ast-interfaces.js +5 -0
  65. package/dist/src/models/interfaces/ast-pattern.interface.js +2 -0
  66. package/dist/src/models/interfaces/client-interfaces.js +6 -0
  67. package/dist/src/models/interfaces/detection-stats.interface.js +2 -0
  68. package/dist/src/models/interfaces/html-match.interface.js +2 -0
  69. package/dist/src/models/interfaces/html-report-data.interface.js +2 -0
  70. package/dist/src/models/interfaces/lib-details.interface.js +2 -0
  71. package/dist/src/models/interfaces/migration-rules.interface.js +2 -0
  72. package/dist/src/models/interfaces/parsed-args.interface.js +2 -0
  73. package/dist/src/models/interfaces/project-info.interface.js +2 -0
  74. package/dist/src/models/interfaces/project-overview-data.interface.js +2 -0
  75. package/dist/src/models/interfaces/rule-match.interface.js +2 -0
  76. package/dist/src/models/interfaces/rule.interface.js +2 -0
  77. package/dist/src/models/interfaces/rules-by-priority.interface.js +2 -0
  78. package/dist/src/models/interfaces/scanner-comparison.interface.js +2 -0
  79. package/dist/src/models/interfaces/special-workload.interface.js +2 -0
  80. package/dist/src/models/interfaces/workload-report.interface.js +2 -0
  81. package/dist/src/models/types/build-block-blob.type.js +2 -0
  82. package/dist/src/models/types/migration-version.type.js +2 -0
  83. package/dist/src/models/types/project-type.type.js +2 -0
  84. package/dist/src/models/types/risk-level.type.js +2 -0
  85. package/dist/src/models/types/rule-category.type.js +2 -0
  86. package/dist/src/models/types/rule-priority.type.js +2 -0
  87. package/dist/src/models/types/rule-workload-type.type.js +2 -0
  88. package/dist/src/templates/landing/applications-analyzed.template.js +18 -0
  89. package/dist/src/templates/landing/card-app-info.template.js +63 -0
  90. package/dist/src/templates/landing/card-lib-info.template.js +67 -0
  91. package/dist/src/templates/landing/libs-analyzed.template.js +22 -0
  92. package/dist/src/templates/landing/nx-summary.template.js +115 -0
  93. package/dist/src/templates/landing/project-overview.template.js +27 -0
  94. package/dist/src/templates/page/index-page.template.js +95 -0
  95. package/dist/src/templates/page/main.template.js +83 -0
  96. package/dist/src/templates/page/migration-guide.template.js +175 -0
  97. package/dist/src/templates/page/workload-report.template.js +53 -0
  98. package/dist/src/templates/workload/dashboard.template.js +184 -0
  99. package/dist/src/templates/workload/filters-panel.template.js +215 -0
  100. package/dist/src/templates/workload/guide-rule-card.template.js +107 -0
  101. package/dist/src/templates/workload/hierarchy-nx.template.js +104 -0
  102. package/dist/src/templates/workload/hierarchy-shared.js +163 -0
  103. package/dist/src/templates/workload/hierarchy-standalone.template.js +36 -0
  104. package/dist/src/templates/workload/hierarchy.template.js +35 -0
  105. package/dist/src/templates/workload/rule-modal.template.js +280 -0
  106. package/dist/src/utils/core/args-parser.js +123 -0
  107. package/dist/src/utils/core/array-helpers.js +18 -0
  108. package/dist/src/utils/core/ast-helpers.js +99 -0
  109. package/dist/src/utils/core/file-helpers.js +109 -0
  110. package/dist/src/utils/core/html-helpers.js +36 -0
  111. package/dist/src/utils/core/index.js +28 -0
  112. package/dist/src/utils/core/logger.js +38 -0
  113. package/dist/src/utils/core/rule-helpers.js +15 -0
  114. package/dist/src/utils/core/workload-formatter.js +6 -0
  115. package/dist/src/utils/shared/array-helpers.js +25 -0
  116. package/dist/src/utils/shared/date-helpers.js +109 -0
  117. package/dist/src/utils/shared/html-helpers.js +37 -0
  118. package/dist/src/utils/shared/index.js +25 -0
  119. package/dist/src/utils/shared/rule-helpers.js +20 -0
  120. package/dist/src/utils/shared/time-formatters.js +76 -0
  121. package/dist/styles.css +2 -0
  122. package/package.json +107 -0
package/LICENSE ADDED
@@ -0,0 +1,96 @@
1
+ DUAL LICENSE NOTICE
2
+ ===================
3
+
4
+ This software is dual-licensed under:
5
+ 1. GNU Affero General Public License v3.0 (AGPL-3.0) for non-commercial use
6
+ 2. Commercial License for commercial use
7
+
8
+ You may choose which license applies to your use of this software.
9
+
10
+ ---
11
+
12
+ OPTION 1: AGPL-3.0 (Non-Commercial Use)
13
+ ========================================
14
+
15
+ For individuals, academic institutions, non-profit organizations, and open-source projects.
16
+
17
+ If you distribute this software or provide it as a service, you MUST:
18
+ - Make your complete source code available under AGPL-3.0
19
+ - Include this license and copyright notice
20
+ - Disclose any modifications you made
21
+
22
+ Copyright (C) 2025 Victor Louis SILVESTRE
23
+
24
+ This program is free software: you can redistribute it and/or modify
25
+ it under the terms of the GNU Affero General Public License as published by
26
+ the Free Software Foundation, either version 3 of the License, or
27
+ (at your option) any later version.
28
+
29
+ This program is distributed in the hope that it will be useful,
30
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
31
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
32
+ GNU Affero General Public License for more details.
33
+
34
+ You should have received a copy of the GNU Affero General Public License
35
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
36
+
37
+ Full AGPL-3.0 text: https://www.gnu.org/licenses/agpl-3.0.html
38
+
39
+ ---
40
+
41
+ OPTION 2: COMMERCIAL LICENSE
42
+ ==============================
43
+
44
+ For businesses and enterprises that want to:
45
+ - Use this software in proprietary/closed-source applications
46
+ - Distribute this software without disclosing source code
47
+ - Avoid AGPL-3.0 copyleft obligations
48
+ - Receive priority support and SLA guarantees
49
+
50
+ A Commercial License is REQUIRED if you:
51
+ - Integrate this software into a commercial product
52
+ - Provide this software as part of a paid service (SaaS, consulting, etc.)
53
+ - Use this software internally in a for-profit company without sharing modifications
54
+
55
+ Commercial License includes:
56
+ ✓ Perpetual usage rights without copyleft
57
+ ✓ Priority email/phone support
58
+ ✓ Service Level Agreement (SLA)
59
+ ✓ Custom feature development options
60
+ ✓ Legal indemnification
61
+ ✓ No requirement to disclose source code
62
+
63
+ See COMMERCIAL-LICENSE.md for detailed terms.
64
+
65
+ For commercial licensing inquiries:
66
+ 📧 Email: victor.silvestre.dev@gmail.com
67
+
68
+ ---
69
+
70
+ CHOOSING YOUR LICENSE
71
+ ======================
72
+
73
+ Use AGPL-3.0 if:
74
+ ✓ You're an individual developer, student, or researcher
75
+ ✓ Your project is open-source and AGPL-compatible
76
+ ✓ You're okay with sharing your modifications publicly
77
+ ✓ You're a non-profit or academic institution
78
+
79
+ Use Commercial License if:
80
+ ✓ You work for a for-profit company
81
+ ✓ You need to keep your code proprietary
82
+ ✓ You want to distribute this without AGPL obligations
83
+ ✓ You need enterprise support and SLA
84
+
85
+ ---
86
+
87
+ WHY DUAL LICENSE?
88
+ =================
89
+
90
+ This dual-license model ensures:
91
+ - Free access for individuals, researchers, and open-source community
92
+ - Sustainable development through commercial support
93
+ - Protection against cloud providers profiting without contribution
94
+ - Funding for long-term maintenance and feature development
95
+
96
+ Questions? Contact victor.silvestre.dev@gmail.com
package/README.fr.md ADDED
@@ -0,0 +1,359 @@
1
+ # Angular Migration Planner
2
+
3
+ > **Outil professionnel d'analyse de migrations Angular pour montées de version, refactoring Nx monorepo, et évaluation de dette technique**
4
+
5
+ Planifiez vos migrations Angular (17→18, 18→19, 19→20) avec analyse AST précise, calculez les charges de travail, et générez des dashboards HTML interactifs.
6
+
7
+ [![npm version](https://img.shields.io/npm/v/@silvestv/migration-planificator.svg)](https://www.npmjs.com/package/@silvestv/migration-planificator)
8
+ [![npm downloads](https://img.shields.io/npm/dm/@silvestv/migration-planificator.svg)](https://www.npmjs.com/package/@silvestv/migration-planificator)
9
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen)](https://nodejs.org/)
10
+ [![TypeScript](https://img.shields.io/badge/typescript-5.9-blue)](https://www.typescriptlang.org/)
11
+ [![Tests](https://img.shields.io/badge/tests-451%20passing-success)](tests)
12
+ [![License](https://img.shields.io/badge/license-AGPL--3.0%20OR%20Commercial-blue)](LICENSE)
13
+ [![Status](https://img.shields.io/badge/statut-alpha-orange)](https://www.npmjs.com/package/@silvestv/migration-planificator)
14
+
15
+ **[🇬🇧 English](https://github.com/silvestv/migration-planificator-documentation/blob/master/README.md) | [🇫🇷 Français](https://github.com/silvestv/migration-planificator-documentation/blob/master/README.fr.md)**
16
+
17
+ ---
18
+
19
+ Pour toute préoccupation de sécurité ou signaler une vulnérabilité, voir [SECURITY.md](https://github.com/silvestv/migration-planificator-documentation/blob/master/SECURITY.md)
20
+
21
+ ---
22
+
23
+ ## 🎯 C'est Quoi ?
24
+
25
+ Un **outil d'analyse de migrations Angular** complet pour :
26
+
27
+ - 🔄 **Migrations Angular** : Planifiez migrations 17→18, 18→19, 19→20 avec estimations précises
28
+ - 🏢 **Monorepo Nx** : Analysez workspaces multi-apps/libs avec détail par target
29
+ - 📊 **Dette Technique** : Identifiez APIs dépréciées, anti-patterns, opportunités de modernisation
30
+ - 💰 **Estimation Charge** : Calculez temps (jours/heures/minutes) par priorité et niveau de risque
31
+ - 🎨 **Modernisation Code** : Détectez opportunités Signals, Control Flow, Composants Standalone
32
+
33
+ Parfait pour **équipes techniques** et **tech leads** planifiant des upgrades Angular ou refactoring.
34
+
35
+ ---
36
+
37
+ ## 🏆 Pourquoi Choisir Cet Outil ?
38
+
39
+ Contrairement aux scanners regex simples ou audits manuels :
40
+
41
+ - ✅ **88% Couverture AST** : Détection contextuelle élimine faux positifs (ignore commentaires, strings, code migré)
42
+ - ✅ **Intelligence Cross-File** : Connecte TypeScript ↔ templates HTML (détecte patterns `@Component` + `<router-outlet>`)
43
+ - ✅ **Production-Ready** : 451 tests réussis, TypeScript strict mode, batch processing optimisé
44
+ - ✅ **Gain de Temps** : Calcul charge auto + timeline Gantt = roadmap migration instantanée
45
+ - ✅ **Zéro Dépendances** : Analyse AST pure avec ts-morph + @angular/compiler (pas d'APIs externes)
46
+
47
+ ---
48
+
49
+ ## ✨ Fonctionnalités
50
+
51
+ - **Précision AST** : Détection contextuelle via ts-morph + @angular/compiler (88% règles)
52
+ - **Dashboard Interactif** : Rapport HTML avec charts, timeline Gantt, édition temps réel
53
+ - **3 Modes Scan** : AST (précis), Regex (rapide), Both (comparatif avec analyse delta)
54
+ - **85+ Règles Migration** : Couvrant breaking changes, dépréciations, best practices
55
+ - **Analyse Cross-File** : Détection TypeScript ↔ templates HTML
56
+ - **Multi-Projets** : Support Nx Monorepo et Angular Standalone
57
+
58
+ ---
59
+
60
+ ## 🎓 Cas d'Usage
61
+
62
+ ### Migration Version Angular
63
+ Upgrade Angular 17→20 avec liste complète changements et estimations :
64
+ ```bash
65
+ npx @silvestv/migration-planificator --scanner=both --rules=all --project-path=/path/to/angular-app
66
+ ```
67
+ **Résultat** : Tous changements requis, breakdown temps, évaluation risques, planificateur interactif
68
+
69
+ ### Refactoring Monorepo Nx
70
+ Moderniser workspace Nx avec 10+ apps/libs :
71
+ ```bash
72
+ npx @silvestv/migration-planificator --scanner=both --project-path=/path/to/nx-workspace
73
+ ```
74
+ **Résultat** : Breakdown par app/lib, impact dépendances partagées, timeline Gantt
75
+
76
+ ### Évaluation Dette Technique
77
+ Auditer codebase pour APIs dépréciées :
78
+ ```bash
79
+ npx @silvestv/migration-planificator --scanner=ast --rules=[18,19,20]
80
+ ```
81
+ **Résultat** : Patterns dépréciés (*ngIf, @Input()), opportunités modernisation, tracking fichiers
82
+
83
+ ---
84
+
85
+ ## 🚀 Démarrage Rapide
86
+
87
+ ### Installation
88
+
89
+ #### Via npm (Recommandé)
90
+ ```bash
91
+ npm install -g @silvestv/migration-planificator
92
+ # ou
93
+ npx @silvestv/migration-planificator --project-path=/chemin/vers/projet
94
+ ```
95
+
96
+ #### Depuis les Sources
97
+ ```bash
98
+ git clone <repository-url>
99
+ cd @silvestv/migration-planificator
100
+ npm install
101
+ npm run build
102
+ ```
103
+
104
+ ### Générer Premier Rapport
105
+ ```bash
106
+ # Analyser répertoire courant
107
+ npx @silvestv/migration-planificator
108
+
109
+ # Analyser projet spécifique avec options
110
+ npx @silvestv/migration-planificator --scanner=both --project-path=/chemin/vers/projet
111
+
112
+ # Filtrer par version migration
113
+ npx @silvestv/migration-planificator --rules=18 # Seulement Angular 17→18
114
+ npx @silvestv/migration-planificator --rules=[18,19] # Angular 17→19
115
+
116
+ # Ou avec installation globale
117
+ @silvestv/migration-planificator --scanner=both --project-path=/chemin/vers/projet
118
+ ```
119
+
120
+ ### Ouvrir Rapport
121
+ ```bash
122
+ open output/index.html # macOS/Linux
123
+ start output/index.html # Windows
124
+ ```
125
+
126
+ ---
127
+
128
+ ## 💻 Utilisation
129
+
130
+ ### Après installation npm
131
+
132
+ ```bash
133
+ # Utilisation basique
134
+ npx @silvestv/migration-planificator
135
+
136
+ # Avec options
137
+ npx @silvestv/migration-planificator --scanner=both --project-path=/chemin/vers/projet --rules=all
138
+
139
+ # Installation globale
140
+ npm install -g @silvestv/migration-planificator
141
+ @silvestv/migration-planificator --scanner=ast --project-path=./mon-app-angular
142
+ ```
143
+
144
+ ### Options CLI
145
+ ```bash
146
+ --scanner=<mode> ast | regex | both [défaut: ast]
147
+ --project-path=<path> Chemin vers projet Angular [défaut: répertoire courant]
148
+ --rules=<versions> 18 | [18,19] | all [défaut: all]
149
+ ```
150
+
151
+ ### Exemples
152
+ ```bash
153
+ # Scanner répertoire courant avec AST
154
+ npx @silvestv/migration-planificator
155
+
156
+ # Scan comparatif (AST vs Regex) sur projet spécifique
157
+ npx @silvestv/migration-planificator --scanner=both --project-path=/workspace/mon-app
158
+
159
+ # Vérifier uniquement règles migration Angular 17→18
160
+ npx @silvestv/migration-planificator --rules=18
161
+
162
+ # Plusieurs versions avec scanner regex
163
+ npx @silvestv/migration-planificator --scanner=regex --rules=[18,19]
164
+ ```
165
+
166
+ ### Pour Développement (depuis repository cloné)
167
+ ```bash
168
+ # Build et exécution
169
+ npm run build
170
+ npm start -- --scanner=both --project-path=/chemin/vers/projet
171
+
172
+ # Scripts rapports rapides
173
+ npm run report # AST scan + HTML (default)
174
+ npm run report -- --scanner=ast # AST mode only
175
+ npm run report -- --scanner=regex # Regex mode only
176
+ npm run report -- --scanner=both # Comparative AST vs Regex
177
+ ```
178
+
179
+ ---
180
+
181
+ ## 📊 Contenu Rapport
182
+
183
+ ### Page Overview
184
+ - Résumé projet (type, version Angular, compteur apps/libs)
185
+ - Statistiques globales (règles détectées, charge totale)
186
+ - Cards apps/libs avec analyse individuelle
187
+
188
+ ### Page Workload
189
+ - **Charts** : Pie (migrations), Bar (top règles), Doughnut (priorités)
190
+ - **Timeline Gantt** : Phases migration séquentielles
191
+ - **Arbre Hiérarchique** : Monorepo → Apps/Libs → Migrations → Priorités → Règles
192
+ - **Édition Temps Réel** : Cliquer estimations pour ajuster, recalcul auto
193
+ - **Filtres** : Niveau risque, catégorie, type règle, recherche texte
194
+
195
+ ### Page Delta (Mode Both)
196
+ - Comparaison règle par règle (précision AST vs Regex)
197
+ - Analyse divergences, stats performance, recommandations
198
+
199
+ ---
200
+
201
+ ## 📋 Règles Migration
202
+
203
+ **85 règles** sur 3 versions :
204
+
205
+ | Migration | Obligatoires | Recommandées | Optionnelles | Total |
206
+ |-----------|--------------|--------------|--------------|-------|
207
+ | **17→18** | 8 | 17 | 0 | 25 |
208
+ | **18→19** | 15 | 13 | 9 | 37 |
209
+ | **19→20** | 6 | 7 | 5 | 18 |
210
+
211
+ ### Catégories
212
+ `environment` (versions Node/TS) • `imports` (modules) • `api` (APIs Angular) • `routing` (Router) • `template` (directives) • `test` (tests) • `ssr` (SSR) • `reactive` (Signals)
213
+
214
+ ### Niveaux Risque
215
+ 🔴 **Critical** (breaking changes) • 🟠 **High** (dépréciations majeures) • 🟡 **Medium** (améliorations) • 🟢 **Low** (optimisations)
216
+
217
+ ---
218
+
219
+ ## 🐛 Dépannage
220
+
221
+ ### Expression Régulière Invalide
222
+ Vérifier compatibilité JavaScript :
223
+ ```bash
224
+ # (?s) non supporté → utiliser [\s\S]*?
225
+ ```
226
+
227
+ ### Build Échoue
228
+ ```bash
229
+ rm -rf dist/
230
+ npm run build
231
+ ```
232
+
233
+ ### Rapport Vide
234
+ - Vérifier `--project-path` pointe vers racine Angular
235
+ - Vérifier présence `angular.json` ou `nx.json`
236
+ - Support Angular 17, 18, 19, 20
237
+
238
+ ---
239
+
240
+ ## 🔒 Sécurité et Confidentialité
241
+
242
+ **Ce CLI s'exécute entièrement sur votre machine locale.** Il ne **collecte, ne transmet, ni ne stocke** aucune donnée externe. Aucune requête réseau n'est effectuée pendant l'analyse.
243
+
244
+ - ✅ **100% Traitement Local** - Votre code ne quitte jamais votre machine
245
+ - ✅ **Aucune Télémétrie** - Zéro collecte de données ou tracking
246
+ - ✅ **Aucune API Externe** - Analyse AST pure avec bibliothèques locales
247
+ - ✅ **Package Signé** - Signé automatiquement par le registre npm pour vérification d'intégrité
248
+ - ✅ **Auditable** - Inspectez le contenu du package publié à tout moment :
249
+ ```bash
250
+ npm pack @silvestv/migration-planificator
251
+ tar -tzf silvestv-migration-planificator-*.tgz
252
+ # Ou visualisez les fichiers directement
253
+ npm view @silvestv/migration-planificator files
254
+ ```
255
+
256
+ Pour toute préoccupation de sécurité ou signaler une vulnérabilité, voir [SECURITY.md](https://github.com/silvestv/migration-planificator-documentation/blob/master/SECURITY.md)
257
+
258
+ ---
259
+
260
+ ## 🤝 Contribuer & Support
261
+
262
+ Ce projet utilise un **modèle double-licence** :
263
+ - **Licence AGPL-3.0** pour usage communautaire/open-source
264
+ - **Licence Commerciale** disponible pour support et fonctionnalités entreprise
265
+
266
+ ### 🐛 Signaler un Bug
267
+
268
+ Vous avez trouvé un bug ? Signalez-le via GitHub Issues :
269
+
270
+ 1. **Aller sur** : [GitHub Issues](https://github.com/silvestv/migration-planificator-documentation/issues/new/choose)
271
+ 2. **Sélectionner** : Template "Bug Report"
272
+ 3. **Remplir** :
273
+ - Description du bug
274
+ - Étapes pour reproduire
275
+ - Comportement attendu vs réel
276
+ - Votre environnement (OS, version Node.js, version Angular)
277
+ - Commande utilisée
278
+
279
+ **Lien direct** : [Signaler un Bug](https://github.com/silvestv/migration-planificator-documentation/issues/new?template=bug_report.md)
280
+
281
+ ### ✨ Demander une Fonctionnalité
282
+
283
+ Vous avez une idée d'amélioration ?
284
+
285
+ 1. **Aller sur** : [GitHub Issues](https://github.com/silvestv/migration-planificator-documentation/issues/new/choose)
286
+ 2. **Sélectionner** : Template "Feature Request"
287
+ 3. **Décrire** :
288
+ - Le problème que vous essayez de résoudre
289
+ - Votre solution proposée
290
+ - Cas d'usage et qui en bénéficie
291
+ - Maquettes ou exemples éventuels
292
+
293
+ **Lien direct** : [Demander une Fonctionnalité](https://github.com/silvestv/migration-planificator-documentation/issues/new?template=feature_request.md)
294
+
295
+ ### ❓ Poser une Question
296
+
297
+ Besoin d'aide ou vous avez des questions ?
298
+
299
+ 1. **Aller sur** : [GitHub Issues](https://github.com/silvestv/migration-planificator-documentation/issues/new/choose)
300
+ 2. **Sélectionner** : Template "Question"
301
+ 3. **Vérifier d'abord** :
302
+ - [FAQ](https://github.com/silvestv/migration-planificator-documentation/blob/master/FAQ.md)
303
+ - [Guide de Dépannage](https://github.com/silvestv/migration-planificator-documentation/blob/master/TROUBLESHOOTING.md)
304
+
305
+ **Lien direct** : [Poser une Question](https://github.com/silvestv/migration-planificator-documentation/issues/new?template=question.md)
306
+
307
+ ### 📧 Contact Direct
308
+
309
+ Pour les problèmes urgents, préoccupations de sécurité ou demandes commerciales :
310
+
311
+ 📧 **Email** : victor.silvestre.dev@gmail.com
312
+
313
+ **Utilisateurs entreprise** : Contactez-nous pour licence commerciale, support prioritaire et fonctionnalités personnalisées.
314
+
315
+ ---
316
+
317
+ ## 📝 Licence
318
+
319
+ **Double Licence** © 2025 Victor Louis SILVESTRE
320
+
321
+ Ce projet est disponible sous deux licences :
322
+
323
+ ### 1. AGPL-3.0 (Gratuit pour Usage Non-Commercial)
324
+ Pour particuliers, étudiants, chercheurs, organisations à but non lucratif et projets open-source.
325
+
326
+ **Obligations si vous distribuez ou fournissez comme service** :
327
+ - ✅ Rendre votre code source complet disponible sous AGPL-3.0
328
+ - ✅ Partager toutes modifications publiquement
329
+ - ✅ Inclure mentions de copyright et de licence
330
+
331
+ ### 2. Licence Commerciale (Pour Usage Professionnel)
332
+ Pour les entreprises qui doivent utiliser ce logiciel sans les obligations AGPL.
333
+
334
+ 📧 Contact : victor.silvestre.dev@gmail.com
335
+
336
+ Voir [LICENSE](https://github.com/silvestv/migration-planificator-documentation/blob/master/LICENSE).
337
+
338
+
339
+ ## 🙏 Remerciements
340
+
341
+ Construit avec **ts-morph** (AST TypeScript), **@angular/compiler** (parsing HTML), **TailwindCSS** (design), **Chart.js** (visualisation)
342
+
343
+ ---
344
+
345
+ **🚀 Commencez à planifier votre migration Angular dès aujourd'hui !**
346
+
347
+ ---
348
+
349
+ ## ⚠️ Avertissement
350
+
351
+ This tool is provided **"AS IS"** without warranty of any kind - Use at your own risk.
352
+ - Utilisez à vos risques et périls.
353
+ - Aucune garantie fournie. Non affilié à une organisation.
354
+
355
+ **Utilisateurs entreprise** : Verrouillez les versions exactes, vérifiez les rapports avant partage, ajoutez `output/` au `.gitignore`.
356
+
357
+ ---
358
+
359
+ 📧 [Contact](mailto:victor.silvestre.dev@gmail.com) • 📦 [Package NPM](https://www.npmjs.com/package/@silvestv/migration-planificator)