Sylius Upgrade Analyzer : Automatisez l'Audit de Migration
Auditer manuellement un projet Sylius pour estimer sa migration vers 2.x prenait des jours de travail et produisait des spreadsheets incomplets. J'ai donc construit un outil CLI qui automatise ce diagnostic en quelques secondes.
Le problème
La fin du support de Sylius 1.x approche. Chaque projet doit migrer vers la 2.x, mais l'ampleur des changements rend l'estimation complexe : templates, state machines, mailer, plugins, API Platform... Un audit manuel d'un projet moyen prend 2-3 jours et reste incomplet.
La solution : Sylius Upgrade Analyzer
Un outil CLI open-source qui scanne votre codebase Sylius 1.x et génère un diagnostic complet de migration.
Installation
composer require --dev pierre-arthur/sylius-upgrade-analyzer
vendor/bin/sylius-upgrade-analyzer sylius-upgrade:analyze
Prerequis
- PHP 8.2+
- Symfony 6.4 ou 7.2
- Projet Sylius 1.x
49 analyseurs organises en 5 familles
1. Templates & Frontend
- Detection des templates Sylius overrides pour migration Twig Hooks
- Detection des classes CSS Semantic UI
- Identification de jQuery et JS legacy
2. Deprecations & Breaking Changes
- Conversion winzou vers Symfony Workflow
- Migration SwiftMailer vers symfony/mailer
- 150+ classes supprimees, services renommes, routes supprimees
- Restructuration des passerelles de paiement
- Migrations de formats de configuration
3. Plugins
- Cross-référence avec le Sylius Addons Marketplace
- Intégration Packagist pour vérification des versions
4. Grid & Resource
- Modifications custom des grids YAML/PHP
- Suivi de l'evolution de la syntaxe des filtres
5. API Platform
- Mises a jour des namespaces
- Changements de prefixes des groupes de serialisation
- Restructuration des endpoints
Classification des problèmes
- BREAKING : Incompatibilites critiques bloquantes
- WARNING : Changements probablement problematiques
- SUGGESTION : Ameliorations recommandees
Chaque issue inclut une estimation en heures et un lien vers la documentation.
Auto-fix : 41 correcteurs integres
Les fixers appliquent automatiquement les corrections courantes avec des niveaux de confiance :
- HIGH : Application automatique sans risque (renommage service ID, migrations de config)
- MEDIUM : Probablement correct mais a vérifier (conversion workflow)
# Dry-run pour voir les changements
vendor/bin/sylius-upgrade-analyzer sylius-upgrade:analyze --fix --dry-run
# Appliquer les corrections
vendor/bin/sylius-upgrade-analyzer sylius-upgrade:analyze --fix
6 formats de sortie
- Console (defaut, jauge ASCII coloree)
- JSON (intégration CI/CD)
- CSV (compatible Excel)
- SARIF (GitHub Code Scanning)
- Markdown (documentation PR)
- PDF (rapports professionnels via service web)
Intégration GitHub Actions
- uses: pierrearthurdemengel/sylius-upgrade-analyzer@v1
with:
project-path: '.'
target-version: '2.2'
fail-on-breaking: 'true'
Fonctionnalites avancees
- Regles custom via
.sylius-upgrade-rules.yaml - Gestion de baseline pour comparer les résultats entre scans
- Sprint planning avec configuration de velocite
- Analyse multi-projets pour les agences
- Notifications webhook
