# CHANGELOG - Lots 8 et 9 - Notes internes et relances

## Objectif

Livrer en un seul ZIP incrementiel les lots :

- Lot 8 : notes internes depuis la fiche prospect et page globale des notes.
- Lot 9 : vue de pilotage des relances et action de relance faite.

## Fichiers ajoutes

- `app/Http/Controllers/ProspectNoteController.php`
- `app/Http/Controllers/NoteController.php`
- `app/Http/Controllers/FollowUpController.php`
- `app/Http/Requests/StoreProspectNoteRequest.php`
- `app/Http/Requests/UpdateProspectNoteRequest.php`
- `app/Http/Requests/FollowUpIndexRequest.php`
- `app/Http/Requests/CompleteFollowUpRequest.php`
- `resources/js/Pages/Notes/Index.vue`
- `resources/js/Pages/FollowUps/Index.vue`
- `tests/Feature/ProspectNotesAndFollowUpsTest.php`
- `CHANGELOG_LOT_8_9.md`

## Fichiers modifies

- `routes/web.php`
- `resources/js/Layouts/AuthenticatedLayout.vue`
- `resources/js/Pages/Prospects/Show.vue`
- `README.md`

## Migrations a executer

Aucune migration nouvelle.

Les tables utilisees existent deja depuis le lot 1 :

- `prospect_notes`
- `prospects`
- `interactions`
- `activity_logs`

## Commandes Linux VM

```bash
cd ~/programme/crm
unzip -o ~/Téléchargements/crm_synoluvia_lot_8_9.zip -d .
php artisan optimize:clear
php artisan test --filter=ProspectNotesAndFollowUpsTest
npm run build
```

Si le ZIP est dans un dossier `Downloads` :

```bash
cd ~/programme/crm
unzip -o ~/Downloads/crm_synoluvia_lot_8_9.zip -d .
php artisan optimize:clear
php artisan test --filter=ProspectNotesAndFollowUpsTest
npm run build
```

## Equivalent PowerShell

```powershell
cd .\programme\crm
Expand-Archive -Force .\crm_synoluvia_lot_8_9.zip -DestinationPath .
php artisan optimize:clear
php artisan test --filter=ProspectNotesAndFollowUpsTest
npm run build
```

## Tests manuels a realiser

### Notes

1. Ouvrir `/prospects`.
2. Cliquer sur `Voir` sur un prospect.
3. Ouvrir l'onglet `Notes`.
4. Ajouter une note simple.
5. Ajouter une note epinglee.
6. Modifier une note.
7. Supprimer une note.
8. Ouvrir `/notes` et verifier que les notes apparaissent.
9. Tester la recherche et le filtre `Notes epinglees seulement`.

### Relances

1. Ouvrir une fiche prospect.
2. Programmer une relance depuis les actions rapides si aucune relance n'existe.
3. Ouvrir `/relances`.
4. Tester les filtres : `En retard`, `Aujourd hui`, `7 jours`, `30 jours`, `Toutes`.
5. Cliquer sur `Marquer faite`.
6. Verifier qu'une interaction `Relance effectuee` est creee.
7. Verifier que `next_follow_up_date` est videe sur le prospect.
8. Verifier que le prospect passe en statut `contacte`.

## Points de vigilance

- Les accents visibles restent limites dans certains libelles historiques du projet afin de rester coherent avec les fichiers deja produits.
- L'action `Marquer faite` ne programme pas une nouvelle relance. Pour reprogrammer, utiliser la fiche prospect.
- La page `/relances` n'affiche que les prospects ayant une date de relance renseignee et qui ne sont pas `refus` ou `archive`.
- Le lot 10 gerera les modeles d'e-mail et les fichiers ; l'onglet fichiers reste donc en lecture simple.
