# CPFP MBOUR — Gestion ## Fichiers - `config.php` : connexion à la base MySQL OVH. - `schema.sql` : structure complète de la base. - `inscription.php` : formulaire d'inscription + génération de la carte numérique. - `uploads/membres/` : photos des étudiants. ## Configuration OVH La base créée pour ce projet est : - Serveur : `mysql011.eu002` - Base : `cpfpmboucpfpgest` - Utilisateur : `cpfmboucpfpgest` - Mot de passe : celui défini dans OVH Dans `config.php`, remplacez uniquement : ```php const DB_PASS = 'A_REMPLACER_PAR_LE_MOT_DE_PASSE_OVH'; ``` Ne transmettez jamais ce mot de passe dans une conversation publique et ne le publiez pas dans Git. ## Installation 1. Dans OVH > Hébergements > `cpfp-mbour.com` > Multisite, le sous-domaine `gestion.cpfp-mbour.com` doit pointer vers `/gestion`. 2. Dans `/gestion`, envoyez : - `config.php` - `schema.sql` (le fichier SQL peut rester hors du dossier public après import) - `inscription.php` - le dossier `uploads/membres/` 3. Dans phpMyAdmin OVH, sélectionnez la base `cpfpmboucpfpgest`. 4. Importez `schema.sql`. 5. Vérifiez que les tables `filieres`, `etudiants`, `inscriptions`, `factures`, `paiements`, `examens`, `matieres`, `notes`, `utilisateurs` et `journal_actions` existent. 6. Vérifiez que `uploads/membres` est accessible en écriture par PHP. 7. Ouvrez `https://gestion.cpfp-mbour.com/inscription.php`. ## Corrections intégrées - `localité` est remplacée par **`lieu de naissance`** dans le formulaire et la carte. - Le numéro affiché sur la carte est **Matricule**. - La table `etudiants` utilise `lieu_naissance`. - La table `filieres` utilise correctement `actif = 1`. - Les colonnes de frais utilisées par le formulaire existent maintenant dans `filieres`. - Chaque facture reçoit obligatoirement un `numero_facture` unique. - Les montants de frais d'inscription, assurance et blouson sont configurables par formation. - Les frais à 0 F ne génèrent pas de facture, tandis que la mensualité est conservée. - Les photos sont contrôlées par type MIME et limitées à 5 Mo. - Les requêtes SQL utilisent PDO et des requêtes préparées. - La base prévoit les rôles **Administrateur, Secrétaire, Comptable et Direction** avec mots de passe stockés sous forme de hash PHP. ## Attention Le schéma est destiné à une base neuve. Il ne contient volontairement aucun `DROP TABLE`, afin d'éviter une suppression accidentelle de données existantes. Avant toute nouvelle importation sur une base déjà utilisée, faites une sauvegarde. ### À propos des utilisateurs La structure `utilisateurs` est prête pour les comptes administratifs : - Administrateur - Secrétaire - Comptable - Direction Le mot de passe doit être enregistré avec `password_hash()` et vérifié avec `password_verify()`. Aucun mot de passe en clair n'est prévu dans le schéma. Les écrans complets de comptabilité, paiements, notes, examens et administration des utilisateurs ne sont pas inventés dans `inscription.php` : les tables correspondantes sont déjà préparées dans la base pour la suite du développement.