Gestionnaire de sauvegarde complet pour base de donnes MySql.
                            ****************
Pour ceux qui ont une application PHP / MySql, il permet de sauvegarder d'un 
clic sa base ou de la restaurer avec une sauvegarde antrieure. La gestion des 
noms est automatique mme s'il y a plusieurs bases  grer. Une seule ligne de 
code php/html est  rajouter au menu de chaque application avec retour dans 
l'application  la fin. Les tables avec contraintes de cls externes sont 
gres. Ce gestionnaire est compos de petits modules, qu'il suffit de placer 
dans le rpertoire courant. Ils peuvent tre  utiliss indpendamment.
Dans cette rvision, il est tenu compte du fait que certaines versions de PDO /
PHP / MySQL ne tolrent pas la lecture partielle d'un execute().
                            ****************
La prsentation des fichiers de sauvegarde est calque sur celle des 
exportations de PhpMyAdmin. Avec une diffrence : l'importation de PhpMyAdmin 
impose d'effacer manuellement toutes les tables concernes, ce qui est contraire
au principe d'automatisme. Le palliatif est de procder  la sauvegarde de la 
base actuelle avant toute restauration puis  la suppression des tables. 
L'importation d'une sauvegarde peut se faire alors en toute srnit.
                            ****************
Pour faciliter le choix du fichier  restaurer, un petit diteur a t ajout. 
Tout fichier .sql est accept. La liste de ces fichiers avec leur date de 
cration est galement affiche. Ils doivent tre dans le rpertoire courant.
                            ****************
Pour grer plusieurs bases, il a t choisi d'associer quelques lignes de code 
chaque base (des aiguilleurs). Chaque aiguilleur assure la connexion  sa base 
(sous forme d'une instance PDO). Il lance alors le gestionnaire de sauvegarde 
dont le formulaire aura pour destinataire l'aiguilleur, pour un retour  
l'expditeur. (redirection). Les aiguilleurs se distinguent simplement par le 
nom de la base associe : aiguilleur_unebase.php
                            ****************
Petit bonus : si la base venait  tre corrompue, provoquant une erreur fatale,
en lanant simplement son aiguilleur on peut restaurer la dernire sauvegarde et 
se retrouver directement dans l'application rpare ! Le contenu de la base, tel
qu'il tait avant rparation, peut alors tre tudi dans l'diteur.
                            ****************
Mais avant tout test, procder  une (dernire ?) exportation / VRIFICATION de
l'exportation. Ne jamais oublier la puissance de la loi de Murphi ! Dont ma 
traduction serait : la chose la plus improbable doit tre considre comme 
avre ds lors qu'elle est nfaste...
                            ****************
W7 / WAMPSERVER2.1 / phpMyAdmin3.3.9 / Apache2.2.17 / MySQL5.5.8 / PHP5.3.5
*******************************************************************************
*******************   Ce qui suit est rserv au .zip  ************************
*******************************************************************************
EN PRATIQUE,
Si une des bases est 'base1' et que son menu est gr par une liste droulante,
il faut rajouter une option au menu avec la ligne :
...................................................................
<option value="aiguilleur_base1.php">Gestion sauvegardes</option>
...................................................................
Crer le 'fichier aiguilleur_base1.php' (en changeant 'base1' et 'mon_pass') 
avec pour contenu le code : (le fichier est dans le .zip)
-------------------------------------------------------------------
<?php
if(isset($_POST['sauve'])&& $_POST['restaure']==''&& $_POST['sauve']=='non') {
header("Location: mon_accueil.php"); exit; }	// <== modifier ici
$base = 'base1';	     // <== modifier ici (nom d'une de mes bases)
$bdd = new PDO('mysql:host=localhost';dbname='.$base, 'root', 'mon_pass');
include("gestionnaire.php"); // La cible du formulaire est cet aiguilleur. 
?>
-------------------------------------------------------------------
Si le menu est gr par des boutons "radio", il faut ajouter la ligne :
...................................................................
<input type="radio" name="menu" value="xx"/><label for="xx">yy</label>
...................................................................
en remplaant les "xx" par : "aiguilleur_base1.php",
et les "yy" par : Gestion des sauvegardes
En supposant que la premire ligne php de "lecture" du menu soit :
-------------------------------------------------------------------
<?php
if(isset($_POST['menu'])) {
	header("Location: ".$_POST['menu']); exit;	}
-------------------------------------------------------------------
                            ****************
Et rajouter dans le rpertoire de travail les fichiers :
aiguilleur_base1.php	( modifier)
sauvegarde.php
restauration.php
gestionnaire.php
pied_de_page.php
feuille.css		pour quelques couleurs.
                            ****************
Ct scurit, un formulaire utilis est aussitt invalid : si on revient en 
arrire dans la navigation, mme si on relance le formulaire, l'action sera sans
effet. On ne verra plus : "les informations prcdemment transmises par Firefox 
doivent tre renvoyes." ! (au risques et prils de l'utilisateur !).
                            ****************
W7 / WAMPSERVER2.1 / phpMyAdmin3.3.9 / Apache2.2.17 / MySQL5.5.8 / PHP5.3.5
                            ****************
