Clients de 1&1, vous avez sûrement déjà pesté contre
l'interface d'administration fournie.
Difficilement accessible (il faut trois pages pour y accéder,
inadmissible quand on veut aller vite ! ), la session a
tendance à se terminer vite… et toujours au moment le
moins propice, c'est-à-dire à l'enregistrement de données (le
mal aimé Session ID Missing ! )
Ajoutons enfin que la version de phpmyadmin fournie
commence à dater un peu (la 2.6.4, la version actuelle est la
3.2.5), et vous aurez toutes les raisons pour chercher une
alternative.
Par exemple, celle que je présente ici.
Nous allons donc installer nous même phpmyadmin. Plutôt que d'utiliser l'adresse bancale http://phpmyadmin.1and1.fr, nous créerons notre propre installation configurée selon nos souhaits.
- Durée estimée : 30 minutes.
Téléchargement de phpmyadmin
Première étape :
télécharger phpmyadmin.
Dézippez le fichier obtenu et uploadez-le sur votre (s)ftp. Il
y a beaucoup de fichiers (près de 600 ! ), vous avez le
temps de vous faire un petit café.
Phpmyadmin recommande de l'installer à la racine du serveur
(pour qu'il soit disponible sur l'adresse /phpmyadmin), mais
je vous recommande de le cacher dans l'arborescence de
dossiers – pour vivre heureux, vivons caché
.
C'est bon ? Nous pouvons commencer.
Configuration
Vous devriez avoir un fichier config.sample.inc.php. Renommez-le en config.inc.php, puis modifiez son contenu selon la logique et le bon sens. Si vous n'avez ni l'un ni l'autre, lisez la suite !
Type d'authentification
Vous pouvez choisir entre plusieurs types de connexions :
par cookie, par http, ou par
connexion directe.
L'avantage de la connexion directe, c'est que votre session
restera indéfiniment ouverte…
L'inconvénient, c'est que n'importe qui aura accès à vos
fichiers (à moins que vous n'ayez protégé le fichier via
Apache, j'en reparle juste après).
Personnellement, j'ai choisi cette dernière méthode. À titre d'exemple, voici la configuration de base que j'utilise :
/* Paramétrage de l'identification */ $cfg['Servers'][$i]['user'] = 'login_bdd'; $cfg['Servers'][$i]['password'] = 'mdp'; $cfg['Servers'][$i]['auth_type'] = 'config'; /* Server parameters */ $cfg['Servers'][$i]['host'] = 'serveur.1and1.fr'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false;
Sécurisation
Le problème de l'authentification config, c'est que
n'importe qui peut modifier vos bases de données.
Je répète : cette solution ne doit être utilisée que couplée
avec un dispositif de sécurité empêchant l'accès aux pages
!
Je recommande par exemple
la protection par fichier .htaccess.
Vous avez maintenant un client phpmyadmin fonctionnel ! Rendez-vous sur la page à laquelle vous l'avez installé pour en profiter.
Optimisation
Avant de finir ce tutoriel, quelques petites astuces pour vous faciliter la vie.
Extension
Plutôt que d'utiliser mysql, vous pouvez passer par
mysqli qui est plus rapide (inclus par défaut dans
PHP 5).
Il suffit de remplacer
$cfg['Servers'][$i]['extension'] = 'mysql'; par
$cfg['Servers'][$i]['extension'] = 'mysqli';
Masquer certaines base de données
Par défaut, phpmyadmin liste toutes les bases de données, y compris celles qui ne vous servent pas tous les jours. Vous pouvez modifier ce comportement en spécifiant un tableau (ou un string s'il n'y a qu'une seule possibilité) des bases à afficher, afin d'accélérer l'accès aux données.
$cfg['Servers'][$i]['only_db'] = "nom_db";
Simuler de multiples bases de données
1&1 a tendance à limiter le nombre de bases de données disponibles, ce qui peut vous forcer à créer de multiples projets dans la même base, simplement séparés par un préfixe. Par exemple, Blog_Articles, Blog_Commentaires, mais aussi Site_Liens et Ressources_Pages. Plutôt que d'afficher une colonne indigeste dans le panneau de gauche, vous pouvez regrouper vos tables par préfixe en spécifiant le séparateur. Extrêmement pratique pour les installations lourdes !
$cfg['LeftFrameTableSeparator']='_';//Remplacez le _ par votre séparateur de table ;)
Pour finir…
Ajoutons en bonus track une instruction pour ne pas répéter les en-têtes de tableau (je suppose que vous connaissez la structure de vos tables et de vos requêtes, pas besoin de l'afficher tous les 50 enregistrements) et un petit bout de code pour masquer le logo et gagner quelques précieux pixels dans la frame de gauche.
$cfg['LeftDisplayLogo']=false; $cfg['RepeatCells']=0;
Pour plus d'informations, il reste bien sûr la page officielle de documentation !