Jean-Luc Petit

MySQL : forcer la suppression

Cela peut arriver aux meilleurs et afin de ne pas trop choquer les esprits les plus sensibles et les plus orthodoxes je vais expédier cet article.

Si vous voulez supprimer une base de données sans grand ménagement pour les clés étrangères et autres joyeusetés, précédez votre requête honteuse par :

SET FOREIGN_KEY_CHECKS = 0;

Si vous vous sentez coupable après votre forfait (n’entrons pas dans les détails, un peu de pudeur voyons !), remettez la configuration en place comme il se doit :

SET FOREIGN_KEY_CHECKS = 1;

Enjoy!

Le Dingue au bistouri, Yasmina Khadra

L’objet

Le dingue au bistouri de Yasmina Khadra

La rencontre

Cela faisait un moment que je n’avais pas lu de Khadra : environ un an et demi, la dernière fois j’étais à Mayotte. Son écriture me manquait, j’ai donc tapé son nom sur Wikipédia, vu que son premier roman publié en tant que Yasmina Khadra (il a aussi écrit sous son vrai nom Mohammed Moulessehoul) est le Dingue au bistouri. J’ai donc fissa commandé ce dernier mais aussi son conte philosophique, l’Olympe des infortunes.

Le narrateur

C’est le personnage principal de l’histoire, le commissaire Llob. Désabusé, drôle, ce policier algérois, un San Antonio pudique. Son regard et son analyse sur les personnes et les situations m’ont fait mourrir de rire, ému et intéressé et ce seulement en environ 150 pages.

Le contenu

C’est l’histoire d’un commissaire d’Alger -mari et père, sous les ordres d’un parachuté, assisté par un Lino trop amoureux des femmes mais clairvoyant sur les relations humaines- qui reçoit l’appel d’un assassin qui s’apprête à passer à l’acte.

Au travers de l’enquête, Llob nous décrit son Alger de la fin des années 80, celui des gamins délaissés et désœuvrés, celui des survivants du quotidien, celui des villas cossues qui s’élèvent au pied de la misère.

La traque est un prétexte à la description du commissaire Llob, au déversement de ses pensées et de son regard sur ses contemporains, mais un superbe prétexte qui prend fin dans une course-poursuite dans les rues d’Alger.

Mon plaisir

Je suis fan de l’écriture de Yasmina Khadra et j’ai retrouvé tout ce que j’aime chez lui entre autres le style, le rythme, le vocabulaire.

Il y a une chose chez lui que j’apprécie par dessus tout : j’ai toujours l’impression qu’il s’adresse à mon intelligence alors même qu'il m'enseigne. Par exemple dans ce livre, j’apprends pourquoi on utilise plutôt le tutoiement que le vouvoiement chez « l’arabe » comme il dit. Et il nous distille deci-delà des analyses qui sont confondantes de vérité comme sa vision du Raï (page 120).

Que du plaisir.

Terroristes : les 7 pilliers de la déraison, Marc Trévidic

L’objet

Terroristes : Les 7 piliers de la déraison de Marc Trévidic.

La rencontre

Après les attentats de novembre, j’ai eu besoin de comprendre comment la justice luttait contre le terrorisme. J’ai entendu, comme beaucoup, Marc Trévidic juge au pôle antiterrorisme du tribunal de grande instance de Paris s’exprimer ici et là ces dernières années. Je me suis donc procuré l’une de ces publications.

Le narrateur

C’est Marc Trévidic himself. Le style est épuré j’ai trouvé, simple sans qu’on ait l’impression d’être pris pour des idiots. Ne serait-ce que pour la clarté, je relirai du Trévidic (j’attend juste que le dernier passe au format de poche).

Le contenu

On alterne entre constats et petites histoires où le juge antiterroriste nous raconte la justice, les services secrets, les petites histoires de terroristes mais aussi la grande histoire. Ce livre ne traite pas tant de l’organisation du terrorisme mais des terroristes en tant qu’hommes et femmes et des personnes qui ont affaire avec ceux-ci que ce soit un policier ou le président des États-Unis.

On rencontrera le petit français qui se bat pour une cause fantasmée qui va terminer en prison alors que son recruteur bien mieux préparé, lui, sait comment se jouer de la justice. On s’intéressera aussi aux jeunes filles qui cherchent un « vrai musulman » et qui se rendront compte, une fois le mariage consommé, que leur hijra (l’émigration d’un musulman d’un pays non-musulman vers un pays musulman) ne pourra se faire car la guerre au final c’est une histoire d’hommes et qu’il va falloir rentrer chez papa-maman car la seule solde du bon petit terroriste, c’est le martyr.

En première lecture, le livre prend le parti de l’humour et je me suis surpris à rire, mais on redescend bien vite car au final on se rend compte que ces histoires sont dramatiques.

Mon plaisir

J’aime les nouvelles surtout depuis ma période Asimov et les petites histoires racontées par Trévidic sont à la fois drôles et alarmantes.

Je recommande vivement : à lire et à relire.

Suivez Morten Storm, un Agent au cœur d’Al-Qaïda

Ceci est mon premier article littéraire, dans le sens où c’est la première fois que je publie sur un livre que j’ai lu. Je n’ai pas encore défini ma méthode de partage littéraire, elle s’affinera au fil des articles ou pas. Soyez indulgent, c’est un lieu commun certes mais n’oubliez pas que c’est juste un avis parmi tant d’autres.

L’objet

Agent au coeur d’Al-Qaïda de Morten STORM (Auteur), Paul CRUICKSHANK (Auteur), Tim LISTER (Auteur), Eva VILAR (Traduction)

La rencontre

C’est dans la gare SNCF de Bellegarde que j’ai rencontré ce livre. C’est la quatrième de couverture qui a fini de me décider. C’est seulement quatre mois plus tard, que je me suis enfin décidé à faire plus ample connaissance avec l’objet du délit.

Le narrateur

C’est Morten Storm, lui-même aidé par deux reporters de guerre de CNN que sont Paul Cruickshank et Tim Lister. En note de début d’ouvrage, ces derniers nous expliquent leur méthodologie. Le style est simple, les faits et la psychologie du narrateur sont à l’ordre du jour. Excepté certains passages comme celui qui traite de son renoncement à l’Islam (je ne dévoile rien, vous trouverez cette révélation un peu partout sur la toile) on est tenu en haleine à tel point qu’à certains moments j’ai eu l’impression d’être aux côtés l’ami Morten.

Le contenu

Que ce soit sa jeunesse, sa conversion, son retournement de thawb et sa relation avec les agences de renseignements tout m’a plu. C’est l’histoire d’un homme, tourmenté, qui s’est cherché et qui d’après moi ne s’est toujours pas trouvé, pas même après avoir vécu toutes ses aventures. Il n’est pas manichéen : il n’y a pas d’un côté les méchants terroristes assoiffés de sang et de l’autre des gentils qui veulent le bien de l’humanité. Son attachement à Anwar Al-Awlaki et à sa femme Aminah (dont il a été le marieur) nous laisse comprendre que même s’il devient diamétralement opposé à leurs idées il n’en reste pas moins un être humain qui s’attache aux autres.

Il y a des passages qui m’ont faire rire. Par exemple, du jour où il renie sa foi musulmane il se jette à pleines dents sur du porc et descend une bouteille de bière. Cela m'a fait penser à moi un soir de ramadan devant le ftour en période de canicule. D’autres passages sont gênants, je pense surtout à certains agents de renseignements qui correspondent aux clichés de luxure et de malhonnêteté décrits pas certains terroristes.

Je connais certains croyants qui sont très arrêtés dans leurs idées et d’après ce que j’ai pu voir de ce monde ce n’est pas circonscrit à l’Islam ni à la religion ; je pense à la politique et au football entres autres. Ce qui fait peur c’est que la frontière entre l’exigence de soi et la volonté d’imposer ses points de vue à l’autre ressemble fortement à l’espace Schengen. Malgré tout je trouve que ce témoignage s’est évertué à n’aborder que l’état d’esprit de Morten Storm, les faits et son avis. On est pas ici dans un débat : faut-il être musulman ou non ? J’ai aimé cet aspect.

Mon plaisir

J’ai adoré (cela va faire tilter certains de mes coreligionnaires musulmans mais pour rappel adorer est polysémique) lire ce livre. Ce n’est pas du style d’un Yasmina Khadra ou d’un Maupassant et je ne pense pas que ce soit l’objectif. Néanmoins on est tenu en haleine d’un bout à l’autre de la narration. Je n’ai constaté que deux passages à vide pour ma part : sa conversion et son renoncement. Mais je pense que c’est dû au fait que c’est de l’ordre de l’intime, de l’intime conviction même.

Je conseille vivement ce livre à tout le monde. Ah oui et juste un rappel : les premières victimes(1 et 2) du terrorisme (dit) musulman ce sont les musulmans eux-mêmes…

Créer votre clé SSH et l’installer sur un serveur distant

Le but de cet article (aide-mémoire pour moi) est de vous montrer comment créer une clé SSH pour ensuite l’utiliser pour vous connecter à votre serveur distant.

Si ce n’est pas déjà fait, il faut tout d’abord vous installer un client SSH. Sur Debian et ses dérivés :

apt-get install openssh-client

Pour générer la clé nous allons utiliser l’algorithme RSA et une taille de clé de 2Ko (soit 2048 bits). Rappelons que les deux algorithmes les plus répandus pour SSH sont RSA et DSA.

ssh-keygen -t rsa -b 2048

À vous de voir si vous saisissez une passphrase ou pas mais du point de vue sécuritaire, c’est mieux. Deux fichiers ont été créés :

  • le fichier clé publique : ~/.ssh/id_rsa.pub,
  • le fichier clé privée : ~/.ssh/id_rsa.

Maintenant, il s’agit de copier la clé sur votre serveur :

ssh-copy-id -i ~/.ssh/id_rsa.pub utilisateur@domaineouip

La clé sera ajoutée au fichier .ssh/authorized_keys du dossier utilisateur du serveur distant. Vous pouvez à présent vous connecter avec cette clé sans rien ajouter à votre commande de connexion habituelle :

ssh utilisateur@domaineouip

Enjoy!

Git et certificat SSL non vérifié

S’il vous est arrivé d’avoir besoin de passer outre la vérification d’un certificat SSL pour travailler avec Git sachez que c’est assez simple. Il suffit de saisir la ligne suivante après vous être positionné dans votre dépôt :

git config http.sslVerify false

Vous pouvez également le rendre commun à tous les dépôts présents sur votre environnement :

git config --global http.sslVerify false

Pour le réactiver, il suffit de saisir :

git config http.sslVerify true

Vous pouvez revenir à l’état initial, c’est-à-dire que vous récupérerez la valeur par défaut de votre installation git:

git config --unset http.sslVerify

Enjoy!

Git : afficher les commits locaux

Pour afficher les modifications non "commitées" avec Git il suffit de lancer la commande suivante :

git status

On peut même spécifier un chemin de dossier et fichier comme argument à la suite de cette commande.

git status /chemin/dossier

Mais voilà, cela ne permet que de voir les différences non commités sur votre branche (locale soit dit en passant). Pour voir les commits non "pushés" nous allons utiliser git log comme ceci :

git log origin/master..HEAD

Ici, un différentiel sur les logs est affiché entre la branche master du dépôt distant (on peut spécifier une autre branche) et le dernier commit local.

Enjoy!

Twitter Bootstrap, assistant social des développeurs back

Cela fait quelques temps maintenant que j’ai sauté le pas en adoptant Twitter Bootstrap (dans sa version 3). C’est le moment de faire le point.

L’abstinence totale est plus facile que la parfaite modération.

Si une opération est faisable via un terminal, soyez sûr que je préférerais toujours ce point d’entrée à quelque interface que ce soit, aussi belle soit elle. Quoi de plus beau que le premier terminal que l’on ouvre le matin via un Ctrl + Alt + T ? Voilà que je deviens poète…
Un exemple : l’une des premières choses que j’ai appris sous Symfony2, c’est comment créer ses propres commandes afin de les exécuter dans un terminal.

L’enfer c’est les autres.

Mais voilà, il paraît qu’il existe des personnes que la ligne de commande rebute. Que Dieu nous préserve de ce type d’hérésie ! M’enfin, comme on vit dans le monde réel et qu’il faut bien créer des applications, notamment à destination interne de l’entreprise pour laquelle je travaille, il faut habiller les interfaces.

Mon binôme vous dirait qu’une page Web sans feuille de style ça marche très bien (il n’est pas aussi extrémiste que moi sur les interfaces graphiques malheureusement) mais je pense que ce n’est pas l’avis des utilisateurs lambdas qui eux veulent de jolis boutons, des menus déroulants et si en plus c’est responsive on risque d’atteindre l’extase !

C’est un roc !… C’est un pic !… C’est un cap !… Que dis-je, c’est un cap ?… C’est Bootstrap !

C’est là que Bootstrap entre en jeu, dans mon cas Bootstrap 3. C’est à l’occasion de la sortie de cette version, que j’ai sauté le pas. Et sincèrement je ne suis pas déçu. Il est vrai que je n’ai pas été assidu et que je ne saisis pas encore toutes les subtilités de ce Framework CSS et JS mais le peu que j’en sais me suffit amplement.

Et maintenant mes discussions autour de l’interface de mes applications peuvent ressembler à ceci :

  • Mon interlocuteur : Je veux du menu déroulant !
  • Moi : Tiens !
  • Mon interlocuteur : Les messages d’erreurs, d’avertissement, de confirmation ?
  • Moi : Trop facile !
  • Mon interlocuteur : Un slider, une grille pour la page d’accueil, un tableau bien agencé ?
  • Moi : S’il-te-plaît… Je suis le sensei du CSS avec Bootstrap ! Demandes moi des choses plus compliquées…
  • Mon interlocuteur : Enlever les coins arrondis des champs ?
  • Moi : Heu… Tu peux répéter s'il-te-plaît ?
  • Mon interlocuteur : Modifier la couleur de fond de la page ?
  • Moi : Hé ! Je suis développeur back, moi !

La fin justifie les moyens et tous les moyens sont bons.

Finalement aujourd’hui tout le monde est content : les utilisateurs ont des interfaces, moi je ne me prends pas la tête sur du front. Certains regretteront le manque de diversité dans l’apparence des applications que je développe. Mais moi vous savez, moins je vois de CSS mieux je me porte…

Git : récupérer des informations de votre répertoire de travail

Pour récupérer les informations de votre répertoire de travail, rien de plus simple avec la commande suivante

git config --local -l

Pour le résultat suivant :

core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=git@mon.serveur.com:user/projet.git
branch.develop.remote=origin
branch.develop.merge=refs/heads/develop

Si une seule des informations ci-dessus vous intéresse, par exemple l’URL du dépôt :

git config --get remote.origin.url

Enjoy !

Git : désactiver le suivi d’un fichier

En ce moment, je bosse avec Symfony2 et j’utilise un bundle de type sandbox en local. Du coup je veux garder le fichier app/appKernel.php dans les sources mais le figer de façon temporaire, c’est-à-dire exclure les modifications locales lors des commits. Le fichier .gitignore c’est cool mais cela exclut le fichier en question des sources du projet. Pour répondre à ma problématique, on met à jour l’index du projet :

git update-index --assume-unchanged /chemin/du/fichier

Et pour l’opération inverse :

git update-index --no-assume-unchanged /chemin/du/fichier

Enjoy !