Kamelot Blog

Aller au contenu | Aller au menu | Aller à la recherche

dimanche 26 juillet 2009

dim
26
juil '09

PhpMyAdmin "avancé" (partie 2)

Il existe plein d'options dans phpMyAdmin pas très connues.

Trois me plaisent plus particulièrement.

  • le regroupement de table par préfixe (Partie 1)
  • L'historique des commandes.
  • la gestion des relations

Partie 1 - Partie 2

Pour les 2 possibilités suivantes, vous devrez créer un ensemble de tables spéciales. Ces tables peuvent se trouver dans votre propre base de données, ou dans une base de données séparée.

Il faudra donner le nom de cette db dans $cfg['Servers'][$i]['pmadb'].

Mémorisation des requêtes réalisées

Il y a en fait 2 possibilités

L'historique

Il faudra créer une table dans $cfg['Servers'][$i]['pmadb']. et mettre le nom de la table dans $cfg['Servers'][$i]['history']

Il mémorisera toutes les requêtes.

Cette liste pouvant grandir un peu trop, $cfg['QueryHistoryMax']. permet de limiter leur nombre

Apparemment il y a moyen de se passer de la table et de gerer ca en javascript (base par navigateur dans ce cas)

En bookmark

(Depuis la version 2.2.0) Il faudra créer une table dans $cfg['Servers'][$i]['pmadb']. et mettre le nom de la table dans $cfg['Servers'][$i]['bookmarktable']

[Mysql]

-- 
-- Table structure for table `pma_bookmark`
-- 

CREATE TABLE IF NOT EXISTS `pma_bookmark` (
  `id` int(11) NOT NULL auto_increment,
  `dbase` varchar(255) NOT NULL default '',
  `user` varchar(255) NOT NULL default '',
  `label` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL default '',
  `query` text NOT NULL,
  PRIMARY KEY  (`id`)
)
  ENGINE=MyISAM COMMENT='Bookmarks'
  DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

la gestion des relations

(Depuis la version 2.2.4)

il faut ajouter à la config le nom de la table $cfg['Servers'][$i]['relation'] = 'pma_relation';

Donc faites comme vous le sentez mais généralement c'est pma_relation

[Mysql]

DROP TABLE IF EXISTS `PMA_relation`;
CREATE TABLE `PMA_relation` (
    `master_db` VARCHAR(64) NOT NULL DEFAULT '',
    `master_table` VARCHAR(64) NOT NULL DEFAULT '',
    `master_field` VARCHAR(64) NOT NULL DEFAULT '',
    `foreign_db` VARCHAR(64) NOT NULL DEFAULT '',
    `foreign_table` VARCHAR(64) NOT NULL DEFAULT '',
    `foreign_field` VARCHAR(64) NOT NULL DEFAULT '',
    PRIMARY KEY (`master_db`, `master_table`,`master_field`),
    KEY `foreign_field` (`foreign_db`, `foreign_table`)
) TYPE=MyISAM COMMENT='Relation table';

Pour faire un peiti test, j'ai créé dans ma db test 3 tables

[Mysql]
-- Généré le : Mar 28 Juillet 2009 à 23:03
-- Version du serveur: 5.0.75

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Base de données: `test`
--

-- --------------------------------------------------------

--
-- Structure de la table `classe`
--

CREATE TABLE IF NOT EXISTS `classe` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `nom` varchar(30) NOT NULL,
  `prof` varchar(30) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Contenu de la table `classe`
--

INSERT INTO `classe` (`id`, `nom`, `prof`) VALUES
(1, 'premiere latin', 'Mr carton'),
(2, 'premiere langue', 'Madame crayon');

-- --------------------------------------------------------

--
-- Structure de la table `eleve`
--

CREATE TABLE IF NOT EXISTS `eleve` (
  `id` int(8) unsigned NOT NULL auto_increment,
  `prenom` varchar(15) NOT NULL,
  `nom` varchar(15) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Contenu de la table `eleve`
--

INSERT INTO `eleve` (`id`, `prenom`, `nom`) VALUES
(1, 'jean', 'bon'),
(2, 'Marc', 'Assin'),
(3, 'simon', 'brol'),
(4, 'julien', 'folie');

-- --------------------------------------------------------

--
-- Structure de la table `inscription`
--

CREATE TABLE IF NOT EXISTS `inscription` (
  `idclasse` int(10) unsigned NOT NULL,
  `ideleve` int(10) unsigned NOT NULL,
  `role` varchar(30) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Contenu de la table `inscription`
--

INSERT INTO `inscription` (`idclasse`, `ideleve`, `role`) VALUES
(1, 1, ''),
(1, 2, ''),
(2, 1, ''),
(2, 4, '');

Dans l'affichage de la table on a ceci

On peut alors aller dans la structure d'une table et ensuite cliquer sur "gestion des relations".

On a une select box pour dire à quel champs d'une autre table peut-être lié les champs de la table courante

Quand ceci est fait, quand on affiche le contenu de la table, les valeurs deviennent des liens vers l'affichage des enregistrements correspondants dans l'autre table.

samedi 25 juillet 2009

sam
25
juil '09

SVN Dump : memo

J'ai dumpé un SVN alors pour mémoire...

Sur le svn source

[console]
svndump –r  :1000 > dump_part1.dumpfile
svndump –r  1001:2000 –incremental > dump_part2.dumpfile
svndump –r  2001: –incremental > dump_part3.dumpfile

note : --incremental n'a pas été nécéssaire sur le 1er

Sur mon svn avec trac

[console]
mv /somewhere/svn/myproject/ /somewhere/svn/myproject.bak2
svnadmin create /somewhere/svn/myproject/
svnadmin load /somewhere/svn/myproject/ < dump_part1.dumpfile
svnadmin load /somewhere/svn/myproject/ < dump_part2.dumpfile
svnadmin load /somewhere/svn/myproject/ < dump_part3.dumpfile
trac-admin /somewhere/trac/myproject resync

note : la dernière commande c'est parce que j'utilise trac. Pour svn seul ce n'est pas nécessaire.

vendredi 17 juillet 2009

ven
17
juil '09

Une faille de niveau 4 dans Firefox 3.5 corrigée en 3.5.1

Une faille sérieuse annoncée dans Firefox 3.5 demandait de réagir vite car une exploitation avait été publiée.

Firefox 3.5.1 est donc publié et corrige dans la volée 22 Bugs

À télécharger ici

vendredi 10 juillet 2009

ven
10
juil '09

Buvons à PHP cet été

Sarah propose un Apéro php à Paris le 23 juillet 2009, sur les coups de 19h, au Zoco Bar.

Qui nous trouve un endroit pour faire de même à Bruxelles ?

Et un emplacement pour faire un barbecue php en Aout ?

mardi 7 juillet 2009

mar
07
juil '09

VideoLAN La version 1.0.0 est là

VideoLAN - Open Source multimedia and streaming solutions for every OS!

  • Libre, Open Source et cross-platforme
  • Indépendant des systèmes de codecs pour supporter plus de types vidéo
  • L'enregistrement en direct
  • Pause instantanée et support du Frame-by-Frame
  • contrôles de vitesse fin
  • Nouveaux codecs HD (AES3, Dolby Digital Plus, TrueHD, Blu-Ray Linear PCM, Real Video 3.0 et 4.0, ...)
  • Nouveaux formats (Raw Dirac, m2ts, ...) et d'importantes améliorations dans de nombreux formats ...
  • Nouvel encodeur Dirac et encodeur 'fixed-point ' MP3
  • Redimensionnement de la vidéo plein écran
  • support RTSP Trickplay
  • Joue les fichiers zippés
  • Les barres d'outils personnalisables
  • interface Qt pour un encodage facilité
  • Une meilleure intégration dans les environnements Gtk
  • périphériques MTP sous linux
  • AirTunes streaming
  • Nouvelle skin pour l'interface skins2

lundi 6 juillet 2009

lun
06
juil '09

WOT (Web of Trust) pense aux daltoniens

Ils se sont préoccupés des daltoniens et ils le montrent : Support colorblind

WOT signale les sites Web à risque

WOT est un module complémentaire de sécurité Internet gratuit pour votre navigateur. Il vous protège des fraudes en ligne, de l'usurpation d'identité, des logiciels espions, du courrier indésirable, des virus et des sites de vente en ligne non fiables. WOT vous avertit avant toute interaction avec un site Web à risque. C'est simple et gratuit.

à télécharger

jeudi 2 juillet 2009

jeu
02
juil '09

Modifier un message commit svn dans le log

Copié pour mémo de http://www.simpleentrepreneur.com/2009/03/18/les-operations-de-base-dans-subversion/

Dans le cas où vous avez effectué un commit avec un message incorrect ou incomplet, vous pouvez le modifier en autorisant tout d’abord la modification des propriétés de révision en créant un fichier pre-revprop-change.bat ou pre-revprop-change.sh dans le répertoire hooks du dépôt. Il suffit ensuite d’exécuter la commande suivante avec le nouveau message depuis le répertoire racine de la copie de travail :

svn propset -r 162 --revprop svn:log "Backported production fix."

En précisant bien sûr le numéro de révision. La dernière étape consiste à supprimer ce fichier afin de rétablir les mécanismes de hook par défaut.

Tags