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 - Monorepo

PostERG est un projet de l'ERG (École de Recherche Graphique) permettant aux étudiant.e.s sortant en cursus de Master de mettre à disposition leurs mémoires et travaux de fin d'études.

Structure du projet

Ce monorepo contient deux applications :

  • formulaire/ - Formulaire d'ajout de mémoires pour les étudiant.e.s
  • front-backend/ - Site web public affichant les mémoires soumis

Prérequis

  • PHP 7.4 ou supérieur
  • Composer (gestionnaire de dépendances PHP)

Installation de Composer

curl -sS https://getcomposer.org/installer | php

ou

php -r "readfile('https://getcomposer.org/installer');" | php

ou installer le paquet composer de votre distribution.

Installation

Chaque sous-projet a ses propres dépendances. Installez-les séparément :

cd formulaire && composer install
cd ../front-backend && composer install

Lancement en local

Pour chaque application, lancez un serveur PHP :

# Pour le formulaire (port 3000)
cd formulaire && php -S 127.0.0.1:3000

# Pour le site web (port 3001)
cd front-backend && php -S 127.0.0.1:3001

Documentation

Liens

Description
Site permettant de consulter la collection de TFE de l'erg
Readme 74 MiB
Languages
PHP 80.5%
CSS 14.9%
Shell 2.8%
JavaScript 1.3%
Just 0.5%