3
0
Fork
You've already forked xamxam
0
Site permettant de consulter la collection de mémoire de PostERG
  • PHP 77.9%
  • CSS 11.3%
  • JavaScript 7.4%
  • Shell 1.4%
  • Just 1.3%
  • Other 0.7%
2026年07月10日 19:07:19 +02:00
app fix: CSV import VALUES placeholder count mismatch (27 values for 26 columns) 2026年07月10日 19:07:19 +02:00
deploy Add periodic cleanup of orphaned drafts: cleanup job, just command, deploy cron 2026年06月11日 13:05:34 +02:00
docs Docs: ajouter nombre de commits par groupe fonctionnel dans livraisons mensuelles 2026年06月29日 17:57:13 +02:00
nginx nginx: open CSP frame-src from hardcoded domain whitelist to https: scheme-wide 2026年07月10日 17:26:02 +02:00
scripts fix: bypass /tmp tmpfs for file uploads by redirecting PHP upload_tmp_dir to storage partition 2026年07月10日 15:42:07 +02:00
tests fix: prevent file deletion on relink + restore button now visible + OOB-style in-place update 2026年07月10日 16:29:04 +02:00
.gitignore Add biome + rolldown + lightningcss build pipeline for JS/CSS bundling & minification 2026年06月24日 13:09:50 +02:00
.ignore refactor: unify FilePond edit previews + clean upload UI and shared fragments 2026年05月19日 00:08:06 +02:00
.php-cs-fixer.cache Fix lint warnings: arrow functions in admin-acces.js, duplicate gap in admin.css, biome formatting 2026年07月08日 13:50:03 +02:00
.php-cs-fixer.dist.php Add autosave draft system for partage form with HTMX-based session persistence 2026年06月11日 11:04:49 +02:00
.phpunit.result.cache fix: merge corbeille lists + bulk restore button in cleanup 2026年07月10日 16:33:06 +02:00
biome.json justfile: standardise test recipes to lint-php/lint-css/lint-js/test + add fix recipe 2026年07月05日 11:07:41 +02:00
commits.txt Docs: livraisons par mois extraites de commits.txt 2026年06月29日 17:38:57 +02:00
composer.json Integrate Monolog: replace four logging systems with single PSR-3 factory 2026年05月20日 12:28:31 +02:00
composer.lock Integrate Monolog: replace four logging systems with single PSR-3 factory 2026年05月20日 12:28:31 +02:00
justfile Add --quiet flag to build.mjs for cleaner 'just dev' output 2026年07月08日 13:50:03 +02:00
package-lock.json Add dev-watch recipe with chokidar-cli for live rebuild on CSS/JS changes 2026年06月24日 13:12:41 +02:00
package.json Add dev-watch recipe with chokidar-cli for live rebuild on CSS/JS changes 2026年06月24日 13:12:41 +02:00
phpstan-baseline.neon justfile: standardise test recipes to lint-php/lint-css/lint-js/test + add fix recipe 2026年07月05日 11:07:41 +02:00
phpstan.neon Add composer.json with league/commonmark, guzzlehttp/guzzle, phpmailer/phpmailer; wire autoloader into bootstrap; document de-librairisation strategy and PHP extension setup 2026年05月20日 00:53:42 +02:00
phpunit.xml Add code coverage configuration (phpunit.xml source filter), baseline coverage report (21.27% lines), gitignore coverage/ and .phpunit.result.cache; remove deprecated setAccessible() calls 2026年05月20日 02:08:42 +02:00
README.md Reintroduce TFE duration metadata: DB columns, form fields, controllers, views, and migration 2026年06月15日 15:56:52 +02:00
rolldown.config.mjs Add biome + rolldown + lightningcss build pipeline for JS/CSS bundling & minification 2026年06月24日 13:09:50 +02:00
TODO.md fix: CSV import VALUES placeholder count mismatch (27 values for 26 columns) 2026年07月10日 19:07:19 +02:00

XAMXAM

(Anciennement Posterg)

Répertoire des travaux de fin d'études de l'ERG (École de Recherche Graphique).

Requirements

  • PHP 8.4
  • SQLite3 (php8.4-sqlite3)
  • nginx (production)

Development

MacOS

Logiciels:

  • un IDE pour éditer → VSCode
  • git (ou une interface graphique) pour partager les modifications → git-gui (officiel) ou Github Desktop
  • un server web avec PHP pour visualiser le project dans le navigateur → MAMP

Workflow

  1. Faire un changement dans ton IDE
  2. Démarrer le site via MAMP, en sélectionnant le dossier public
  3. Vérifier que ça marche sur le site en local, depuis ton navigateur
  4. Une fois qu'un changement spécifique est fait, commit les changements sur les fichiers qui sont relatif à ce changement
  5. Vérifier que vous avez syncroniser avec le remotepull + rebase ! pas merge
  6. push les changements vers le remote
just serve # http://localhost:8000 (public) and /admin/

Deployment

Files are pushed to the server with rsync — there is no repo on the remote.

just deploy # rsync app files → xamxam:/var/www/xamxam/
just deploy-db # push local xamxam.db → remote (only if remote DB is absent)

deploy-db refuses to run if a database already exists on the server, to avoid accidental overwrites of production data.

First-time server setup

ssh xamxam
sudo mkdir -p /var/www/xamxam
sudo chown www-data:xamxam /var/www/xamxam
sudo chmod 775 /var/www/xamxam
exit

Then deploy once and apply nginx config:

just deploy
just deploy-nginx

Security notes

  • Admin panel protected by PHP session (AdminAuth) — password-only, no username
  • Uploads stored outside webroot, served via controlled media.php
  • Rate limiting on public search (src/RateLimit.php)
  • See nginx/docs/SECURITY_HEADERS.md for security headers reference