Bash : réparer les tables MySQL en cas de crash photo

BASH : lancer une tâche en arrière-plan et fermer le terminal sans interrompre la tâche

Bash

J’ai récemment mis à jour mon article sur Rsync pour rapatrier quelques fichiers du serveur vers mon NAS Synology et me suis demandé comment je pouvais faire pour ouvrir un terminal, lancer un Rsync qui va sûrement me prendre des heures et fermer le terminal sans que cela interrompe la sauvegarde.

Voici quelques pistes pour lancer une commande en arrière-plan avec BASH.

Créer un sous-shell

On crée un sous-shell (subshell) en lançant la commande avec des parenthèses. Le signe & (ampersand) est nécessaire, tout comme la commande exit qui permet de quitter proprement le terminal sans terminer le processus :

(sleep 100) & exitCode language: PHP (php)

On ouvre un autre terminal et on vérifie que notre tâche est toujours en cours :

ps aux | grep sleep

Utiliser disown

Une autre manière de faire est d’utiliser disown :

sleep 60 & disown

Le système attribue un numéro de processus à notre tâche. On peut alors fermer le terminal comme un barbare, la tâche reste en cours :

ps aux | grep sleep

A garder sous le coude.

Compte-rendu du Hellfest 2015 photo

Compte-rendu du Hellfest 2015

Mon incontournable événement du mois de juin est le Hellfest.

C’est ma bouffée d’air frais, qui me permet d’anticiper la fin de l’année avec délectation. Et cette année marque les 10 ans de ce festival de metal génial.

Vendredi

Cette année, accompagné de Cécile et Julia, on décide de partir en camping-car – fini la tente et le matelas à gonfler !

Je pars avec Julia chercher le camping-car chez les parents de Cécile puis nous nous dépotons vers 11h pour rejoindre le festival. Une demi-heure de marche plus tard, nous entrons dans Clisson Rock City.

Au programme ce vendredi, nous avons écouté Vulcain, The Quire Boys, We Are Harlot, Skyforger, Orchid, Billy Idol, Sodom, Motorhead, Lamb of God, Alice Cooper.

J’ai bien aimé réentendre The Quire Boys, qui assuraient la première partie d’Alice Cooper lors des Monsters of Rock de 2003 lors de la tournée anglaise. Nous avons découvert We Are Harlot, qui n’était pas mal.

J’ai été un peu déçu de constater que Skyforger étaient venus sans leur flûte, je trouvais ça cool. Orchid, génial, a oscillé entre Black Sabbath et Ronnie James Dio, cela a été pour moi un des meilleurs concerts de la journée :

Billy Idol n’avait pas un son terrible et je l’ai trouvé fatigué sur plusieurs chansons. Motorhead – Lemmy égal à lui-même.

Alice Cooper, toujours au top, nous a encore offert un superbe spectacle, en véritable showman. A chaque fois que je le vois, je me dis que vraiment chaque détail est réglé au millimètre et que c’est vraiment lui qui mène la danse. Il a joué tous ses grands classiques mais n’a pas eu le temps d’éclater les ballons, qui se sont vite retrouvés dans la foule.

Samedi

Au programme du jour: Ace Frehley, Backyard Babies, Airbourne, Slash, Killing Joke, ZZ Top, Faith No More, Scorpions, Marilyn Manson.

Airbourne est vraiment dans la veine AC/DC. Ils n’ont pas eu de bol car il y a eu une panne de son dès le départ du concert.

Visiblement, seule la fosse pouvait les entendre. Nous avons donc tous croisé nos bras en l’air pour leur signifier que quelque chose clochait. Et lorsque le son est revenu, je pense qu’ils ont entendu notre contentement : cela ressemblait à un tsunami sonore !

Lire la suite

True Detective saison 2 photo

True Detective saison 2

Voici la seconde saison de True Detective sur HBO.

L’intrigue nous entraîne cette fois en Californie où on pourra suivre quatre personnages se retrouvant impliqués dans une conspiration.

Le point de départ sera la découverte d’une scène de crime par le policier Paul Woodrugh (Taylor Kitsch) qui va attirer l’attention des détectives Ray Velcoro (Colin Farrell) et Ani Bezzerides (Rachel McAdams), mais aussi de Frank Semyon (Vince Vaughn), un entrepreneur et criminel qui est marié à Jordan (Kelly Reilly).

Comme dans la première saison, nos détectives sont pris dans une affaire qui s’étend sur plusieurs années et qui va bouleverser leur vie.

A noter que les acteurs ont changé puisque la série se présente comme une anthologie – chaque saison ayant un casting et une intrigue distincts. Nous quittons également le décor de la Louisiane pour un coin méconnu de la Californie.

Lire la suite

[Inter-opérabilité] Pronote ne gère ni Chromium, ni Opera photo 1

Pronote ne gère ni Chromium, ni Opera

Pronote est le logiciel utilisé par la quasi-totalité des lycées de France, ainsi que quelques collèges. Il est très pratique à utiliser, sort des graphiques lors des conseils de classe etc mais au niveau de l’inter-opérabilité, ce n’est pas encore ça.

Voici quelques captures d’écran qui illustrent le problème.

Sous Chromium 45.0.2414.0 – plus précisément Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/45.0.2414.0 Chrome/45.0.2414.0 Safari/537.36:

pronote-incompatible-chrome

Opera 31 (basé sur Chrome 44.0.2398.0) – plus précisément Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2398.0 Safari/537.36 OPR/31.0.1876.0 (Edition developer) :

pronote-incompatible-opera

Vous pouvez remarquer que ces deux navigateurs utilisent le moteur de Chrome – bien que Pronote annonce qu’il soit compatible avec Chrome 5…

Bref, pour l’inter-opérabilité, Pronote peut revoir sa copie.

Subversion : ajouter et mettre à jour un plugin WordPress sur le dépôt officiel photo

Subversion : ajouter et mettre à jour un plugin WordPress sur le dépôt officiel

wordpress-svn-logo

De temps en temps, je mets mes plugins WordPress sur le dépôt officiel mais j’utilise assez rarement subversion – connu également sous le doux nom svn – et j’ai tendance à en oublier la syntaxe.

Voici donc un petit aide-mémoire pour l’utilisation de subversion avec les plugins WordPress.

Ajouter un plugin sur le dépôt officiel WordPress

1. On crée un répertoire local sur notre machine pour y accueillir notre projet:

mkdir my-local-dir

2. On synchronise le dépôt avec un check-out en donnant le slug du plugin:

svn co https://plugins.svn.wordpress.org/your-plugin-name my-local-dirCode language: JavaScript (javascript)

Résultat:

> A	my-local-dir/trunk
> A	my-local-dir/branches
> A	my-local-dir/tags
> Checked out revision 1135625.

Subversion vient d’ajouter ( “A” signifie “add” ) tous les répertoires du dépôt central à notre copie locale.

3. On copie tous les fichiers du plugin dans le répertoire trunk/:

cd my-local-dir/
my-local-dir/$ cp ~/my-plugin.php trunk/my-plugin.php
my-local-dir/$ cp ~/readme.txt trunk/readme.txtCode language: JavaScript (javascript)

4. On prépare l’ajout des fichiers du plugin au dépôt central:

my-local-dir/$ svn add trunk/* assets/*
> A	trunk/my-plugin.php
> A	trunk/readme.txtCode language: PHP (php)

5. On donne un message à notre check-in et on envoie les fichiers au dépôt central :

my-local-dir/$ svn ci -m 'Adding first version of my plugin'
> Adding	trunk/my-plugin.php
> Adding	trunk/readme.txt
> Transmitting file data .
> Committed revision 1135626.
Code language: JavaScript (javascript)

Voilà, vous venez d’ajouter votre plugin au dépôt officiel de WordPress !

Supprimer un fichier sur le dépôt

Pour supprimer un fichier sur le dépôt, il faut supprimer le fichier avec svn delete puis commettre les changements avec svn commit. C’est lors du commit que le fichier est supprimé du dépôt :

svn delete myfile
> D         myfile

svn commit -m "Deleted file 'myfile'."
> Deleting       myfile
> Transmitting file data .
> Committed revision 1135629.Code language: JavaScript (javascript)

Lire la suite

Bash : réparer les tables MySQL en cas de crash photo

Bash : convertir une liste de fichiers MP3 en Ogg Vorbis (et vice-versa)

Bash

Pour les besoins du Centre de Kriya Yoga France, j’ai été amené à devoir convertir toute une floppée de fichiers MP3 au format Ogg Vorbis afin qu’il soient lus nativement en HTML5 dans les navigateurs compatibles avec la balise audio.

J’ai utilisé la commande avconv dans un terminal.

Convertir des MP3 en Ogg Vorbis

Voici le script que j’ai écrit pour me simplifier la vie et convertir ma liste de MP3 au format Ogg Vorbis:

for i in *.mp3; do avconv -i $i -codec:a libvorbis -aq 4 ${i/%mp3/ogg}; doneCode language: PHP (php)

Cela recherche tous les fichiers MP3 du répertoire dans lequel on se trouve, utilise le codec libvorbis, encode dans une qualité supérieure ou égale à 128Kbps et nomme le fichier avec la bonne extension (.ogg pour l’Ogg Vorbis).

Convertir des Ogg Vorbis en MP3

Si vous souhaitez convertir des fichiers Ogg Vorbis au format MP3 :

for i in *.ogg; do avconv -i $i -codec:a libmp3lame -aq 2 ${i/%ogg/mp3}; doneCode language: PHP (php)

Cela recherche tous les fichiers OGG du répertoire dans lequel on se trouve, utilise le codec libmp3lame, encode dans une qualité supérieure ou égale à 192Kbps et nomme le fichier avec la bonne extension (.mp3).

Lire la suite

The 18th Century : the Age of Enlightenment photo

The 18th Century: the Age of Enlightenment

  1. The 18th Century: the Age of Enlightenment
  2. The Gothic and the Fantastic
  3. The 19th Century : Romanticism in Art and Literature
  4. English Romanticism (1798-1832)
  5. 19th Century Literary Movements : Realism and Naturalism
  6. British Civilisation and Literature: 19th and 20th centuries

Introduction

The 18th Century can be dubbed “the Age of Enlightenment” as it was marked by French philosophers such as Voltaire, Rousseau or Diderot (the Encyclopédie was published in 1761).

The Enlightenment is characterized by the belief of the natural goodness of man: man is perfectible, it is the idea of progress obtained through the use of reason.

Since man is naturally good, all bad things come from society: if we could fight prejudices and oppressive social institutions, man would be better. It’s a question of education: political and social reforms would bring man happiness. These are the principles of the French Revolution.

The situation is different in the United Kingdom. The revolution had already been made: the “Glorious Revolution” of 1688 established a parliamentary monarchy but it was not a democracy since you needed to be rich to go to Parliament.

John Locke, a famous British philosopher, influenced the notion of parliamentary democracy. He was a predecessor of the Enlightenment but his ideas were only applied in America after the War of Independence (1776-1782).

The American Constitution was applied in 1789. In the USA, there is a republican government with a president and a principle of equality in front of the law: “Everyone has the right to life, liberty and the pursuit of happiness”. There is a truly optimistic belief in man and happiness, and progress and reason.

Lire la suite

MySQL : convertir les tables MyISAM au format InnoDB photo

MySQL : convertir les tables MyISAM au format InnoDB

MySQL : MyISAM et InnoDB

A ses débuts, MySQL utilisait le moteur de stockage MyISAM.

C’est la raison pour laquelle on retrouve beaucoup d’exemples de création de tables sur Internet avec l’instruction engine=MyISAM (ce qui, au passage, peut faire planter pas mal de créations de bases/tables).

Aujourd’hui, le moteur de stockage par défaut de MySQL est InnoDB.

MyISAM n’est plus activement développé, à l’inverse d’InnoDB. Il est donc recommandé de convertir les tables MyISAM au format InnoDB, afin de bénéficier des dernières optimisations de performance du nouveau moteur.

innodb-myisam-mysql

Le moteur InnoDB

InnoDB est un moteur de stockage inclus d’origine dans toutes les distributions fournies par MySQL AB. Son principal avantage par rapport aux autres moteurs de stockage de MySQL est qu’il permet des transactions ACID (Atomiques, Cohérentes, Isolées et Durables), ainsi que la gestion des clés étrangères (avec vérification de la cohérence).

Toutes les bases de données sont stockées au même endroit. Par défaut dans le fichier ibdata1 qui, sous les systèmes de type unix, se trouve généralement dans /var/lib/mysql. Il est également possible d’utiliser plusieurs fichiers ou même d’utiliser directement une ou plusieurs partitions sur le disque en mode RAW.

Ce moteur de base de données utilise aussi deux fichiers de logs, d’habitude ib_logfile0 et ib_logfile1. Les fichiers de définitions de table .frm sont également dans un dossier au nom de la base comme pour MyISAM.

Depuis sa version 5.5, MySQL utilise InnoDB comme moteur par défaut.

Comment connaitre le format actuel de vos tables ?

Pour faire un petit état des lieux du format actuel des tables de votre base de données, il suffit de vous identifier sur le serveur SQL et de lancer cette requête :

SHOW TABLE STATUS FROM `database`;Code language: JavaScript (javascript)

Il vous suffit de remplacer database par le nom de votre base de données et de regarder la valeur de la colonne Engine.

Convertir les tables MyISAM au format InnoDB

Pour convertir des tables MyISAM au format InnoDB, il suffit de lancer une requête SQL va grandement nous simplifier la vie:

SELECT CONCAT('ALTER TABLE ',table_schema,'.',table_name,' ENGINE=InnoDB;')
FROM information_schema.tables
WHERE 1=1
    AND engine = 'MyISAM'
    AND table_schema NOT IN ('information_schema', 'mysql', 'performance_schema');Code language: JavaScript (javascript)

Le résultat de cette requête est une liste bien formatée de requêtes à lancer pour que toutes nos tables soient converties au format InnoDB.

Voici le résultat de cette requête sur le serveur :

+-----------------------------------------------------------+
| CONCAT('ALTER TABLE ',table_schema,'.',table_name,' ENGINE=InnoDB;')   |
+-----------------------------------------------------------+
| ALTER TABLE blog.blog_wc_comments_subscription ENGINE=InnoDB;
| ALTER TABLE blog.blog_wc_phrases ENGINE=InnoDB;
| ALTER TABLE blog.blog_wc_users_voted ENGINE=InnoDB;
+-----------------------------------------------------------+Code language: JavaScript (javascript)

Toutes les tables des bases de données qui sont au format MyISAM au format InnoDB sont listées, à l’exception des tables utilisées dans la gestion de MySQL (‘information_schema’, ‘mysql’, ‘performance_schema’) qui doivent rester en MyISAM.

Etape de Conversion

Il vous suffit ensuite de lancer cette liste de requêtes ALTER TABLE sous MySQL, Adminer ou PHPMyAdmin pour convertir vos tables. Lancez la liste de commandes que vous venez de trouver :

ALTER TABLE blog.blog_wc_comments_subscription ENGINE=InnoDB;
ALTER TABLE blog.blog_wc_phrases ENGINE=InnoDB;
ALTER TABLE blog.blog_wc_users_voted ENGINE=InnoDB;

Et voilà, vos tables MyISAM sont maintenant devenues des tables InnoDB.

Lire la suite

boite-mail-pole-emploi-navigateur-perime

Pole Emploi utilise des navigateurs obsolètes

Aujourd’hui, j’ai eu le plaisir de recevoir un mail de la part de quelqu’un qui travaille chez Pole Emploi. Rien qui sorte de l’ordinaire jusque là.

Enfin, jusqu’à ce que j’arrive à la fin du message et que je remarque ceci :

boite-mail-pole-emploi-navigateur-perime

FireFox 17, dont la date de sortie remonte au 20 novembre 2012, soit presque 3 ans… ce n’est pas comme s’il y avait des attaques et des problèmes de sécurité entre temps (Poodle, Heartbleed, la fin de SSL…).

C’est légérement inquiétant, surtout que la mise à jour vers la dernière version de FireFox ne représente aucune complication réelle depuis la version 17.

Bref, “drôle” de politique de sécurité chez Pole Emploi ! J’espère que leurs serveurs sont mieux sécurisés que leurs postes clients.

Karo Swen - Pole Dance (Artwork 1) photo

Karo Swen – Pole Dance (Artwork 1)

Karo Swen est une danseuse et professeur de pole-dance. Voici une démo de son art :

C’est technique, impressionnant et je ne me lasse pas d’admirer les figures gymnastiques. C’est à la fois sportif et artistique et loin des images véhiculées dans les films.

Joli(e) non ?

Musique : Tha Trickaz – Mégaphone.

Une semaine à Rome : visite de Pompéi photo 1

Une semaine à Rome : visite de Pompéi

Aujourd’hui, nous avons pour projet de visiter Pompéi : nous nous levons donc à l’aube et partons à Termini pour tenter de trouver un train.

Comme nous n’avons pas préparé notre départ en avance, nous ne sommes pas certains de réussir à trouver un horaire qui nous convienne, et décidons donc de nous placer sous les auspices d’Hermès.

Train Rome – Pompéi

En arrivant à Termini, nous nous renseignons : pour visiter Pompéi, il faut aller jusqu’à Naples en train et prendre ensuite une sorte de RER qui nous dépose jusqu’au site antique.

A Rome, plusieurs compagnies ferroviaires sont en concurrence, et pour un même trajet, il y a plusieurs tarifs, pouvant varier du simple au triple. Le guichetier nous propose deux allers pour Naples, l’un à 11 euros par personne, et l’autre à 43 euros par personne. Notre choix est instantané !

Quant aux billets Naples-Pompéi, puisque la compagnie ferroviaire n’est pas la même, impossible de les acheter ou de connaitre les horaires à Rome, nous verrons bien sur place…

Juste le temps de prendre un café avant le départ, et nous partons pour deux heures trente de trajet jusqu’à Naples. Le voyage en train est très agréable. Nous voyageons en face d’un groupe de bonnes sœurs italiennes, qui passent leur temps à rire et à bavarder : leur bonne humeur est communicative !

Nous arrivons à la gare de Naples vers 10h45 et achetons nos billets pour Pompéi. Le guichetier napolitain nous réserve un accueil plutôt froid : pour deux billets aller-retour, il nous demande 10,80 euros. Cécile lui tend un billet de 10 euros et Matt une pièce d’1 euro.

Entre temps, Cécile retrouve 80 centimes dans son porte-monnaie, et tend l’appoint au guichetier. Celui-ci refuse alors bec et ongles de lui rendre la pièce d’un euro de Matt, arguant que ça n’est pas la sienne !

Mais qu’importe ! Nous prenons le train-RER qui nous dépose au pied des “scavi archeologici di pompei” et déjeunons sur le pouce avant de nous lancer dans la visite du site antique.

Les ruines de Pompéi

Nous pénétrons alors dans cette ville fantôme, dont le destin est enfoui sous les cendres le 24 août 79 après J.-C., suite à l’éruption soudaine du Vésuve.

Il est extrêmement émouvant de fouler les rues pavées à la suite de cette riche aristocratie romaine, et de se rendre compte que depuis une vingtaine de siècles, presque rien n’a changé…

Les jarres intégrées dans les comptoirs des magasins semblent encore contenir de l’huile, du vin ou des olives ; les meules du boulanger tirées par des ânes semblent encore en mouvement devant nous ; et on a l’impression que la matrone qui rentre de ses courses en traversant la rue sur les pierres zébrées vient tout juste de disparaitre à l’angle de la rue…

Jarres intégrées au comptoir du marchand
Jarres intégrées au comptoir du marchand

Nous déambulons dans ces ruines chargées d’histoire et de vie et retraçons le parcours quotidien d’un habitant de Pompéi: nous commençons notre itinéraire par le forum, lieu de la vie publique, orné de temples, d’autels et de statues.

Nous passons ensuite devant les thermes, les bains publics de l’époque.

Lire la suite