# Suivi-Évaluation FOSER

Application de suivi-évaluation du **Fonds de Soutien à l'Éducation et à la Formation (FOSER)** : programmation annuelle des activités, collecte et validation des réalisations, suivi de projets pluriannuels, tableaux de bord, rapports et exports.

> *« Investir dans le savoir, bâtir l'avenir. »*

## Sommaire

- [Fonctionnalités](#fonctionnalités)
- [Pile technique](#pile-technique)
- [Installation (développement)](#installation-développement)
- [Tests](#tests)
- [Commandes utiles](#commandes-utiles)
- [Documentation](#documentation)
- [Déploiement](#déploiement)
- [Sécurité](#sécurité)

## Fonctionnalités

- **Programmation annuelle** : axes, objectifs, activités et indicateurs, numérotés automatiquement (A1, O1.1, A1.1.1…), avec import depuis un classeur Excel ; circuit de validation (brouillon → soumis → validé → verrouillé) et ajustements versionnés.
- **Réalisations** : saisie par période, pièces justificatives, circuit de validation indépendant (point focal → validateur), taux d'avancement calculé automatiquement avec contrôle d'écart.
- **Projets pluriannuels** : cadrage, planification, exécution et clôture ; rattachement à une ou plusieurs activités par exercice (budget et objectif de l'année) ; jalons, livrables, risques, décisions.
- **Tableaux de bord** : indicateurs de synthèse (taux physique, financier, temporel), graphiques d'évolution, filtres par axe, objectif et structure.
- **Rapports et exports** : bilans, fiches projet et exports Excel au format PDF/Excel, sur données validées uniquement.
- **Sécurité et traçabilité** : droits par profil (sept profils métier), journal d'audit, journal des connexions, sauvegardes chiffrées.

Le détail des règles de gestion et des calculs figure dans le [dossier technique](documentation/dossiers/Dossier-technique.pdf).

## Pile technique

- **PHP 8.2** / **Laravel 12**, Blade, Tailwind CSS 4, Vite.
- **MySQL** (InnoDB imposé) en production, SQLite pour les tests.
- Select2, DataTables, Chart.js, jQuery — tous embarqués, sans dépendance à un CDN.
- dompdf (PDF) et PhpSpreadsheet (Excel).

## Installation (développement)

Prérequis : PHP 8.2+, Composer, Node.js, une base MySQL (ou SQLite pour les tests).

```bash
composer install
npm install
cp .env.example .env
php artisan key:generate
php artisan migrate --seed   # crée les tables et un jeu de données de démonstration
npm run build                # ou npm run dev en développement
php artisan serve
```

`php artisan installation:verifier` contrôle qu'une installation est correctement configurée (base, sécurité, dossiers, planificateur…).

## Tests

```bash
php artisan test
```

Suite complète : voir le [cahier de recette](documentation/dossiers/Cahier-de-recette.pdf) pour le détail par domaine et le lien avec les critères d'acceptation du cahier des charges.

## Commandes utiles

| Commande | Rôle |
|---|---|
| `php artisan installation:verifier` | Contrôle qu'une installation est correctement configurée |
| `php artisan sauvegarde:creer` | Crée une sauvegarde (base + pièces jointes), chiffrable en AES-256 |
| `php artisan sauvegarde:restaurer <archive>.zip` | Restaure une sauvegarde |
| `php artisan utilisateur:creer` | Crée un compte utilisateur |
| `php artisan alertes:envoyer` | Envoie le résumé des points à traiter (retards, validations en attente…) |

## Documentation

| Document | Contenu |
|---|---|
| [`documentation/dossiers/Dossier-technique.pdf`](documentation/dossiers/Dossier-technique.pdf) | Architecture, schéma de données, règles de gestion et de calcul, sécurité, exploitation |
| [`documentation/dossiers/Cahier-de-recette.pdf`](documentation/dossiers/Cahier-de-recette.pdf) | Scénarios de recette liés au TDR §12, traçabilité, résultats des tests automatisés |
| `documentation/guides/` | Guides utilisateur (un par profil), aussi accessibles depuis la page « Aide » de l'application |
| [`deploiement/GUIDE_DEPLOIEMENT_WINDOWS_WAMP.md`](deploiement/GUIDE_DEPLOIEMENT_WINDOWS_WAMP.md) | Installation pas à pas sur Windows Server / WampServer |

Ces documents (guides, cahier de recette, dossier technique) sont produits à partir du code et de la base de données par les scripts de `documentation/` — voir l'annexe B du dossier technique pour les régénérer après une évolution.

## Déploiement

Environnement cible : **Windows Server + WampServer**, hébergement interne au FOSER. Voir [`deploiement/GUIDE_DEPLOIEMENT_WINDOWS_WAMP.md`](deploiement/GUIDE_DEPLOIEMENT_WINDOWS_WAMP.md).

## Sécurité

En-têtes de sécurité (CSP, anti-clickjacking…), limitation des tentatives de connexion, politique de mot de passe, sessions bornées, stockage privé des pièces jointes, sauvegardes chiffrables. Détail dans le dossier technique, chapitre « Droits et sécurité ». Pour signaler une vulnérabilité, contacter directement l'équipe projet plutôt que d'ouvrir une issue publique.
