mon blog de geek...

Modifier un thème phpMyAdmin

Quand on doit gérer plusieurs serveurs, avec chacun plusieurs bases de données, la première chose qu’on installe, forcément, c’est phpMyAdmin. Je ne me pose même pas la question, il fait partie de l’image de serveur que j’installe par défaut.

Le problème

Mais quand on se retrouve à jongler avec trois navigateurs (et je ne parle pas des onglets) et plusieurs consoles sur deux écrans, on finit par commettre des erreurs. Par exemple dans la console,  supprimer un dossier qui ne semble plus utile. Ou modifier des éléments dans une base de données.

Et quand on est au milieu de la nuit, qu’on veut à tout prix finir avant de se coucher… on finit par se planter. On se trompe d’écran, de navigateur ou d’onglet, et on supprime le bon dossier, ou la bonne base de données… mais pas sur le bon serveur !

La (ma) solution

utilisateur rootPour essayer d’éviter ce genre d’erreur, j’aime bien utiliser des couleurs.

Ainsi de façon intuitive, je sais que dans la console, si le nom d’utilisateur est rouge alors je suis en root (attention danger !) et si le nom du dossier est vert, alors je suis sur le serveur s2.

Aujourd’hui je crée un nouveau serveur et par flemme je le fais en en copiant un autre. C’est rapide, je suis sur que tout est à jour… mais je me retrouve alors avec un deuxième serveur contenant exactement les mêmes données que le premier.

Je supprime rapidement les sites internet, mais mon script, dont les améliorations ont été remises aux calendes grecques, ne supprime pas les bases de données. Il faut le faire à la main dans phpMyAdmin. En fait, c’est aussi parce que je me méfie de l’automatisation totale que j’ai traîné à intégrer la suppression des bases de données dans le script.

J’installe le nouveau site, me connecte à phpMyAdmin… et là je retrouve toutes les base de l’autre serveur (une vingtaine) et surtout je ne vois pas la nouvelle ! Légère inquiétude, je me demande même à un moment si je ne me suis pas trompé de serveur. Du coup j’ouvre PMA sur l’autre, et en survolant d’un œil rapide je ne vois aucune différence !

Du coup, alerte ! Mon nouveau serveur serait-il, par un quelconque super pouvoir, le toujours lié au premier ? Et si je supprime des données, j’agirai sur quoi exactement ? Bref, j’ai passé 10 minutes à faire de petites modifications dans une table en cherchant sur le site concerné si ça se modifiait ou non.

Bien sur les deux serveurs sont totalement indépendants (juste des clones) et c’était impossible. D’ailleurs en fouillant un peu j’ai fini par retrouver la nouvelle base sur le nouveau serveur. Ça m’apprendra à leur donner des noms à la con…

J’ai donc cherché à reproduire dans phpMyAdmin ce que j’avais fait pour la console : avoir des couleurs légèrement différences selon le serveur utilisé. Ça tombe bien pma utilise des thèmes…

Comment faire pour modifier le thème de phpMyAdmin

Je ne voulais pas changer carrément de thème, l’actuel me convient, je voulais juste modifier légèrement la couleur de fond. Et pas de façon trop forte, une simple nuance suffit.

Une petite recherche sur le net et j’ai trouvé… rien ! Soit j’ai mal cherché soit personne n’a eu ce besoin avant moi. On trouve plein de page expliquant comment changer de thème, comment en trouver sur le net, comment en créer un et le mettre à la disposition des utilisateur…

J’ai donc fait ma petite recherche perso :

  • Les thèmes de pma sont situés dans /usr/share/phpmyadmin/themes
  • Celui que j’utilise est pmahomme
  • Un petit coup de debug et je trouve comment modifier l’aspect du panneau de gauche.

J’ai voulu faire simple, j’ai vu que le fond de #pma_navigation était une image. Je l’ai désactivée pour voir… oui c’est bon, le fond passe en blanc. J’ai donc juste remplacé le

par

J’ai choisi une couleur un peu à la va vite avec la pipette du debug du navigateur, ça donne un mauve assez clair qui me convient bien pour l’instant.Thème personnalisé pour PhpMyAdmin

Au niveau de la css j’étais pressé j’ai donc fait ça un peu à l’arrache. Le fichier css à modifier est navigation.css.php

Hé oui, ce n’est pas une simple feuille css, c’est un php qui utilise des variable définies dans layout.inc.php.

J’aurai pu faire ça plus proprement en ajoutant de nouvelles variables dans layout. Au lieu de ça, j’ai modifié comme un sauvage la ligne 25 de navigation.css.php en commentant le background (oui, sauvage mais prudent, je tiens à pouvoir revenir en arrière !) et en ajoutant une ligne

donc un petit

et c’est ok !

0 Commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *