Files
xamxam/front-backend
Théophile Gervreau-Mercier 95f52d549e Add comprehensive thesis management system with database migration
This commit introduces a complete thesis management interface and migrates
the system from YAML-based storage to SQLite:

Core Changes:
- Add Database.php helper class with PDO connection and entity management
- Add list.php for viewing all theses with filtering and sorting
- Add edit.php for modifying existing thesis records
- Add import.php for migrating legacy YAML data to SQLite
- Add justfile with development tasks (serve, init-test-db, etc.)

Documentation:
- Add MIGRATION.md with complete migration guide and architecture docs
- Update README.md with database setup and Just recipe instructions
- Update .gitignore to exclude test databases and error logs

Modified Forms:
- Enhanced formulaire.php with transaction-based SQLite processing
- Updated index.php with database-driven form options
- Improved thanks.php to read from database views

The new architecture provides:
- Normalized database schema (19 tables, 2 views)
- Transaction safety and referential integrity
- CRUD operations for thesis management
- Filtering by year, orientation, AP program, publication status
- Secure file handling with metadata tracking

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-28 10:08:50 +01:00
..

PostERG - Site web public

Site web affichant publiquement les mémoires et travaux de fin d'études soumis par les étudiant.e.s de l'ERG.

Fonctionnalités

  • Affichage paginé des mémoires
  • Visualisation détaillée de chaque mémoire
  • Pages d'information (à propos, contact, licences)

Technologies

  • PHP
  • Symfony YAML pour la lecture des métadonnées
  • CSS (Bulma)

Installation

composer install

Lancement

php -S 127.0.0.1:3001

Puis ouvrir 127.0.0.1:3001 dans votre navigateur.

Structure

front-backend/
├── assets/          # Fichiers CSS et ressources
├── data/
│   └── yaml/        # Fichiers YAML des mémoires
├── inc/             # Fichiers inclus (header, footer)
├── index.php        # Page d'accueil avec liste paginée
├── memoire.php      # Page de détail d'un mémoire
├── apropos.php      # Page à propos
├── contact.php      # Page de contact
└── licences.php     # Page des licences