Lancement de l'application

Billet

La version 2.27 de Dotclear introduit un changement technique de taille dans le moteur de blog.

Avec l'accentuation de l'utilisation des espaces de noms PHP dans le moteur, Dotclear peut désormais travailler autrement. Antérieurement à la version 2.27, les points d'entrées était multiples et déclarés par des fichiers bien précis placés dans des dossiers tout aussi précis. Par exemple chaque page de l'administration avait sa propre page PHP correspondante et était référencée par rapport à ce fichier. A partir de la version 2.27 un simple fichier index.php avec un contenu adéquat permet de faire tout ça. Ce fichier index.php va lancer l'application Dotclear avec les paramètres qui lui correspondent. L'application va ensuite traduire ces paramètres et lancer le processus associé. Schématiquement le déroulement du script donne :
index.php => App => Utility => Process

L'application Dotclear utilise désormais un unique point d'entrée :
Dotclear\App::bootstrap('utility','process');

Un Utility est une partie générale de Dotclear, les correspondances avec les versions antérieures sont:

  • admin => Backend,
  • public => Frontend,
  • upgrade CLI => Upgrade,
  • install => Install

Ensuite chaque Utility lance un Process qui auparavant était une page, par exemple pour la page d'accueil de l'administration des blogs on aura Backend / Home. Cela peu paraître déroutant pour celui qui pratique Dotclear depuis des années, mais la logique aidant, il est assez simple de se repérer, d'autant plus que coté code, on retrouvera ce schéma. En reprenant l'exemple de la page d'accueil de l'administration qui aura comme paramètre Utility=Backend et Process=Home, on retrouve les espaces de noms et les fichiers physiques suivants :

  • Utility = Backend, Class = Dotclear\Core\Backend\Utility, Fichier = src/Core/Backend/Utility.php
  • Process = Home, Class = Dotclear\Process\Backend\Home, Fichier = src/Process/Backend/Home.php

Partant de ce principe pour afficher la page d'accueil de l'administration de Dotclear, il faut dans le fichier index.php indiquer où se trouve l'application et la lancer avec ces deux paramètres :

<?php
// on va cherche l'application Dotclear
require_once implode(DIRECTORY_SEPARATOR, [__DIR__, '..', 'src', 'App.php']);
// on lance l'application pour afficher la page d'accueil de l'administration
Dotclear\App::bootstrap('Backend', 'Home');

Logique.

Ensuite pour naviguer, l'application va tenir compte du paramètre de requête HTTP nommé process et le substituer à celui du fichier index.php, la navigation dans l'admin devient alors possible depuis une seule page index.php.
Coté public c'est encore plus simple car il n'y a pas de process en 2.27, seul l'Utility Frontend est appelé, le gestionnaire d'URL public se chargeant de jouer avec les templates.

A noter que pour les installations existantes qui feront la mise à jour en 2.27, les deux écritures restent valables. Il n'est pas obligatoire de modifier les fichiers index.php des blogs et la partie admin accepte également l'utilisation des anciens points d'entrée.

Le contenu de ce document a été écrit suivant le code de la version 2.27 de Dotclear.

La discussion continue ailleurs

URL de rétrolien : https://dotclear.watch/trackback/13