Bloquer temporairement un site lors d'une opération de maintenance ? - PHP - Programmation
Marsh Posté le 01-07-2005 à 19:30:31
Si ton site est bien fait, tu dois avoir un fichier du genre header.php qui réprésente le début de ton interface graphique.
En haut de ce fichier, mets une ligne du style :
Code :
|
La page maintenance.html est donc la page qui indique la maintenance.
Lorsque tu veux mettre ton site en maintenance, tu décommentes cette ligne et le tour est joué
Marsh Posté le 01-07-2005 à 19:40:05
oki merci je vais explorer cette voie-là.
Avec le .htaccess, on peut arriver aussi à quelque chose, ou ça n'a aucun rapport ?
Marsh Posté le 01-07-2005 à 19:42:07
Oui, on doit aussi faire ça avec un .htaccess, mais ça me parait moins propre : je suis pas un expert dans ce domaine, mais il me semble que lorsque quelqu'un arrivera sur ton site, une petite fenêtre apparaitra et demandera un login et un mot de passe. Vous confirmez les autres ?
Marsh Posté le 01-07-2005 à 20:13:35
Non, htaccess ne sert pas qu'à gérer les mots de passe Apache
Via htaccess tu peux aussi forcer la redirection de n'importe quelle page vers une simple page HTML par exemple.
Marsh Posté le 01-07-2005 à 21:45:30
Bah sinon : Page site en maintenance avec un formulaire d'indentification et si le gars qui tente de s'identifier est admin alors les pages s'affiches. Faut inclure une fonction qui test tout ca dans chaque pages, et si il s'agit d'un site bien concu tu dois avoir un include d'un header donc c'est assez simple à mettre en place.
Marsh Posté le 01-07-2005 à 22:18:06
antp a écrit : Via htaccess tu peux aussi forcer la redirection de n'importe quelle page vers une simple page HTML par exemple. |
Je pense me rabattre sur cette solution. C'est un tout ptit site perso, c'est juste pour que le visiteur ne tombe pas sur une erreur sql ou php pendant que j'uploade des pages
Marsh Posté le 01-07-2005 à 22:20:03
Ce que tu sous-entends par header, c'est le contenu "graphique" de ce qui s'affiche systématiquement en haut du site, ou autre chose ?
Marsh Posté le 01-07-2005 à 22:21:49
Bah si c'est bien foutu tu a deut include d'un header et d'un footer, des contenu qui sont toujours les même. Donc il peu s'agir du menu d'en haut par exemple. Et footeur, ca peut être le copy right etc...
Marsh Posté le 01-07-2005 à 22:23:03
ok, en l'occurence mon menu. Mais quel serait l'intéret, pour l'admin (moi ) de pouvoir accéder à des pages pendant la maintenance ?
Marsh Posté le 01-07-2005 à 22:25:30
Pour vérifier que tout marcher bien après avoir fait de grosses modifs ?
Edit :
Marsh Posté le 01-07-2005 à 22:26:54
Bah ouai ca peux être bien puisque même si tu à tout testé en local il peux y avoir quelques différeces de config entre ton hébergeur et la tienne, on est jamais trop prudent selon moi.
Marsh Posté le 01-07-2005 à 22:29:18
ah oui, certes. Donc c'est plus propre que le .htacess. J'achète
Marsh Posté le 01-07-2005 à 22:37:37
Ce que j'aurais fait, mais ca nécessite une modification d'un ou 2 if
un admin peut mettre le site en maintenance dans l'admin. Cela peut écrire dans un fichier que tu include pour set une constante. ensuite, dans dans ton header tu as un truc de ce style :
if( isset($_SESSION['infos_membre'])) ...
avant ce if , tu mets :
if(MAINTENANCE === TRUE) { header('Location: maintenance.html'); exit; }
tu peux optimiser en autorisant le site qu'aux admins
Marsh Posté le 01-07-2005 à 22:37:52
Oui oui ; bon, par contre question sécurité, je ne suis pas spécialement calé, mais comme c'est un ptit site, y a pas non plus besoin d'un truc énorme.
Ce qui me turlupine un peu plus, c'est que du coup, pour chaque page, il va y avoir un test supplémentaire avant l'affichage. Faudrait pas que ça alourdisse trop la chose, c'est tout
Marsh Posté le 01-07-2005 à 22:39:01
Pour ma solution, tu as juste a rajouter mon if dans ton fichier header.inc.php qui fait tes tests et donc tu n'auras qu'un fichier a modifier
Marsh Posté le 01-07-2005 à 22:39:57
benamoubeach a écrit : Ce que j'aurais fait, mais ca nécessite une modification d'un ou 2 if |
ok, merci pour l'idée.
(Au passage, je vois que tu met une adresse relative dans le header location ; c'est gênant ? il me semblait avoir lu dans la référence qu'il fallait une adresse absolue ; c'est indispensable ?)
Marsh Posté le 02-07-2005 à 08:40:03
http://www.nexen.net/docs/php/anno [...] header.php
Citation : |
Marsh Posté le 02-07-2005 à 09:50:40
Je confirme ... Lynx aime pas les url relatifs
Marsh Posté le 02-07-2005 à 11:08:38
Gnub a écrit : Ce qui me turlupine un peu plus, c'est que du coup, pour chaque page, il va y avoir un test supplémentaire avant l'affichage. Faudrait pas que ça alourdisse trop la chose, c'est tout |
C'est quasi transparent
Sur le site pour lequel je travaille, y'a plus de 1000 connectés simltanés et on ne voit pas la différence
Marsh Posté le 01-07-2005 à 19:23:22
Bien l'bonjour
Je recherche la méthode la plus propre qui me permette d'interdire l'accès (ou en fait de rediriger vers une page fixe) à n'importe quelle adresse de mon site, lorsque je veux mettre à jour des fichier, par exemple, sans toucher à tout les fichiers qui y sont déjà.
Une sorte de redirection générale, un peu comme ce qu'il y a sur hfr lors des opérations de maintenance
Je ne sais pas trop où chercher ça, c'est peut être pas du php d'ailleurs ?
Merci pour votre aide