Documentation · Chapitre 06

Lire le manifeste
sans le craindre.

phpaml.json est la fiche d’identité technique du projet. JSON impose une syntaxe stricte, mais sa structure reste lisible.

Aucun secret réel n’est nécessaire : nous configurons reading-list avec des valeurs sûres.

Un extrait réaliste

phpaml — zsh
{
  "name": "reading-list",
  "application": {
    "type": "classic",
    "views": "src/views",
    "debug": false,
    "error_views": "src/views/errors",
    "session": { "lifetime": 7200, "same_site": "Lax" },
    "rate_limit": { "enabled": true, "limit": 60, "window": 60 }
  },
  "database": {
    "dsn": "sqlite:runtime/storage/database.sqlite"
  },
  "requirements": { "php": "^8.2" }
}

Les accolades contiennent des objets, les crochets des listes et les deux-points séparent chaque clé de sa valeur. JSON n’accepte ni commentaires ni virgule après la dernière propriété.

Ce que décrivent les sections

applicationtype, vues, sessions, erreurs, limitation
databaseconnexion par défaut non secrète
seoidentité publique et indexation
runtimedossier et version du Framework
scriptscommandes pratiques
requirementsversion PHP attendue
modulesmodules installés

Une règle de décision simple

Demandez-vous : « Cette valeur peut-elle être identique pour tous et publique sur GitHub ? » Si oui, elle peut généralement aller dans phpaml.json. Si elle contient un secret ou dépend du serveur, placez-la dans .env.

Vérifiez votre compréhension : Où placer la durée de session par défaut ?

Dans phpaml.json : c’est un choix partageable du projet.