1.3 KiB
1.3 KiB
Notes de développement
Structure du projet (serveur)
/var/www/lan.acegrp.varlog/
├── public/
│ ├── index.php # Point d'entrée
│ ├── route.php # Routeur (actions GET/POST)
│ └── assets/ # CSS, JS, uploads
├── templates/ # Vues PHP (incluses via extract() + include)
│ ├── layout.php
│ ├── post_form.php
│ └── post_view.php
├── src/
│ ├── db.php # Connexion PDO PostgreSQL
│ ├── PostManager.php
│ └── FileManager.php
├── config/
│ └── config.php # Charge .env, définit les constantes DB
└── docs/
Conventions templates
Les templates reçoivent leurs variables via extract() depuis route.php. Toute variable optionnelle (non transmise dans tous les contextes) doit utiliser ?? pour éviter un Undefined variable warning :
// Bon
$dateValue = $published_at ?? date('Y-m-d\TH:i');
<?= ($published ?? false) ? 'checked' : '' ?>
// À éviter
<?= $published ? 'checked' : '' ?> // Warning si create (pas d'édition)
Permissions serveur
PHP-FPM tourne en www-data. Les fichiers sensibles (.env) appartiennent à cedrix:www-data 640. Voir PROJET.md § Permissions serveur.