begin process at 2012 02 15 23:44:42
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

SQL

 > CRÉER ET ETABLIR UNE PAGE DE MAINTENANCE POUR X HEURES

CRÉER ET ETABLIR UNE PAGE DE MAINTENANCE POUR X HEURES


 Information sur la source

Note :
5 / 10 - par 3 personnes
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :SQL Classé sous :maintenance, travaux, maintenance PHP, Activation, SQL Niveau :Débutant Date de création :06/03/2010 Date de mise à jour :09/03/2010 21:04:09 Vu / téléchargé :2 940 / 184

Auteur : popolino0

Ecrire un message privé
Site perso
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Bonjour, j'ai récemment cherché a créer un "système" pour pouvoir mettre mon site en maintenance SANS .htaccess (car je m'en sert pour les erreur )
J'ai donc "Bricolé " un script php/mysql qui MARCHE ! voila le code php :
/!\ ne copiez pas juste ce code ! car dans le fichier rar si dessous il y a le code SQL dans : SQL.txt !

Source

  • <?
  • require("conf.php3");
  • $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
  • if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
  • $requete=mysql_db_query($sql_bdd,"select maintenance from maintenance where reco=\"1\"",$db_link);
  • $requete=mysql_db_query($sql_bdd,"select * from maintenance ",$db_link);
  • $maintenance=mysql_result($requete,0,"maintenance");
  • $raison=mysql_result($requete,0,"raison");
  • $duree=mysql_result($requete,0,"duree");
  • if ( $maintenance !=0 )die ("Le site (SITE) est en maintenance ! Veuillez repasser dans quelques moments (durée de la Maintenance : $duree heures! Raison de la maintenance :<br>$raison");
  • mysql_close($db_link);
  • ?>
<?
require("conf.php3");



$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}

$requete=mysql_db_query($sql_bdd,"select maintenance from maintenance where reco=\"1\"",$db_link);
$requete=mysql_db_query($sql_bdd,"select * from maintenance ",$db_link);
$maintenance=mysql_result($requete,0,"maintenance");
$raison=mysql_result($requete,0,"raison");
$duree=mysql_result($requete,0,"duree");
if ( $maintenance !=0 )die ("Le site (SITE) est en maintenance ! Veuillez repasser dans quelques moments (durée de la Maintenance : $duree heures! Raison de la maintenance :<br>$raison");

mysql_close($db_link);
?>

 Conclusion

Voila bon appres il y a des restrictions a établir et de l'èstétisme mais pour un code crée en 20 minutes et très facile a mettre ca vaut le coup pour dépanner ! Il manque aussi une interface d'administration avec "Activer la maintenance et désactiver .." je mettrais ca plu tard  :)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

09 mars 2010 21:04:10 :
Modification du niveau de la source.

 Sources de la même categorie

Source avec Zip CLASS PHP :: REQUÊTES MYSQL par devgoneti
Source avec Zip Source avec une capture CONVERTIR BASE FIREBIRD EN MYSQL par castelfrederic29
Source avec une capture SQL/EXE EXECUTEUR DE REQUETTES SQL par enokbyreal
Source avec Zip ESPACE MEMBRE BASIQUE par bonhommecrea
Source avec Zip Source avec une capture MODIFICATEUR DE DONNEES DANS UNE BASE SQL AVEC LISTING DES T... par cram121

 Sources en rapport avec celle ci

Source avec Zip SCRIPT TRAVAUX POUR VOTRE SITE par FleuryK
Source avec Zip CLASS SIMPLE CBASEDONNEE par smag42
Source avec Zip Source avec une capture CONVERTIR BASE FIREBIRD EN MYSQL par castelfrederic29
DUMP SQL AVEC SÉLECTION AUTOMATIQUE DES TABLES par theptitprince
GÉNÉRATEUR DE REQUÊTE SQL par theptitprince

Commentaires et avis

Commentaire de aKheNathOn le 08/03/2010 11:46:28 8/10

Salut ! Je pense que tu aurais dû mettre l'information de dépannage / maintenance dans un fichier XML ou php car il se peut que tu aies besoin pour la maintenance de redémarrer ton serveur MySQL ou bien l'arrêter, refaire tes bases ... etc, et puis c'est bien plus simple de modifier à la mano un fichier XML que de faire une table, se connecter, faire un update etc ...

Pour ce qui est de l'inclure dans tes script, le mieux aurait été de refaire un redirect en htaccess interceptant toute requette HTML ou PHP et la dirigeant vers une page de maintenance dédiée. Ca peut même être une page HTML (des fois que PHP aurait du mal)

L'idée d'un petit script de maintenance est cependant intéressante et fort utile, dommage que ce ne soit plus aboutit.

Bonne continuation,
akh

PS : Je te mets 8/10 car l'idée de ton source est interessante et cela peut être très utile mais faudrait une v2 :)) en php4 minimum

Commentaire de Baddante le 08/03/2010 13:59:36 5/10

Salut,

c'est une bonne idée un script pour le mode maintenance d'un site web, mais en général on à une maintenance le plus souvent sur la base SQL.
Je propose les axes d'améliorations suivant: Dans une page d'administration (un peu de présentation toujours en séparant la forme et le fond xml, css, html,etc...) choix de l'URL à mettre en maintenance (au minimum on a 2 serveurs : developppement/ recette / secours  et production. Le serveur de base de données avec sa base (il peut en avoir plusieurs). Un script sans connexion à une base de données serait également souhaitable dans le cas d'un arrêt du site complet (WEB + base SQL).

Remarque 2 requêtes avec la variable "$requete" cela me semble bizarre.

La raison en général inutile (maintenance, les détails les utilisateurs Lambda s'en fiche). L'information qui les intéressent c'est QUAND ((date) / heure) le site sera de nouveau opérationnel. Gérer les heures en format 24H avec GMT si site international.

PS: ne le prend pas personnellement mais dire que l'on a fait quelques choses en "20 minutes" ("vite fait" ,évite de le dire) c'est pas très rassurant pour un client.

Commentaire de rayman223 le 08/03/2010 16:40:08

Le zip est corrompu :( je ne sais pas tester cette source.

Commentaire de kohntark le 08/03/2010 19:51:03 2/10

Salut,

Ce n'est vraiment pas mon habitude que de descendre une source et je ne commencerai pas maintenant.
Cela étant voir ce genre de code noté d'un 8 et d'un 5 m'ennuie, et je pense au grand débutant lambda qui s'en inspirera en recopiant toutes les erreurs qu'il comporte, les mauvaises pratiques, etc ...

Comme aKheNathOn je trouve que l'idée est bonne, mais ça s'arrête là.
Je rejoins totalement Baddante dans son "vite fait" et j'irai même plus loin : je pense que c'est un code "balancé à l'arrache"

Pour ce qui est des améliorations l'essentiel a déjà été dit.

Je mets une note pour remettre un peu à sa place ta source (pour les raisons évoquées plus haut)
En tous cas persévère et fais vivre cette bonne idée. A ton âge c'est plutôt un bon début (je ne savais même pas démarrer un PC à 14 ans !)

Pour ce qui est du niveau "débutant" aurait été plus approprié que celui d'initié.


Cordialement,


Kohntark-

Commentaire de popolino0 le 09/03/2010 21:02:28

@aKheNathOn=  Merci pour l'encouragement et les idées,
Je recommence la V1 avec du php4 ~ Php5 ;)


@Baddante &kohntark = Je comprend !! J'ai crée ce script en 20 minutes et je l'ai posté directement sur Cs (1 ere source sur un Forum et donc je l'ai fait avec enthousiasme,merci pour vos remarque qui me permettrons (peut être ;) ) d'avancer !

Commentaire de Baddante le 10/03/2010 13:44:35

A propos de la version de php.
Il serait mieux de te mettre toute de suite à la dernière version de php, car tu n'as en principe pas de contrainte d'existant (migration, refonte de site,etc...), de plus si tu souhaite travailler dans le secteur informatique dans au minimum 4 ans (prends ton temps néanmoins car BAC+2 il un strict minimum aujourd'hui, et dans 4 ans, ou plus... ?) on sera surement dans une version supérieur.
Là tu as déjà 2 versions dans la vue!

Commentaire de gomoz le 10/03/2010 14:19:28

Pour répondre précisément sur la source :
- LIGNE6 : Il ne faut pas afficher un message d'erreur qui demande à l'utilisateur (l'internaute lambda) de modifier le fichier de conf... En général, il a tendance à vouloir le faire. Il est préférable de signifier un problème ("de connexion à la base de donnée" à la limite) et de préciser que l'administrateur va agir au plus vite pour rétablir le service. (Avec éventuellement l'email de l'administrateur s'il n'y a pas d'alerte automatisée).
- LIGNE13 : plutôt que la durée, c'est l'heure de fin qui est utile. (voir du coté de timestamp en php plutôt qu'un champ DATE en mysql)

Concernant l'usage :
- Le mieux reste de nommer un fichier maintenance_inactive.php et de le renommer en maintenance_active.php lorsqu'il est actif. Ensuite en entête, on teste l'existence du fichier. S'il existe, on fait un include/exit. Sinon, on ne fait rien.
- Ensuite une petite interface d'admin qui renomme le fichier de maintenance et qui mets à jour un fichier txt ou xml contenant les informations sur la maintenance.
- Eventuellement, mais là ca devient complexe, il faudrait penser à un script qui enregistre les emails des utilisateurs voulant être avertis de la fin de la maintenance et un script pour la desactivation de la maintenance puisse se faire via un script automatique (exemple : le site est en maintenance pour sauvegarde, à la fin de la sauvegarde, on réactive le site).

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Convertir un nombre en expression literrale en PL/SQL [ par ThReM ] bonjour je cherche une source pour convertir un nombre en ce meme nombre mais ecris en toutes lettre (99 ==&gt; quatre vingt dix neuf) en langage PL/S Astuce du jour #1: Comment configurer une erreur de la base de donné MySql [ par SmallToad ] Quand vous avez de des erreurs de la base de donnée, êtes-vous déjà demander comment configurer le message d'erreur de la base de donnée MySql C'est Formulaire et SQL [ par Christophe46 ] Salut,J'espère trouver de l'aide sur ce forum,J'ai fait une base de données MySql, avec une table et des champs comme nom, prenom, telephone, adresse, Formulaire et SQL [ par Christophe46 ] Salut,J'espère trouver de l'aide sur ce forum,J'ai fait une base de données MySql, avec une table et des champs comme nom, prenom, telephone, adresse, LA taille d'une base de donnée sql [ par FleX ] ba en fait je suis sur Free et j'ai une base de donnée que je manipule en php.J'aimerai savoir comment c'est ty qu'on peut bien faire pour obtenir la Debuter une base SQL pour faire du PHP [ par bowen ] Bonjour je suis nouveau sur ce site et aussi a la prog !Bon je vous expliques mon probleme je veux creer un site sur le cinema asiatique et je vais do SQL [ par ProGMaN007 ] Salut,$dbserver = "localhost"; ok ça c ok$dbuser = je met quoi ?????? j utilise EasyPHP. Je met root ?$dbpass = mot de pas PROBLEME SIMPLE [ par g0belin ] sa me repond sa---------------------------ERREUR--------------------Réponse serveur SQL : You have an error in your SQL syntax near '@msn.com, 1234567 PROBLEME UPDATE [ par g0belin ] JE FAIS SA:$requete2= "UPDATE membre SET cle = $id WHERE LIKE '%$login%'";ET SA ME DIS SA:Réponse serveur SQL : You have an error in your SQL syntax n SQL Injection [ par thebigbang ] bonjour à tous,Je cherche des infos sur la méthode du SQL Injection.. Si vous vous y connaissez un peu, merci de m'aider, me renseigner ... me donner


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales