mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-05-06 11:09:18 +02:00
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>
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