-- Distinguer la nature d'une tentative dans tentatives_connexion.
--
-- La table servait a une seule chose : compter les echecs de connexion. Elle doit
-- maintenant aussi limiter les demandes de reinitialisation de mot de passe, sans
-- quoi ce formulaire public devient un outil pour inonder de courriels l'adresse
-- de son choix.
--
-- Pourquoi une colonne et non un simple comptage global : une demande de
-- reinitialisation ne doit PAS compter comme un echec de connexion. Sinon
-- demander un nouveau mot de passe rapprocherait du verrouillage — exactement
-- l'inverse du service rendu. Les deux compteurs doivent etre etanches.
--
-- DEFAULT 'connexion' : les lignes existantes sont toutes des tentatives de
-- connexion, la valeur par defaut les qualifie correctement sans conversion.

ALTER TABLE tentatives_connexion
    ADD COLUMN action VARCHAR(20) NOT NULL DEFAULT 'connexion' AFTER ip,
    DROP INDEX idx_tentatives_email,
    DROP INDEX idx_tentatives_ip,
    ADD KEY idx_tentatives_email (email, action, created_at),
    ADD KEY idx_tentatives_ip (ip, action, created_at);
