# Correctif final lot 12 - Authentification production

## Objectif
Finaliser l'ecran de connexion avant deploiement OVH : suppression de l'auto-inscription, ajout du flux mot de passe oublie et amelioration UI/UX de la page de connexion.

## Fichiers ajoutes
- `app/Http/Controllers/Auth/PasswordResetLinkController.php`
- `app/Http/Controllers/Auth/NewPasswordController.php`
- `resources/js/Pages/Auth/ForgotPassword.vue`
- `resources/js/Pages/Auth/ResetPassword.vue`
- `tests/Feature/AuthProductionAccessTest.php`

## Fichiers modifies
- `routes/auth.php`
- `resources/js/Layouts/GuestLayout.vue`
- `resources/js/Pages/Auth/Login.vue`

## Migrations a executer
Aucune migration nouvelle. La table Laravel `password_reset_tokens` existe deja dans la migration initiale utilisateurs.

## Commandes a lancer
```bash
cd ~/programme/crm
unzip -o ~/Telechargements/crm_synoluvia_lot_12_correctif_auth_production.zip -d .
php artisan optimize:clear
php artisan test --filter=AuthProductionAccessTest
npm run build
```

Sur un poste avec dossier francise :
```bash
unzip -o ~/Téléchargements/crm_synoluvia_lot_12_correctif_auth_production.zip -d .
```

## Tests manuels
1. Ouvrir `/login`.
2. Verifier que le lien `Creer un utilisateur` n'est plus visible.
3. Verifier que le lien `Mot de passe oublie ?` est visible.
4. Ouvrir `/register` et verifier que la page n'existe plus.
5. Ouvrir `/mot-de-passe-oublie`, saisir une adresse utilisateur existante et verifier le message de confirmation.
6. En environnement local avec `MAIL_MAILER=log`, consulter `storage/logs/laravel.log` pour retrouver le lien de reinitialisation.
7. En production OVH, configurer le SMTP avant d'utiliser la reinitialisation par e-mail.

## Points de vigilance
- Le CRM n'envoie pas un mot de passe en clair par e-mail. Il envoie un lien securise permettant a l'utilisateur de choisir un nouveau mot de passe.
- La creation des comptes doit maintenant passer uniquement par `Parametres > Utilisateurs`, accessible aux administrateurs.
- En production, verifier les variables `MAIL_*` du fichier `.env`.
