﻿REMETTRE LE MOT DE PASSE DU COMPTE « admin » A « admin »
=========================================================

Khazina — remise du mot de passe administrateur par la base de donnees.
A faire quand l'administrateur ne peut plus entrer et qu'il a acces a
phpMyAdmin (hebergement mutualise : c'est le chemin le plus court).

Resultat : identifiant « admin », mot de passe « admin ».


COMMENT FAIRE
-------------

 1. Ouvrir phpMyAdmin chez l'hebergeur.

 2. Selectionner A GAUCHE la base de Khazina (son nom est celui ecrit
    dans « config/config.local.php »).

 3. Cliquer sur l'onglet « SQL » — EN HAUT.

    /!\ PAS le crayon « Editer » de la ligne. La colonne « Fonction »
        de phpMyAdmin ne propose que MD5, SHA1 et SHA2 : MESURE, aucune
        des trois n'ouvre la connexion. Khazina ne relit qu'une seule
        forme, « bcrypt », 60 octets — et MySQL n'a aucune fonction qui
        la produise. C'est pour cela que l'empreinte est ecrite ici
        toute faite.

 4. Coller LES DEUX requetes ci-dessous, puis cliquer « Executer ».

 5. Se connecter :  admin  /  admin

 6. CHANGER CE MOT DE PASSE aussitot, depuis « Reglages > Utilisateurs
    & acces », ou depuis votre profil. « admin » est une valeur connue.


LES DEUX REQUETES — a coller telles quelles
-------------------------------------------

UPDATE users SET password_hash = '$2y$10$pYXAZ4n41.kEne8LabTu6.07W1M5ZNG0hT.SuvIAnPt2f6DF2KxsC',
                 failed_attempts = 0,
                 locked_until = NULL,
                 active = 1
 WHERE username = 'admin';

INSERT INTO settings (k, v) VALUES ('mdp_installation_tranche', '1')
  ON DUPLICATE KEY UPDATE v = VALUES(v);


POURQUOI CHAQUE MORCEAU EST LA
------------------------------

 password_hash   L'empreinte de « admin », en bcrypt. Elle a ete relue
                 par « password_verify » avant d'etre ecrite ici : une
                 empreinte qu'on ne verifie pas peut venir d'une option
                 refusee, et la ligne collee n'ouvrirait jamais, sans
                 un message.

 failed_attempts CINQ essais manques verrouillent le compte UNE HEURE.
 locked_until    Si vous avez deja essaye plusieurs fois, le bon mot de
                 passe n'ouvrira pas davantage — et l'on chercherait la
                 cause dans le mot de passe. Les deux colonnes remettent
                 le compteur et levent le verrou dans le meme geste.

 active          Un compte desactive refuse aussi, avec un autre
                 message. On ne laisse pas cette cause-la ouverte.

 La 2e requete   LE PIEGE LE PLUS COUTEUX. Sans le marqueur
                 « mdp_installation_tranche », la connexion mene droit
                 sur « premier_acces.php », qui exige de changer le mot
                 de passe livre : le compte « n'ouvre pas » alors que le
                 mot de passe est JUSTE. Mesure a la ronde C82.


SI CA NE MARCHE TOUJOURS PAS
----------------------------

La cause est alors ailleurs, et il n'en reste pas beaucoup :

 · le compte porte un AUTRE identifiant que « admin » — verifier avec :
       SELECT id, username, role, active FROM users;

 · il y a DEUX bases et vous avez ecrit dans la mauvaise — le nom juste
   est celui de « config/config.local.php » ;

 · la requete a touche 0 ligne — phpMyAdmin l'affiche : « 0 ligne
   affectee ». C'est le cas 1 ou le cas 2.


AUTRES CHEMINS, SI VOUS N'AVEZ PAS phpMyAdmin
---------------------------------------------

 · « passwordadmin.php » depuis le navigateur, avec sa cle d'atelier
   posee dans le fichier (il faut un acces FTP) ;

 · un SECOND compte administrateur, qui remet le mot de passe du
   premier depuis « Reglages > Utilisateurs & acces ».
   /!\ A CREER MAINTENANT, pendant que vous avez encore la main : un
       seul compte admin est un point unique de panne, et c'est lui qui
       transforme un oubli en incident.
