docs : mettre à jour README — DATA_PATH, permissions, setup.sh
- Ajouter DATA_PATH dans le tableau des variables .env avec note prod - Étape 6 : permissions sur DATA_PATH (hors document root) au lieu de data/ - Étape 7 : référencer $DATA_PATH/site_settings.json - Mentionner scripts/setup.sh - Structure : retirer data/ (géré par DATA_PATH), ajouter scripts/ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -34,11 +34,14 @@ Remplir les valeurs dans `.env` :
|
|||||||
| `APP_URL` | URL publique du site (`https://example.com`) |
|
| `APP_URL` | URL publique du site (`https://example.com`) |
|
||||||
| `ADMIN_EMAIL` | Email de l'administrateur principal |
|
| `ADMIN_EMAIL` | Email de l'administrateur principal |
|
||||||
| `SESSION_NAME` | Nom du cookie de session — doit être unique par instance |
|
| `SESSION_NAME` | Nom du cookie de session — doit être unique par instance |
|
||||||
|
| `DATA_PATH` | Chemin absolu vers le répertoire des articles (ex. `/srv/data/mon-site`). Par défaut : `<racine>/data` |
|
||||||
| `OIDC_ISSUER` / `OIDC_CLIENT_ID` / `OIDC_CLIENT_SECRET` | SSO OpenID Connect |
|
| `OIDC_ISSUER` / `OIDC_CLIENT_ID` / `OIDC_CLIENT_SECRET` | SSO OpenID Connect |
|
||||||
| `DB_DSN` / `DB_USER` / `DB_PASS` | Connexion PostgreSQL |
|
| `DB_DSN` / `DB_USER` / `DB_PASS` | Connexion PostgreSQL |
|
||||||
| `SMTP_*` | Serveur email sortant (commentaires, contact, lien magique) |
|
| `SMTP_*` | Serveur email sortant (commentaires, contact, lien magique) |
|
||||||
| `CONTACT_EMAIL` | Destinataire du formulaire de contact |
|
| `CONTACT_EMAIL` | Destinataire du formulaire de contact |
|
||||||
|
|
||||||
|
> En production, placer `DATA_PATH` **hors du document root** (ex. `/srv/data/mon-site`) pour que les articles ne soient pas accessibles directement via le serveur web.
|
||||||
|
|
||||||
### 3. Créer la base de données
|
### 3. Créer la base de données
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -96,17 +99,24 @@ server {
|
|||||||
### 6. Permissions fichiers
|
### 6. Permissions fichiers
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
chown -R www-data:www-data data/
|
# Répertoire des articles
|
||||||
|
mkdir -p /srv/data/mon-site
|
||||||
|
chown -R www-data:www-data /srv/data/mon-site
|
||||||
|
|
||||||
|
# .env lisible par www-data uniquement
|
||||||
|
chown user:www-data .env
|
||||||
chmod 640 .env
|
chmod 640 .env
|
||||||
```
|
```
|
||||||
|
|
||||||
PHP-FPM tourne en `www-data`. Le `.env` doit être lisible par `www-data` mais pas par les autres (`640`, owner `user:www-data`).
|
PHP-FPM tourne en `www-data`. Le `.env` doit être lisible par `www-data` mais pas par les autres.
|
||||||
|
|
||||||
|
> Le script `scripts/setup.sh` automatise la vérification des prérequis, la création des répertoires et les droits.
|
||||||
|
|
||||||
### 7. Paramètres du site
|
### 7. Paramètres du site
|
||||||
|
|
||||||
Au premier lancement, se connecter en tant qu'admin et aller dans **Administration → Paramètres du site** pour définir le titre, le claim, la langue et la licence.
|
Au premier lancement, se connecter en tant qu'admin et aller dans **Administration → Paramètres du site** pour définir le titre, le claim, la langue et la licence.
|
||||||
|
|
||||||
Ou créer directement `data/site_settings.json` :
|
Ou créer directement `$DATA_PATH/site_settings.json` :
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@@ -132,15 +142,17 @@ php database/migrate.php
|
|||||||
## Structure du projet
|
## Structure du projet
|
||||||
|
|
||||||
```
|
```
|
||||||
├── config/ Configuration (charge .env, définit APP_URL)
|
├── config/ Configuration (charge .env, définit APP_URL et DATA_PATH)
|
||||||
├── data/ Articles, cache, settings (non versionné)
|
|
||||||
├── database/ Schéma SQL et runner de migrations
|
├── database/ Schéma SQL et runner de migrations
|
||||||
├── docs/ Documentation technique
|
├── docs/ Documentation technique
|
||||||
├── public/ Racine web (index.php, assets, .htaccess)
|
├── public/ Racine web (index.php, assets, .htaccess)
|
||||||
├── src/ Code applicatif (PSR-4, App\)
|
├── scripts/ Scripts utilitaires (setup.sh, migrations de contenu)
|
||||||
|
├── src/ Code applicatif
|
||||||
└── templates/ Vues PHP
|
└── templates/ Vues PHP
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Les articles sont stockés dans `DATA_PATH` (hors dépôt git).
|
||||||
|
|
||||||
## Licence
|
## Licence
|
||||||
|
|
||||||
[MIT](LICENSE)
|
[MIT](LICENSE)
|
||||||
|
|||||||
Reference in New Issue
Block a user