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 !