Bonjour à tous, en ce dimanche venteux... :(
Je me permets de venir vers vous afin de trouver une solution à mon petit problème.
Je voudrais mettre dans mon dashboard, un bouton radio ou autre, permettant de mettre mon site en maintenance (hors ligne), avec une page d'accueil adéquate.
Et comme je suis un fervent défenseur du ''Never Trust User'', j'avais pensé mettre un template de site affichant cette page, mais cela ne résoud pas , la possibilité d'accéder aux urls et du coup, je voudrai également bloquer les urls, en utilisant ce bouton.
Avez vous des idées?
Cordialement

13 réponses


Mizzou
Auteur

Bonjour, et merci de me porter assistance, j'ai effectivement basé toute mon infra sur du MVC, appris conjointement avec les cours de grafikart et d'autre intervenants youtubeur... que je remercie au passage pour leur pédagogie..
Donc si je comprend bien, pour que cela soit dynamique, il faut que je creer une table sur mon serveur et qu'avant que l'application lise les controlleur, établir un script intermédiaire déterminant si le site est en maintenant ou pas?

Mizzou
Auteur

Oki , dans votee reponse je peux comprendre qu il existe un autre moyen!! Avez vous une autre piste?
Cordialement..

Je ne pense pas que c'est une bonne idée d'utiliser une bdd relationnel pour stocker l'état de maintenance. Un fichier (avec un système de cache) ou du stockage en mémoire avec redis ou autre est plus adapté je pense.

Mizzou
Auteur

Je ne connais´pas les possibilites enumerés, avez vous des liens pour completer vos explications ?

La première est la plus simple : tu crées un fichier. Quand tu réponds à une requête, si ce fichier existe, le site est en maintenance. Si ton filesystem est trop lent (ça devrait pas être le cas, vérifie en faisant un benchmark, pour voir le temps que ça te prend de lire un fichier), il faudrait que tu caches le résultat, pour ne pas le faire à chaque requête.

Mizzou
Auteur

@tleb : Bon tous cela me semble un peu abstrait, il faut que j'étudie la chose..

En fait , mettre un site en maintenance doit être effectué à la main, et non dynamiquement...

Je trouve ça très concret perso : si ce fichier existe, la requête retourne cette page. Tu aurais voulu que je devine ton code pour pouvoir modifier ton projet à ta place ?

Et, ça peut-être réalisé dynamiquement sans problème. PHP est capable de créer un fichier. Après, il ne faut pas que la page pour activer/désactiver soit bloqué par le middleware. Et ça a rarement un intérêt parce que souvent, la maintenance, c'est pour toucher au back du serveur.

Mizzou
Auteur

Non surtout pas, je veux le faire moi-même... C'est comme ca que j'apprends... Je vais faire des recherche sur google !! Et merci pour m'avoir aiguillé..

Et faire en htaccess une redirection 302 de toute tes pages vers la page maintenance ?

Mizzou
Auteur

les recherches google que j'ai entrepris donne tjrs cette solutio´

Le code htaccess c'est 3 lignes et si le site est en maintenance c'est en général qu'on modifie les fichiers donc qu'on a accès au FTP quand au referencement l'avantage du 302 est de ne pas réécrire l'index ni de transférer le pageRank contrairement au 301

@ofilot si le robot arrive sur ton site a moment de ta maintenance je pense qu'il est qu'en meme mieux de lui signaler que temporairement le lien a ete modifier plutot qu'il suit les liens indexes et qu'il se retrouve toujours avec le meme texte sans comprendre si c'est normal ou pas.

Comment fait tu pour modifier ton backend sans te connecter a ton serveur?

Qui plus est il me semble qu'il voulait une solution "manuelle"

@ofilot ok je comprend, juste pour savoir, pourquoi tu te fais pas un serveur (wamp) de dev? avec une communication du genre git?