Documentation · Chapitre 02

Lire la structure
comme une carte.

Tous les dossiers n’ont pas la même durée de vie ni la même exposition. Savoir les distinguer évite les erreurs de sécurité et de maintenance.

Trois zones à ne pas confondre.

PUBLICpublic/

Seule racine exposée au serveur Web : index.php, images publiques et fichiers statiques.

VOTRE CODEsrc/ · routes/

Contrôleurs, modèles, vues, composants, services et déclaration des routes.

RECONSTRUCTIBLEruntime/

Framework installé, dépendances, cache, journaux et stockage d’exécution.

Le manifeste relie le projet à AML.

phpaml.json permet à AML de reconnaître la racine du projet, sa structure et les versions compatibles. Quand vous lancez aml serve depuis un sous-dossier, AML remonte jusqu’à ce manifeste.

phpaml — zsh
project/
├── phpaml.json
├── public/
│   └── index.php
├── routes/
│   └── WebApp.php
├── src/
│   ├── controllers/
│   ├── models/
│   ├── middleware/
│   └── views/
└── runtime/

Où placer un nouveau fichier ?

Une image accessible par URLpublic/
Une règle d’URLroutes/
Une action HTTPsrc/controllers/
Une règle métier ou donnéesrc/models/
Une interface PHPsrc/views/
Une dépendance installéeruntime/

VÉRIFIEZ VOTRE COMPRÉHENSION

Pourquoi .env et src/ ne doivent-ils pas être placés sous public/ ?

Afficher la réponse

Parce que public/ est la zone exposée au serveur Web. Les secrets et le code interne doivent rester hors de cette racine.

EN RÉSUMÉ

Ce qu’il faut retenir

  • public/ est la seule racine Web.
  • src/ et routes/ contiennent votre application.
  • runtime/ peut être reconstruit.
  • phpaml.json identifie et décrit le projet.