Sylius Upgrade Analyzer.

L'outil open source qui audite votre projet Sylius 1.x avant la migration vers Sylius 2 : il détecte chaque changement incompatible, estime l'effort et corrige automatiquement une partie du travail. Je l'ai créé parce que chiffrer une migration à la main prenait des jours.

composer require --dev pierre-arthur/sylius-upgrade-analyzer
vendor/bin/sylius-upgrade-analyzer sylius-upgrade:analyze --target-version=2.3

49 analyseurs, cinq familles

La couverture vient des fichiers officiels UPGRADE-2.0.md, UPGRADE-API-2.0.md et CHANGELOG-2.0.md du dépôt Sylius. Chaque problème trouvé est classé par gravité, avec le fichier et la ligne concernés.

Gabarits et interface (6)

Gabarits Twig surchargés à porter en Twig Hooks, événements Sonata, classes Semantic UI, jQuery, configuration Webpack Encore.

Dépréciations et ruptures (35)

winzou vers Symfony Workflow, Payum et Payment Requests, SwiftMailer, bus Messenger renommés, plus de 150 classes supprimées, services renommés, routes retirées, signatures de constructeurs modifiées.

Plugins (1)

Chaque plugin du composer.json croisé avec le Sylius Store et Packagist pour savoir s'il existe une version compatible 2.x.

Grilles et ressources (3)

Grilles personnalisées en YAML ou en PHP, filtres, configuration de SyliusResourceBundle.

API Platform (4)

Annotations ApiResource, DataProvider et DataPersister, groupes de sérialisation, points d'accès restructurés.

Ce que l'outil fait en plus de détecter

Corrections automatiques

Plus de 40 correcteurs, chacun avec un niveau de confiance. Ils génèrent la configuration des Twig Hooks, convertissent les machines d'état winzou, renomment services et bus, nettoient bundles.php et composer.json. Les corrections de confiance moyenne laissent un marqueur TODO à relire.

Planificateur de sprints

Le chantier est découpé en étapes avec une estimation d'effort par catégorie.

Intégration continue

Une action GitHub lance l'analyse à chaque pull request, commente le résultat et suit la progression avec une base de référence.

Règles personnalisées

Un fichier .sylius-upgrade-rules.yaml pour détecter les motifs propres à votre code.

Plusieurs projets

Analyse consolidée pour les agences qui maintiennent plusieurs boutiques Sylius.

Formats de rapport

Console

Jauge de risque, gravité en couleur, répartition par catégorie.

JSON et CSV

Pour vos tableurs et vos outils de suivi.

SARIF

Les problèmes apparaissent dans GitHub Code Scanning.

Markdown

Un rapport prêt à coller dans une pull request ou un wiki.

Vous préférez que je lance l'analyse ?

Je lance l'outil sur votre projet, je relis le résultat et je vous remets un rapport commenté : postes de travail, plugins à remplacer, estimation en jours, version cible et ordre des travaux. C'est offert.

Ensuite, vous décidez : migrer avec moi, avec votre équipe ou avec un autre prestataire. Voir comment je mène une migration Sylius 2.

Gratuit et sans engagement. Votre numéro sert uniquement à vous rappeler.

Questions fréquentes

Sylius Upgrade Analyzer est-il gratuit ?

Oui. L'outil est open source sous licence MIT et s'installe avec Composer. Le code est public sur GitHub et la fiche est publiée sur le Sylius Store.

Mon code est-il envoyé quelque part ?

Non. L'analyse s'exécute sur votre machine ou dans votre intégration continue. Votre code n'est transmis nulle part : seule la vérification des plugins interroge le Sylius Store et Packagist, avec le nom des paquets.

Quels sont les prérequis ?

PHP 8.2 ou plus et Symfony 6.4 ou 7.2 pour faire tourner l'outil, et un projet Sylius 1.x à analyser, de la version 1.0 à la 1.14.

Quelle différence avec Sylius Rector ?

Les règles Rector officielles de Sylius couvrent certains plugins et Sylius Plus, pas la migration du cœur de 1.14 vers 2.0. Sylius Upgrade Analyzer part des notes de migration officielles du cœur, mesure l'ampleur du chantier et corrige une partie des points automatiquement.

L'outil fait-il la migration à ma place ?

Non, et aucun outil ne le peut sérieusement. Il retire le travail mécanique et vous dit précisément ce qui reste. La réécriture du thème, des règles métier et des paiements demande toujours un développeur.

Pouvez-vous lancer l'analyse pour moi ?

Oui, c'est le diagnostic offert : vous laissez votre numéro, je vous rappelle, je lance l'outil sur votre projet et je vous remets un rapport commenté avec une estimation en jours.