3. Bases de données, sites et terminaux

3.3 Sites web et adresses .localhost

Servir un dossier comme site : fichiers statiques, PHP, Caddy ou Apache. Les serveurs partagés de la page « Serveurs web », les domaines .localhost et les alias.

Dans l'application: «Serveurs web»

En bref

  • Dans la section « Site web » d'un projet, vous choisissez un dossier et la façon de le servir : fichiers statiques, PHP, Caddy ou Apache.
  • Avec Caddy et Apache, le site entre dans un serveur partagé avec les autres projets des mêmes versions, à une adresse comme http://mio-sito.localhost:8081.
  • La page « Serveurs web » montre ces serveurs partagés (pools) et permet d'en créer à vous (profils).
  • Les sites ne répondent qu'à ce PC, sauf si vous activez le réseau local dans les Paramètres.
La section « Site web » d'un projetdonnées d'exemple
La section « Site web » d'un projet

Le dossier à servir, le mode (fichiers statiques, PHP, Caddy, Apache) et, pour Caddy et Apache, profil, domaines et alias.

La page Serveurs webdonnées d'exemple
La page Serveurs web

Les pools et profils à gauche ; à droite les sites liés, les détails et les options de démarrage du pool choisi.

Servir un projet comme site

  1. Ouvrez le projet et la section « Site web ».
  2. Dans « Dossier à servir comme site web », écrivez le dossier à publier : . pour tout le projet, ou par exemple public.
  3. Dans « avec », choisissez comment le servir (voir le tableau).
  4. Pour Caddy et Apache, choisissez aussi le « Profil de serveur ».
  5. Appuyez sur « Enregistrer ». Le site devient l'action par défaut du projet : il démarre avec « Démarrer ».
ChoixQuand l'utiliser
fichiers statiquesHTML, CSS, JavaScript déjà prêts. C'est le choix initial. Le kit utilise son petit serveur de fichiers, qui répond aussi en tant que <projet>.localhost.
PHP (serveur intégré)Un site PHP simple, servi par le serveur intégré de PHP.
CaddyUn site PHP ou statique servi par Caddy. Caddy ne lit pas les fichiers .htaccess : le kit génère les règles de réécriture à partir du type de projet.
ApacheUn site qui a besoin d'Apache et de ses fichiers .htaccess (beaucoup de CMS PHP).

« Retirer le site » retire la configuration. Pour la changer, arrêtez d'abord le site : la modification vaut dès le prochain démarrage.

Le profil de serveur : partagé ou rien qu'à lui

ProfilCe qui se passe
Automatique (pool par version)Le choix initial. Le site entre dans le serveur partagé de ses versions (par exemple Apache 2.4 avec PHP 8.4), avec les autres projets qui utilisent les mêmes : un seul port, un nom par site.
Son propre serveur (port du projet)Un Caddy ou un Apache rien que pour ce projet, sur le port du projet. La configuration est dans data\projects\<projet>\apache ou \caddy, et vos directives vont dans le sous-dossier conf.d (fichiers .conf pour Apache, .caddy pour Caddy).
Un profil à vousUn des profils créés dans la page Serveurs web, par exemple avec une version précise de PHP.
  1. DémarrerAppuyez sur « Démarrer » dans le projet.
  2. PoolLe kit allume le pool de ses versions, ou le recharge s'il est déjà allumé.
  3. NomLe site reçoit le nom <projet>.localhost.
  4. AdresseVous l'ouvrez sur http://<projet>.localhost:<port du pool>.
  • « Arrêter » détache le site du pool. Un pool allumé par les projets s'éteint avec le dernier projet, sauf si vous l'avez démarré depuis la page Serveurs web ou si son profil indique « Garder actif même sans projets ».
  • Si le pool automatique ne parvient pas à démarrer, le site utilise son propre serveur et la sortie l'indique : « Le serveur partagé … n'a pas démarré (…) : le site utilise son propre serveur. »
  • Dans le pool, le site garde vos directives, comme avec son propre serveur : Apache inclut les fichiers .conf de data\projects\<projet>\apache\conf.d, Caddy importe les fichiers .caddy de data\projects\<projet>\caddy\conf.d.

Domaines .localhost et alias

Avec Caddy et Apache, vous pouvez donner au site d'autres noms et relier des dossiers d'autres emplacements. Les noms qui finissent par .localhost mènent toujours à ce PC, sans toucher au fichier hosts de Windows.

ChampExempleEffet
Domaines .localhost supplémentairesapi.negozio.localhost, admin.negozio.localhostLe site répond aussi à ces noms. Uniquement des noms qui finissent par .localhost.
Alias de chemin portables/media → storage/uploadsL'adresse /media sert le dossier storage/uploads du projet. Avec @autre-projet/public, vous pouvez servir le dossier d'un autre projet.

« Ajouter un alias » ajoute une ligne « Chemin URL » → « Dossier relatif » ; « Supprimer » la retire. Les dossiers doivent être relatifs (ni chemins absolus ni ..), ainsi le site continue de fonctionner si le kit change de lettre ou de PC.

La page « Serveurs web »

Le panneau « Pools actifs et profils » liste les serveurs partagés avec le port, l'état et le nombre de sites. Un clic ouvre sa page :

PartieCe qu'elle contient
VirtualHosts rattachésLes sites du pool : projet, dossier, adresse cliquable, noms et alias. « Détaché : le projet est arrêté » si le projet a été arrêté.
Détails du poolMoteur, version du serveur, version de PHP, port, type (pool automatique ou profil manuel), dossier de la configuration.
Démarrage et arrêtPour un profil : « Garder actif même sans projets » et « Démarrer avec Atollo ». Un pool automatique démarre avec le premier projet qui l'utilise et s'arrête avec le dernier.

Les boutons en haut : « Démarrer » ou « Arrêter », « Recharger la configuration » et, pour les profils, « Supprimer le profil », qui demande d'abord une confirmation. Un pool encore allumé mais qui n'est plus lié à des projets ou à des profils affiche un avertissement : arrêtez-le. Un projet créé, cloné ou supprimé apparaît dans la page ou en disparaît aussitôt.

  1. Pour créer un profil, appuyez sur « Nouveau profil de serveur » en haut de la barre latérale.
  2. Remplissez « Nom du profil », « Serveur web » (Caddy ou Apache httpd), « Version du serveur », « Version de PHP » et, si vous voulez, « Port » (sinon le kit en choisit un libre entre 8081 et 8999). Un port qu'a déjà un autre pool, une version d'une base de données ou une action d'un projet, ou un port entre 7000 et 7099 (ceux de l'éditeur), est refusé : le message dit à qui il appartient.
  3. Choisissez s'il reste allumé même sans projets et s'il démarre avec Atollo, puis appuyez sur « Créer le profil ».
  4. Dans la section « Site web » des projets, choisissez le profil dans le menu « Profil de serveur ».

Être visible des autres PC du réseau

Normalement, les sites ne répondent qu'à ce PC. Pour les essayer depuis un téléphone ou un autre ordinateur du même réseau, activez « Permettre aux autres PC du réseau d'accéder aux serveurs des projets » dans Paramètres › Réseau : Réseau d'entreprise : proxy, certificats, réseau local (6.3). Les autres appareils utilisent l'adresse IP de ce PC et le port, aussi avec le serveur intégré de PHP ; les noms .localhost ne fonctionnent qu'ici. Pendant que le site tourne, la ligne « Depuis le téléphone » dans le détail de l'action montre cette adresse avec son QR code, à scanner avec le téléphone. Les bases de données et phpMyAdmin restent de toute façon fermés au réseau.

Sous le capot
  • La configuration du site est dans le fichier panel.json du projet (action site) ; les profils dans data\app\servers.json.
  • La configuration des pools est régénérée à chaque démarrage et rechargement dans data\servers\<pool> (httpd.conf ou Caddyfile, un dossier vhosts avec un fichier par site, les journaux), jamais dans le projet.
  • Les pools automatiques ont un nom comme apache-2.4_php-8.4 ou caddy-2.11 et un port entre 8081 et 8999 mémorisé d'un démarrage à l'autre, choisi en dehors des ports qu'ont déjà les autres pools, les bases de données et les actions des projets.
  • HTTP uniquement, pas de HTTPS. PHP tourne en FastCGI (php-cgi avec Caddy sur Windows, php-fpm sur macOS et Linux).
  • Rechargement : Caddy se recharge sans s'arrêter ; Apache, ou un changement de port ou de PHP, redémarre le pool.