[bruteforcelogin] refactor : remplacer le tracking SQL par fichiers (…)

spip-contrib-extensions/bruteforcelogin

Par pierretux, le 16 avril 2026 à 08h41min :

refactor: remplacer le tracking SQL par fichiers temporaires et moderniser l’outillage qualité

Tracking des bruteforces :

  • Les tentatives échouées sont désormais tracées dans tmp/bruteforces/ (fichiers
    sérialisés par login et par IP) pour éviter une écriture SQL à chaque tentative
  • L’insertion en base (vue admin) n’est effectuée qu’au premier blocage
  • Ajout d’un suivi par adresse IP en parallèle du suivi par login
  • Suppression de la dépendance à job_queue pour la planification des suppressions
  • Nouveau génie genie/bruteforces.php : purge toutes les 30 min les fichiers
    expirés et les enregistrements en base (pipeline taches_generales_cron)
  • Nettoyage du répertoire tmp/bruteforces/ à la désinstallation du plugin

Qualité / outillage :

  • Remplacement de phpcs + phpstan par EasyCodingStandard (ecs.php) et Rector (rector.php)
  • Mise à jour composer.json : spip-league/easy-coding-standard, rector v2, spip-league/rector
  • Suppression de phpcs.xml.dist, phpstan.neon.dist, phpstan-baseline.neon
  • Fichiers lang migrés vers la syntaxe return […] (format SPIP moderne)
  • Corrections de style uniformes (indentation, trailing commas, is_null → === null)

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

Ajouté
.gitattributes
ecs.php
genie/bruteforces.php
rector.php
Supprimé
phpcs.xml.dist
phpstan-baseline.neon
phpstan.neon.dist
Modifié
.gitignore
action/supprimer_bruteforce.php
base/bruteforcelogin.php
bruteforcelogin_administrations.php
bruteforcelogin_autorisations.php
bruteforcelogin_pipelines.php
composer.json
formulaires/editer_bruteforce.php
genie/supprimer_bruteforce.php
lang/bruteforce_fr.php
lang/bruteforcelogin_fr.php
lang/paquet-bruteforcelogin_fr.php
paquet.xml

Détails : refactor: remplacer le tracking SQL par fichiers temporaires et moderniser l'outillage qualité (24727bf6) · Validations · spip-contrib-extensions / bruteforcelogin · GitLab