Formation PUB030 : Laravel, 2019 L'entretien du site Web

44.1 Mettre un site Web en mode maintenance


Lorsqu'un site Web est en ligne, il arrivera tôt ou tard un moment où le site devra être mis hors ligne pour y effectuer de la maintenance. L'exemple classique survient lorsque vous avez modifié une partie importante du code et de la structure de la base de données et que vous voulez éviter que le site ne plante pendant la copie des fichiers et l'exécution du script SQL de mise à jour.

Avertir l'usager avant un arrêt prévu

Généralement, il est possible de prévoir le moment où l'opération de maintenance aura lieu. Il faut dès que possible indiquer aux usagers la date et l'heure à laquelle le site ne sera plus disponible ainsi que la durée de l'opération.

Ceci peut être effectué à l'aide d'un message affiché dans un bandeau au début de chacune des pages. Une technique intéressante consiste à ajouter à la base de données une table contenant les messages à afficher avec, pour chacun, un champ indiquant s'ils sont actifs ou non. Dans le gabarit de base, si un ou plusieurs messages sont actifs, une division se chargera d'afficher le texte des messages actifs.

Message avant de mettre un site hors ligne

Placer l'application en mode maintenance

Pour placer un site en mode maintenance, vous devez exécuter la commande suivante :

Console Vagrant SSH

php artisan down

Ceci aura pour effet de créer un fichier nommé « down », sans extension, dans le dossier storage\framework.

Fichier storage\framework\down

{
    "time": 1555519647,
    "message": null,
    "retry": null,
    "allowed": []
}

Pour rendre le site à nouveau disponible :

Console Vagrant SSH

php artisan up

Ces commandes devront être exécutées sur le serveur qui héberge votre site Web.

Si vous n'avez pas accès à une console sur votre serveur, ce qui est souvent le cas pour les hébergements partagés, vous devez simplement créer un fichier storage\framework\down vide (le fichier down porte un nom sans extension).

La suppression de ce fichier rendra le site à nouveau disponible.

Message clair pendant l'entretien

Dès qu'un site est en mode maintenance, l'usager qui tente d'accéder au site doit voir une page conviviale plutôt qu'un message d'erreur.

Lorsque vos mettez votre site en mode maintenance, le navigateur recevra un code d'état HTTP 503 (service non accessible de façon temporaire). Laravel tentera automatiquement d'afficher la vue errors.503 lorsqu'un code 503 est rencontré.

Par défaut, voici ce qui sera affiché au lieu de votre site Web :

Page par défaut pour site en maintenance : Be right back.

Vous pouvez éditer le fichier errors\503.blade.php à votre convenance.

La vue 503 doit :

  • NE PAS afficher un message du genre « Erreur 503 ». Il ne s'agit pas d'une erreur mais bien d'un état.
  • Présenter la même apparence que les autres pages du site. L'internaute n'a alors pas l'impression d'avoir quitté le site Web.
  • Afficher un message clair indiquant qu'une opération d'entretien est en cours.
  • Ne proposer aucun lien puisque rien ne sera fonctionnel.
  • Donner une indication du moment où le site devrait être à nouveau accessible.

Voici un exemple de message approprié : « Notre équipe technique effectue présentement un entretien du site Web. Le site sera de nouveau disponible au plus tard le mardi 16 juin à 13h. Merci de votre compréhension. ».

Page affichée en mode maintenance

Pour plus d'information

« Configuration - Maintenance Mode ». Laravel. https://laravel.com/docs/master/configuration#maintenance-mode

« Maintenance Mode and Whitelists in Laravel 5 ». Toni Peric. https://toniperic.com/2015/12/01/maintenance-mode-and-whitelists-in-laravel-5

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre