-
octobre 15th, 2010MySQLphpMyAdmin est un incontournable dans le monde de MySQL pour qui veut gérer ses bases de données.
Mais il existe des alternatives! Déjà, en version desktop, celles proposées par MySQL qui sont MySQL Administrator et MySQL Query Browser.
Si ces outils fonctionnent parfaitement, on ne peut pas dire que l’erognomie soit parfaite, notamment pour le query browser.
Nous allons donc aujourd’hui découvrir ensemble Chive.
Pour l’installer:
wget -O - http://launchpad.net/chive/trunk/0.3.0/+download/chive_0.3.0.tar.gz|tar -xzp
Cette commande va télécharger l’archive et l’extraire dans un répertoire nommé chive.
Pensez donc à l’executerdepuis votre document root Apache afin que celui-ci soit accessible par votre navigateur.
Voici un tableau disponible sur le site de Chive et comparant les différents outils de gestion en mode Web de MySQL (Chive, phpMyADmin, SQL Buddy)
Je ne peux que vous conseiller de créer un virtual host dédié, comme il est d’ailleurs conseillé de le faire sur un phpmyadmin en mettant autre chose que phpmyadmin.mondomaine.com pour éviter les attaques sur les urls trop communément utilisées (j’en ai fait les frais)
vi /etc/apache2/sites-available/chive
<VirtualHost *> ServerName monchive.mondomaine.com DocumentRoot /var/www/chive/ CustomLog /var/log/apache2/chive.log combined ErrorLog /var/log/apache2/chive_err.log <Directory /var/www/chive/> Order Deny,Allow </Directory> </VirtualHost>a2ensite chive
On peut ensuite se rendre à l’url: http://monchive.mondomaine.com
En testant la première fois, j’ai obtenu l’erreur
Warning: CApplication::require(protected/config/main.php) [capplication.require]: failed to open stream: No such file or directory in /home/web/chive/yii/base/CApplication.php on line 100 Fatal error: CApplication::require() [function.require]: Failed opening required 'protected/config/main.php' (include_path='/home/web/library/') in /home/web/chive/yii/base/CApplication.php on line 100
Editez le fichier
vi /var/www/chive/index.php
Modifiez la ligne
$app = Yii::createWebApplication('protected/config/main.php'); et changez la par $app = Yii::createWebApplication('./protected/config/main.php');Voilà vous avez donc accès à Chive et à toutes ses fonctionnalités, dont un éditeur SQL avec syntaxe colorée, très pratique!
Abusez aussi des routines, c’est merveilleux.Une chose me manque toutefois, car je gère plusieurs serveurs mysql. Je ne vais pas taper à la main à chaque fois le nom d’hôte de chaque machine, on va donc modifier un peu le code pour mettre ça en place
Trois étapes pour cela
- On édite le fichier de config pour y ajouter la liste des hôtes à gérervi /var/www/chive/protected/config/main.php
on va ligne 228 du fichier, et on rajoute dans le tableau params une nouvelle entrée nommée hosts sous forme de tableau
on remplace 'params' => array( 'iconPack' => 'fugue', 'version' => '0.3.0', ), PAR // application-level parameters 'params' => array( 'iconPack' => 'fugue', 'version' => '0.3.0', //host list for connection 'hosts' => array( 'NOM HOTE 1 DANS LA SELECT BOX' => 'monhote1.mondomaine.com', 'NOM HOTE 2 DANS LA SELECT BOX' => 'monhote2.mondomaine.com', 'NOM HOTE 3 DANS LA SELECT BOX' => 'monhote3.mondomaine.com' ), ),- on a maintenant défini les paramètres, il faut les utiliser dans le page de login
vi /var/www/chive/protected/views/site/login.php
aux alentours de la ligne 78, on remplace le champ texte ‘host’ par une select box (on garde toujours l’ancien en commentaire au cas ou)
Pour accéder au tableau hosts défini dans le fichier de config: Yii::app()->params['hosts']On remplace <?php //echo CHtml::activeTextField($form, 'host', array('class'=>'text')); ?> PAR <?php //echo CHtml::activeTextField($form, 'host', array('class'=>'text')); echo CHtml::activeDropDownList($form, 'host', Yii::app()->params['hosts'], array('class'=>'text')); ?>Enfin, on fait un peu de CSS, c’est pas jojo sans ça
vi /var/www/chive/themes/standard/css/form.css
Au début du fichier, il y a le bloc
input[type=text], input[type=password], input[type=submit], input[type=reset], input[type=button], textarea { background-color: #F7F7F7; border: solid 1px #CCC; color: #333; padding: 4px 0px 4px 4px; }On y ajoute input[type=select]
input[type=select], input[type=text], input[type=password], input[type=submit], input[type=reset], input[type=button], textarea { background-color: #F7F7F7; border: solid 1px #CCC; color: #333; padding: 4px 0px 4px 4px; }vi /var/www/chive/themes/standard/css/style.css
ligne 158, après le bloc #login input
#login input { font-size: 18px; padding: 3px; } #login select { font-size: 18px; padding: 3px; }On ajoute un bloc #login select
#login select { font-size: 18px; padding: 3px; background-color: #F7F7F7; }Et voilà une image pour voir ce que ca donne!
Tags: chive, framework, MySQL, phpmyadmin, sgbd, Yii -



