Commencez par seulement trois zones.
Ce que le navigateur peut demander directement : le point d’entrée, les images et les fichiers publics.
Le code que vous écrivez : contrôleurs, modèles, routes, services et vues.
Les éléments techniques préparés par AML. Vous les utilisez, mais vous n’y placez pas vos pages.
Fichier, dossier et extension : quelle différence ?
Un fichier contient une information ou du code. Un dossier regroupe plusieurs fichiers. L’extension située après le point aide à reconnaître le contenu : .php pour du code PHP, .css pour la présentation visuelle, .json pour des informations structurées.
HomeController.phpun fichier de code PHP
home.cssun fichier qui décrit l’apparence
phpaml.jsonun fichier de configuration lisible par AML
Les autres fichiers que vous rencontrerez souvent.
composer.jsonCONFIGURATIONDéclare les paquets PHP utilisés par le projet.
composer.lockVERSIONSMémorise les versions exactes installées pour reproduire le même environnement.
.envSECRETS LOCAUXContient les réglages propres à une machine. Ne le publiez pas s’il contient des secrets.
tests/VÉRIFICATIONContient du code qui vérifie automatiquement le comportement de l’application.
storage/DONNÉES D’EXÉCUTIONPeut contenir journaux, cache ou fichiers produits pendant l’exécution, selon le projet.
Ce que vous modifiez, et ce que les outils gèrent.
src/ · public/ · tests/ · phpaml.json · composer.json
runtime/ · composer.lock · cache
Cette séparation n’interdit pas toute modification avancée. Elle indique surtout où un débutant doit travailler sans risquer d’éditer des fichiers générés qui seront remplacés plus tard.
QUESTIONS DE DÉBUTANT
Vous vous demandez peut-être…
Dois-je modifier runtime/ ?
En général, non. AML installe et reconstruit ce dossier. Votre propre code vit surtout dans src/.
Pourquoi public/ est-il spécial ?
Le serveur Web l’expose au navigateur. Les secrets et le code interne doivent donc rester en dehors.
Puis-je créer mes propres dossiers dans src/ ?
Oui. Quand l’application grandit, vous pouvez y organiser vos services, composants ou autres responsabilités.
Un fichier indique à AML : « le projet commence ici ».
Ce fichier s’appelle phpaml.json. Il contient quelques informations sur le projet. Le mot manifeste désigne simplement cette fiche d’identité. Grâce à elle, AML retrouve le projet même si votre terminal se trouve dans un sous-dossier.
project/
├── phpaml.json ← la fiche d’identité
├── public/ ← ce que le Web peut voir
├── src/ ← votre code, y compris src/routes/
└── runtime/ ← les outils installésOù placer un nouveau fichier ?
public/src/routes/src/controllers/src/models/src/views/runtime/Appliquez la carte à notre bibliothèque.
public/images/covers/clean-code.jpg
src/routes/WebApp.php
src/controllers/BookController.php
src/models/Book.php
src/views/books/show.phpLa couverture est publique parce que le navigateur doit la télécharger. La route connaît l’adresse. Le contrôleur orchestre la recherche. Book représente le livre. La vue sait comment afficher son titre et sa couverture. Aucun fichier ne remplit deux rôles à la fois.
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.
À VOUS DE JOUER
Placez ces fichiers : logo.svg, CheckoutController.php, User.php, WebApp.php et un fichier de cache reconstructible.
Voir un indice
Utilisez public/, src/controllers/, src/models/, src/routes/ et runtime/.
EN RÉSUMÉ
Ce qu’il faut retenir
- public/ est la seule racine Web.
- src/ contient votre application, notamment src/routes/.
- runtime/ peut être reconstruit.
- phpaml.json identifie et décrit le projet.