Votre code Magento 2 vous coûte plus que vous ne le pensez
EasyAudit détecte les anti-patterns qui ralentissent chaque requête et compliquent chaque mise à jour. Scannez depuis le CLI, le CI/CD ou directement depuis votre navigateur — et laissez le Fixer corriger automatiquement les problèmes.
19
Processeurs d'analyse
~455 KB
PHAR autonome
< 2 min
Temps d'installation
0
Dépendances
MIT
Sous licence
Le coût caché des mauvaises pratiques
La propre documentation d'Adobe met en garde contre les plugins around et les dépendances à des classes concrètes. Mais les avertissements ne corrigent pas les bases de code — et l'impact est mesurable.
Plugins Around : le tueur de performance silencieux
Le framework d'interception de Magento effectue environ 67 000 vérifications par chargement de page. Chaque plugin around ajoute un callback $proceed() à la pile — des traces plus profondes, un débogage plus difficile et des chaînes bloquées si $proceed() n'est jamais appelé.
Sur une page produit, la résolution des plugins à elle seule représente ~160ms de surcharge. C'est plus de temps que certaines plateformes n'en ont besoin pour afficher une page entière.
La solution : si un plugin ne modifie que les arguments, ce devrait être un before. S'il ne modifie que la valeur de retour, un after. EasyAudit les détecte. Le Fixer les réécrit.
Injection de classes concrètes : bombe à retardement des mises à jour
Adobe garantit la rétrocompatibilité uniquement pour les interfaces marquées @api. Chaque dépendance à une classe concrète est un pari non protégé sur le fait que la signature du constructeur ne changera pas.
Entre Magento 2.4.6 et 2.4.7, le constructeur de ProductRepository a changé — cassant chaque module qui étendait la classe concrète. Signalé comme un problème P1 sur GitHub.
La solution : remplacer les classes concrètes par l'interface appropriée. EasyAudit les détecte dans toute votre base de code. Le Fixer génère les correctifs.
Proxys manquants : chaque commande en paie le prix
Vous lancez bin/magento cache:flush ? Magento instancie d'abord chaque commande enregistrée avec son arbre de dépendances complet. Pas de proxy = des centaines d'objets inutiles à chaque appel CLI.
Multipliez par la fréquence des crons et le nombre de commandes personnalisées dans votre projet. Cette surcharge tourne 24h/24, 7j/7, que la commande soit la vôtre ou non.
La solution : utiliser des proxys pour les dépendances lourdes dans di.xml afin qu'elles ne se chargent que lorsque la commande est réellement exécutée. EasyAudit les détecte. Le Fixer génère la configuration.
count() sur les Collections : 50 000 objets pour un seul entier
Appeler count($collection) déclenche load() — un SELECT * complet qui hydrate chaque ligne en objet PHP, juste pour les compter. Sur un catalogue de 50 000 articles, c'est un pic de mémoire pour un simple nombre.
getSize() fait le même travail avec un seul SELECT COUNT(*). Pas de chargement, pas d'hydratation, pas de pic de mémoire.
La solution : remplacer count() par getSize(). EasyAudit trouve chaque occurrence. Le Fixer les réécrit.
Comment ça marche
Choisissez votre méthode de scan
Gratuit
CLI / Docker
Une commande. Scannez en local ou dans votre pipeline.
Installer
Gratuit
GitHub Actions
Scans automatisés à chaque push, résultats dans Code Scanning.
Configurer
crédits
Scanner web
Collez un lien Packagist, une URL de dépôt Git ou envoyez une archive. Aucune installation requise.
Connexion
Puis corrigez ce qui compte
Lancez le Fixer sur les problèmes de votre choix. Obtenez des fichiers .patch standard que vous relisez et appliquez. C'est tout.
Obtenir des crédits Fixer
Pas d'installation ? Pas de problème.
Collez un lien Packagist, une URL de dépôt Git public ou envoyez une archive .zip / .tar.gz. EasyAudit scanne le code dans un conteneur sécurisé et isolé et fournit le même rapport que le CLI — directement dans votre navigateur.
Les scans web utilisent des crédits. Le coût varie selon la taille du projet. Les petits modules ne coûtent que quelques crédits ; les installations Magento complètes coûtent davantage.
Idéal pour :
- Évaluer une extension tierce avant de l'installer
- Vérifications rapides quand vous n'avez pas Docker ou PHP en local
- Partager des résultats avec un client sans lui demander d'exécuter quoi que ce soit
10 crédits gratuits à l'inscription
Ce que corrige EasyAudit
Around → Before/After
Plugins around inutiles qui devraient ĂŞtre des before ou after
3 crédits
Injection de classes concrètes
Dépendances sur des implémentations au lieu d'interfaces
3 crédits
Utilisation directe d'ObjectManager
Dépendances cachées qui cassent l'injection de dépendances et la testabilité
2 crédits
Configuration de proxy manquante
Classes lourdes instanciées là où un proxy devrait être utilisé
1 crédit
Collection sans Factory
Collections créées sans le pattern factory
1 crédit
Repository sans interface
Classes repository n'implémentant pas leur contrat d'interface
1 crédit
La détection est toujours gratuite via CLI et CI/CD. Les crédits sont utilisés pour la génération automatique de correctifs et pour les scans web. Un crédit = une correction par fichier.
Correctifs automatiques. ContrĂ´le total.
Le Fixer d'EasyAudit génère des correctifs standard au format unified diff pour chaque problème qu'il peut corriger. Aucun code n'est modifié sans votre approbation explicite.
Comment ça marche :
- Lancez l'audit (CLI ou CI/CD)
- Demandez des correctifs pour les problèmes de votre choix
- Relisez les fichiers
.patch générés
- Appliquez avec
git apply — c'est fait
Les correctifs sont générés en quelques millisecondes et adaptés à votre base de code. Pas de templates génériques, pas de copier-coller depuis Stack Overflow.
Intégration CI/CD native
Ajoutez EasyAudit à votre pipeline en 5 lignes. Scannez à chaque push, affichez les problèmes dans GitHub Code Scanning et corrigez automatiquement avec une PR — le tout sans quitter votre workflow.
# .github/workflows/easyaudit.yml
- uses: actions/checkout@v6
- run: |
docker run --rm -v $PWD:/workspace ghcr.io/crealoz/easyaudit:latest \
scan /workspace --format=sarif --output=/workspace/report.sarif
- uses: github/codeql-action/upload-sarif@v4
with:
sarif_file: report.sarif
Tarifs
L'audit CLI est gratuit, pour toujours. Les crédits sont utilisés pour la génération automatique de correctifs et les scans web.
Gratuit
€0
10 crédits à l'inscription
Essayez le Fixer sur quelques fichiers
Créer un compte
Ponctuel
€4.99
25 credits
Sans engagement, achat unique
Starter
€2.99/mo
50 credits/mo
Développeurs indépendants
S'abonner
Meilleur rapport qualité-prix
Pro
€9.99/mo
250 credits/mo
La plupart des projets en un mois
S'abonner
Agency
€24.99/mo
1000 credits/mo
Projets multi-clients
S'abonner
Un crédit = une correction automatique par fichier. Le coût des scans web varie selon la taille du projet. La détection CLI/CI est toujours gratuite et illimitée.
Démarrez en moins de 2 minutes
Documentation complète → incluant la configuration CI/CD pour GitHub, GitLab, Bitbucket, Azure, CircleCI, Jenkins et Travis.
Votre base de code ne va pas se nettoyer toute seule
Commencez par un audit gratuit. Voyez ce qu'EasyAudit détecte. Corrigez ce qui compte.