Chargement massif MySQL

Un dernier petit article du boulot pour parler de la fonction LOAD DATA de MySQL qui permet de faire des chargement massifs de données à partir de fichiers CSV.

Je suis tombé dessus par hasard il y a quelques mois seulement alors que je devais importer un fichier CSV de 40Klignes (de 3 petits champs alphanumériques). Cet import devait être fait régulièrement à distance et à l’aide d’un navigateur, le serveur HTTP tombait donc toujours en time out loin avant fin du fichier. J’ai donc cherché une fonction qui irait mieux que ma collection d’ordres INSERT et suis tombé sur LOAD DATA. Mes 40Klignes se sont laissées importer en moins de 5 secondes avec cette fonction ! La victoire était donc à moi.

Aujourd’hui je suis retombé dessus en lisant un site sur les entrepôts de données (PentahoKettle), on y parle de MySQL bulk load, après quelques recherches, j’en viens à supposer très fortement que ces chargements massifs reposent sur LOAD DATA, ça ne serait pas étonnant, vue la performance époustouflante de cette fonction.


AccessiWeb

Une référence en matière d’accessibilité du web : AccessiWeb.

  • La maxime :

    La nature du web est son universalité. Il doit être accessible à toutes les personnes handicapées.

    Tim Berners Lee, Directeur du W3C

  • Plus la définition de l’accessibilité par Tim Berners Lee :

    Mettre le Web et ses services à la disposition de tous les individus, quel que soit leur matériel ou logiciel, leur infrastructure réseau, leur langue maternelle, leur culture, leur localisation géographique, ou leurs aptitudes physiques ou mentales.

    Tim Berners Lee, Directeur du W3C

  • Et un email de ma part qui leur est adressé ambiance “geek intégriste du domaine public” :

    De : Jerome Lamartiniere [mailto:genuine.j@gmail.com] Envoyé : lundi 20 août 2007 15:38 À : info@accessiweb.org Objet : Barre AccessiWeb

    Bonjour, Ce mail pour vous dire que je suis heureux d’avoir trouvé votre site car je suis développeur et avais besoin d’un référence sérieuse en matière d’accessibilité.

    J’ajoute que je pense qu’il serait judicieux de préciser que la barre AccessiWeb est une barre d’outils pour le navigateur Microsoft Internet Explorer.

    En effet, jusqu’à preuve du contraire, même si ce cher Bill tente d’amalgamer Internet, Internet Explorer, Live et Live Messenger dans les esprits, je maintiens, il s’agit d’une technologie, d’un navigateur (très mauvais mais le plus utilisé car fourni avec Windows), d’un portail et d’un soft de messagerie instannée.

    Une chance que ce vilain navigateur puisse (depuis peu) s’installer sur les postes de travail Linux et MacOS, sinon vous priviez une bonne partie de la toile de votre petit bijou qui devrait être OBLIGATOIRE.

    Cordialement,

    Jérôme

    Mes remarques de petit excité seront-elles aussi bien accueillies que chez Zend ? ^^ A suivre…

Un dernier détail, personnellement je n’arrive pas à installer Internet Explorer sous Linux si je me contente de wine, en revanche, avec CrossOver Office (mulable ;)) c’est très facile.


Démons

Qu’est ce qu’un démon ? Pour changer, je m’interroge sur un mot qui a une signification dans le jargon informatique. Je ne causerais donc po des petits esprits malins qui nous poussent à faire nos conneries (un peu facile ça… on a besoin d’personne je pense ^^) ou autres contes de fées mais plutôt de cette définition que je trouve ma foi tout à fait intéressante.

Dans le domaine de l’informatique, le terme démon (ou daemon en anglais) désigne un type de programme. Le terme a été créé par les inventeurs d’Unix pour se référer à un processus qui s’exécute en arrière-plan plutôt que sous le contrôle direct d’un utilisateur. Il vient du mot anglais daemon, transcription du grec δαιμων. L’acronyme Disk And Execution MONitor (moniteur de disque et d’exécution) a été inventé pour justifier le terme daemon après qu’il soit devenu populaire.

C’est à dire, je pense, l’équivalent d’un service sous Windows, d’ailleurs, on peut aussi appeller un service par le petit nom sympa de démon, il me semble. Comme c’est mignon ! Et une petite plume dans l’cul avec ça ?


Mosko et associés

Je suis retourné sur le site de Mosko et associés ça mérite le détour, faudrait vraiment que je me refasse une expo d’eux bientôt.

Personellement ces pochoirs me rappellent beaucoup de bons souvenir par ce que j’ai vécu un bon moment avec Michel Allemand, qui peint pour Mosko, et accompagnait ma mère pendant près de 10 ans (env. 1985-1995).

Cet article, donc, EST par ce que depuis hier je pense à lui (Michel), et à eux (Mosko), comme cela m’arrive de temps en temps et de plus en plus depuis que je vis de nouveau sur Paris et que je les vois, que je vois du Jérôme Mesnager ou du Misstic. C’est donc l’occasion de faire un peu de pub (tu me diras spô avec le traffic que j’ai qu’ça va faire péter l’déliromètre… ^^).

Michel Allemand et Gérard Laux

Mosko et associés portent bien leur nom. D’abord il y a les deux complices du pochoir, Michel Allemand et Gérard Laux. Vieux potes de travail, de peintures, de vie, qui sans façon depuis près de quinze ans recouvrent les murs parisiens de leurs animaux multicolores.
Le message est simple : on veut du beau, de la gaieté, de la vie, là où il y a du laid, du sombre, des ruines. Et les ruines ils connaissent puisqu’ils viennent du quartier “rénové” de la Moskowa. Donc Mosko…
Associés, parce qu’ils travaillent en bande, souvent avec d’autres artistes, comme Jérôme Mesnager, Nemo ou Hondo.”

Daniel Cresson
Critères éditions

Quelques liens pas officiels parfois assez bien illustrés :

Les pochoirs et graffitis de tom

Les Murs murs

Galerie Ligne 13

Chambre noire

Misstic FanClub


Installation de Tomcat 5.5 sous Debian Etch

Je croyais que j’allais avoir des difficultés à installer Tomcat 5.5 sur ma Debian Etch, mais c’est pas si difficile en fait. Voilà une petite recette en ligne de commande root.

1 – Télécharger l’installeur du JDK chez Sun et l’installer (sh jdk-x-x-x.bin) pour avoir LE kit de dev Java tout frais tout fneu. Attention, ça l’installe dans le répertoire dans lequel la console se trouve 😉
2 – Installer Tomcat 5.5 (apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps).

2 – Editer le fichier d’initialisation du service Tomcat (vi /etc/init.d/tomcat5.5) pour lui donner le chemin le dossier du JDK (JDK_DIRS=”mon_chemin_vers_le_dossier_du_JDK“).

3 – Pour accéder au manager (http://localhost:8180/manager/html) il faut aller faire un tour vers le fichier XML de gestion des utilisateurs (vi /var/lib/tomcat5.5/conf/tomcat-user.xml) pour y ajouter les rôles admin et manager et les attribuer à l’utilisateur tomcat (dès que j’accède à l’admin j’en cause :p). Le fichier ressemble à ça :

<?xml version=’1.0′ encoding=’utf-8′?>
<tomcat-users>
<role rolename=”manager”/>
<role rolename=”tomcat”/>
<role rolename=”admin”/>
<role rolename=”role1″/>
<user username=”both” password=”mon_pass” roles=”tomcat,role1″/>
<user username=”tomcat” password=”mon_pass” roles=”tomcat,admin,manager”/>
<user username=”role1″ password=”mon_pass” roles=”role1″/>
</tomcat-users>

4 – Redémarrer le serveur ( /etc/init.d/tomcat5.5 restart)

Le tour est joué 🙂 J’accède maintenant à la page d’accueil en local (depuis le serveur) à l’adresse http://localhost:8180/


Filmotech

Encore une découverte de soft sympa : un gestionnaire de videoclub nommé Filmotech.

Je le teste au bureau pour tenter d’aider les responsables des locations de DVD.

Il permet de gérer une bibliothèque locale (fichier ou MySQL) de videos et emprunteurs avec une appli win32, et on peut exporter cette bibliothèque sur un serveur PHP/MySQL pour faire une vitrine.

Il prend en charge achats, ventes et locations de vidéos.

Bon, j’vais changer la photo de ma Ninette parce qu’elle ne l’aime pô.


Visual Paradigm for UML

Un grand merci à ce logiciel, Visual Paradigm for UML, qui m’a permis de faire de la rétro-conception sur un projet en PHP5 orienté objet. La version community (gratuite) ne permet pas d’en faire, mais c’est possible avec une simple clé d’évaluation pour la standard (clef d’eval gratos mais 300€ la version complète) et le résultat est très convainquant. Seul regret avec une tite clef d’éval (pour le moment) : la trame “evaluation copy” à l’impression (et extraction) des diagrammes.


WordPress, XHTML et Flash (le retour)

J’comprends po.

Quand je poste un flash de Youtube, je suis obligé de l’enfermer dans un <div> pour être presque valide (XHTML transitional) mais il me rajoute un </p> juste après ma balise <object …> qui rend la page invalide. Et d’ailleurs il m’en invente aussi dans les pages d’archives.

<div>
<object type=”application/x-shockwave-flash” width=”425″ height=”350″ data=”http://www.youtube.com/v/ul1VlLU3S9Q”></p>
<param name=”wmode” value=”transparent” />
<param name=”quality” value=”best” />
<param name=”allowfullscreen” value=”true” />
<param name=”scale” value=”showAll” />
<param name=”movie” value=”http://www.youtube.com/v/ul1VlLU3S9Q” />
</object>
</div>

C’est tout de même étrange, pourtant je n’utilise plus le Rich Text Editor pour ça (je vais direct dans la DB) et il n’y a pas de </p>.

To be continued .