Keylifornia : un outil simple pour créer une clé d’installation de macOS Sierra

« Non mais il sert à quoi ton truc ? Machin fait ça très bien ! » Oui, mais alors non. Parce que Machin me demande d’installer Java. Parce que mon kiné utilise Machin pour tester la progression de mon syndrome du canal carpien naissant. Parce que Machin prend encore en charge les 78 tours.

Je veux juste un truc qui me permette de créer rapidement la demi-douzaine de clés d’installation de macOS dont j’ai besoin dans l’année. Alors j’ai fini par bidouiller un petit bout d’AppleScript pour le faire, et puis cela me donnait une excuse pour dessiner des ours et trouver des noms à la mords-moi-le-nœud.

Keylifornia, donc, permet de créer rapidement un support d’installation de macOS. Par « support d’installation », j’entends clé USB ou carte SD d’une capacité de 8 Go au moins. Par « macOS », j’entends OS X El Capitan et macOS Sierra. Keylifornia ne prendra jamais en charge les DVD, ni Mac OS X Panther.

Je l’ai d’abord créé pour mes besoins : même si j’ai soigné le texte des dialogues, l’interface reste basique au possible. Et même si je l’ai testé sur OS X Yosemite, OS X El Capitan et macOS Sierra, je ne serais pas étonné d’apprendre qu’il a provoqué l’explosion de votre machine.

Téléchargement

Vous êtes encore là ? Très bien :

Mises à jour

  • v1.1 (10 octobre 2016) : amélioration de la prise en charge des supports d’installation de 8 Go.

Installer macOS Sierra avec une clé d’installation

Vous avez créé une clé d’installation avec Keylifornia, mais vous ne savez pas quoi en faire. Si vous ne l’avez pas débranché de votre Mac, laissez-la où elle est. Si vous l’avez débranché, rebranchez-la.

Redémarrez votre machine à l’aide du menu  > Redémarrer. Dès que vous entendez le « gong » de démarrage, appuyez sur la touche (ou alt) de votre clavier, et maintenez-la jusqu’à l’apparition de l’écran de sélection du volume de démarrage.

installer-macos-sierra

À l’aide des touches de votre clavier, sélectionnez le volume Installer OS X El Capitan ou Installer macOS Sierra, selon le système copié sur la clé d’installation. Validez avec la touche Entrée.

Le logo d’Apple devrait rester à l’écran pendant quelques minutes, au terme desquelles le programme d’installation du système devrait apparaitre. Vous n’avez plus qu’à suivre ses étapes pour mettre à jour votre machine.

installer-macos-sierra-2

Vous avez peur de faire une bêtise ? Téléchargez l’extrait gratuit de mon dernier livre : il contient un guide complet d’installation, qui détaille chaque étape du programme d’installation, et devrait vous aider à sélectionner les bonnes options au bon moment.

Je me souviens

Je me souviens des tourteaux qui plongeaient dans l’eau bouillante, et du thon rouge qui nageait dans la sauce tomate. Je me souviens du trou dans la cloison qui servait de passe-plats, et du miroir sur le mur qui échouait à élargir la loge. Je me souviens des paquets rouges de Winston, et des pages jaunes du France-Soir. Je me souviens de la douche en forme de cuvette en plastique, et du chauffe-eau en forme de casserole. Je me souviens de la Joconde piquée chez un faussaire, et de la radio achetée à grands frais. Je me souviens du « tac-a-tac-a-tac » de la machine à coudre Singer, et du « bzz » de la machine à raser Braun. Je me souviens de la cour goudronnée suffocante l’été, et des toilettes carrelées glaciales l’hiver. Je me souviens de l’odeur du Miror sur les cuivres, et des fragrances sensuelles dans l’escalier. Je me souviens des pièces de vingt centimes pour un Carambar, et des pièces de dix francs pour un cierge.


Je me souviens des traces de peinture sur le RER, et des traces de brûlé sur le parquet. Je me souviens des escaliers qui paraissaient toujours plus hauts, et des épaules qui semblaient toujours plus basses. Je me souviens de ces « bonjours » qui sonnaient comme des « au revoir », et de ces « au revoir » qui sonnaient comme des « adieux ». Je me souviens du ronronnement doux de la bonbonne d’oxygène, et de la sonnerie stridente de ce coup de téléphone.


Je me souviens de ces histoires devenues des mémoires, et de ces mémoires devenues des oublis. Je me souviens de cette tante illuminée qui légua son héritage au couvent, et de ces sœurs qui n’en avaient pas été adoucies. Je me souviens des champs d’Abegondo, et des rues de La Corogne. Je me souviens d’avoir appris le français en les lisant, et d’avoir voulu l’oublier en les entendant. Je me souviens des grandes modistes devenues petites mains, et des grands artistes devenus peintres en bâtiment. Je me souviens des après-midi au parc, et des semaines au sanatorium. Je me souviens de celui qui n’a pas été, et de celui qu’il aurait pu être. Je me souviens du blouson de cuir qui pensait cacher des clopes dans ses maquettes de bateaux, et du rimmel qui pensait cacher sa grossesse sous ses gros pulls.


Je me souviens du matelas maintes fois rapiécé, et de la fenêtre jamais réparée. Je me souviens de cette vie mise en cartons, et de cette mort mise en boîte. Je me souviens de l’odeur de l’éther, et du vent qui n’arrivait pas à la chasser. Je me souviens d’un Ave Maria, et d’un « signez ici s’il-vous plaît ». Je me souviens de ma tristesse… ce que j’aimerais l’oublier.

Installer WordPress sur une pile LEMP — 2 : installer le serveur

Bien que je sois un grand amateur de sites statiques, j’ai décidé d’adopter WordPress pour mon prochain projet web. Après avoir justifié certains de mes choix techniques, j’aimerais maintenant détailler ma procédure d’installation, moins pour le passant envoyé par les moteurs de recherche que comme une référence pour mes prochains déploiements1.

Commander le serveur

Avant même de penser à configurer la machine, il faut… la commander. Les hébergeurs proposant des serveurs sous Ubuntu 14.04 LTS ne manquent pas, mais je privilégie ceux qui offrent de petites configurations économiques, comme DigitalOcean avec ses droplets, ScaleWay avec ses serveurs C1 et C2, ou Online avec ses petites Dedibox.

Même sur d’aussi petits serveurs que ceux de DigitalOcean, ma configuration pourrait encaisser l’afflux de plusieurs dizaines de milliers de visiteurs par jour. Je prévois toutefois de déployer ce projet chez Scaleway : leurs machines d’entrée de gamme suffisamment de puissance et de stockage pour imaginer héberger plusieurs sites sur un même serveur.

Paramétrer la connexion SSH

Quelques hébergeurs imposent d’utiliser une clef pour se connecter avec SSH, mais la plupart se contentent d’envoyer le mot de passe root par e-mail. Dans ce dernier cas, mieux vaut commencer par générer une clef, que l’on utilisera un peu plus tard :

cd ~/.ssh && ssh-keygen -t rsa -b 4096 -C "Mon serveur"

On se connecte ensuite au serveur fraîchement commandé, XXX.XXX.XXX.XXX représentant l’IP de la machine, envoyée par e-mail ou indiquée dans l’interface d’administration de l’hébergeur :

ssh root@XXX.XXX.XXX.XXX

Si le mot de passe root a été envoyé par e-mail, le serveur devrait demander de le changer lors de la première connexion. Par sécurité, mieux vaut qu’il soit long et complexe, donc généré à l’aide d’un gestionnaire de mots de passe comme KeePassX. Mais l’idée est plutôt de créer un utilisateur dédié aux tâches administratives :

useradd -G sudo,adm -m -s /bin/bash monutilisateur

Puis de lui attribuer un mot de passe :

passwd monutilisateur

Dans un nouvel onglet de Terminal, on se connecte à ce nouvel utilisateur :

ssh monutilisateur@XXX.XXX.XXX.XXX

Et on paramètre sa connexion SSH à l’aide de la clef créée plus tôt :

mkdir ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
pico ~/.ssh/authorized_keys

On colle le contenu de la clef publique, et on appuie sur ⌃X pour sortir de pico. De retour dans l’onglet où on est connecté en root, on peut maintenant désactiver l’accès root par SSH :

pico /etc/ssh/sshd_config

On remplace PermitRootLogin yes ou PermitRootLogin without-password par PermitRootLogin no, et PasswordAuthentication yes par PasswordAuthentication no. On peut en profiter pour changer le port utilisé par SSH en changeant Port 22 par Port YYY, où YYY désigne le nouveau port. On sort de pico, et on redémarre le service SSH :

service ssh restart

Puis on se déconnecte du compte root :

exit

Dès lors, on peut se connecter avec l’utilisateur monutilisateur sans avoir besoin d’entrer un mot de passe, la clef assurant l’authentification :

ssh monutilisateur@XXX.XXX.XXX.XXX -p YYY

Un malandrin pourrait se connecter au serveur s’il gagnait un accès physique à l’ordinateur sur laquelle la clef est stockée, mais il ne pourrait pas faire beaucoup de dommages puisqu’il n’a pas le mot de passe.

Installer Nginx

Il est temps d’installer le reste de la pile LEMP, en commençant par le serveur web, Nginx. Un simple sudo apt-get install nginx suffirait… si l’on voulait utiliser une version obsolète. Pour installer la dernière stable, il faut d’abord ajouter la clef PGP du paquet nginx :

wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm-rf nginx_signing.key

On ajoute ensuite le dépôt, trusty indiquant ici le nom de code d’Ubuntu 14.04 LTS :

echo deb http://nginx.org/packages/ubuntu trusty nginx | sudo tee --append /etc/apt/sources.list
echo deb-src http://nginx.org/packages/ubuntu trusty nginx | sudo tee --append /etc/apt/sources.list

Puis on met à jour les dépôts :

sudo apt-get update

On peut alors installer nginx :

sudo apt-get install nginx

Ou nginx-extras, si l’on a besoin de ses quelques fonctions supplémentaires :

sudo apt-get install nginx-extras

En cas de doute, la commande nginx -v permet de vérifier le numéro de la version de Nginx installée.

Installer MariaDB

Le site de la MariaDB Foundation fournit toutes les commandes nécessaires à l’installation de MariaDB. Avec Ubuntu 14.04 LTS, il faut utiliser :

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb [arch=amd64,i386] http://ftp.igh.cnrs.fr/pub/mariadb/repo/10.1/ubuntu trusty main'
sudo apt-get update
sudo apt-get install mariadb-server

L’installeur demande un mot de passe pour l’utilisateur root de MariaDB : on prendra les mêmes précautions que pour les autres mots de passe.

Installer PHP

PHP s’installe encore plus simplement :

sudo apt-get install php5 php5-fpm php5-mysql php5-gd php5-cli php5-curl

Démarrer les services

sudo service nginx start && sudo service mysql start && sudo service php5-fpm start

Le message « Welcome to nginx » devrait apparaître à l’adresse http://XXX.XXX.XXX.XXX.

Paramétrer PHP

Tel qu’il est paramétré par défaut, PHP n’est pas convenablement sécurisé. Mieux vaut modifier sa configuration :

sudo pico /etc/php5/fpm/php.ini

Le fichier php.ini étant particulièrement long, on peut s’aider du raccourci ⌃W pour trouver les directives recherchées. Il faut au moins remplacer ;cgi.fix_pathinfo=1 par cgi.fix_pathinfo=02, mais on peut aussi :

  • remplacer max_input_time = -1 par max_input_time = 60 si ce n’est pas déjà fait ;
  • remplacer expose_php = On par expose_php = Off ;
  • ajouter system, exec, shell_exec, proc_open, popen, curl_exec, curl_multi_exec, phpinfo à la suite de la directive disable_functions.

On relance ensuite le service PHPFPM :

sudo service php5-fpm restart

Paramétrer MariaDB

Au tour de MariaDB. On commence par exécuter son script d’installation :

sudo killall mysqld
sudo rm /var/lib/mysql/aria_log_control
sudo mysql_install_db
sudo service mysql start

Qui invite à exécuter le script de sécurisation :

sudo mysql_secure_installation

On refuse de changer le mot de passe root, puisqu’on vient à peine de le régler, mais on acceptera de supprimer l’utilisateur anonymous, l’accès root distant, et les bases de données de test. Puis on laissera le script recharger les tables de privilèges.

Pour améliorer encore la sécurité, on peut modifier le nom de l’utilisateur root. On convoque l’invite de commande de MariaDB :

sudo mysql -u root -p

On affiche la liste des utilisateurs :

SELECT User,Host,Password FROM mysql.user;

L’utilisateur root apparaît normalement trois fois, associé aux hôtes localhost, 127.0.0.1, et ::1. Pour le modifier correctement, il faut donc enchaîner les trois commandes suivantes :

RENAME USER 'root'@'localhost' TO 'monroot'@'localhost';
RENAME USER 'root'@'127.0.0.1' TO 'monroot'@'127.0.0.1';
RENAME USER 'root'@'::1' TO 'monroot'@'::1';

On peut vérifier que l’opération s’est bien déroulée en affichant à nouveau la liste des utilisateurs : root devrait partout avoir été remplacé par monroot. On peut ensuite réinitialiser la table des privilèges :

FLUSH PRIVILEGES;

Et sortir de l’invite de commande de MariaDB :

exit

Paramétrer Nginx

Ne reste qu’à paramétrer Nginx — mais avant, il faut noter le résultat des deux commandes suivantes :

grep processor /proc/cpuinfo | wc -l
ulimit -n

On ouvre ensuite le fichier de configuration de Nginx :

sudo pico /etc/nginx/nginx.conf

On change la valeur de worker_processes par le résultat de la commande grep processor /proc/cpuinfo | wc -l, et la valeur de worker_connections par le résultat de la commande ulimit -n. On peut ensuite ajouter divers paramètres pour renforcer la sécurité ou améliorer les performances du serveur. Un fichier de configuration personnalisé peut prendre cette forme3 :

user www-data;
worker_processes 4;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

events {
    worker_connections  1024;
}


http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;

    # La plupart de ces directives sont inclues par défaut, mais certaines peuvent être commentées (donc inactives) ou absentes.
    sendfile on;
    tcp_nopush on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    server_names_hash_bucket_size 64;

    ## La directive gzip est commentée par défaut. Les directives suivantes précisent son fonctionnement.
    gzip on;
    gzip_disable "msie6";
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 9;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/javascript application/x-javascript text/javascript application/json application/xml text/xml application/xml+rss;

    ## Des deux lignes suivantes, la première est normalement toujours présente. La deuxième facilite l’hébergement de plusieurs sites sur un même serveur.
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

Une fois le serveur tout entier paramétré, il faut paramétrer le site lui-même. Certains éléments de configuration pouvant être partagés par plusieurs sites, on peut les mettre à part. On peut ainsi créer un fichier pour les réglages communs à tous les sites WordPress :

sudo mkdir /etc/nginx/sites-available/
sudo touch /etc/nginx/sites-available/wordpress.conf
sudo pico /etc/nginx/sites-available/wordpress.conf

Et le remplir de la manière qui suit :

# /wp-admin -> /wp-admin/
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

# Interdire l’accès direct à certains dossiers de WordPress
location ~* wp-admin/includes {
    deny all;
    access_log off;
    log_not_found off;
}

# Interdire l’accès direct à certains fichiers de WordPress
location ~ /(install.php|license.txt|readme.txt|readme.html|wp-config.php|wp-config-sample.php) {
    return 404;
}

# Interdire l’accès aux fichiers cachés et temporaires
location ~ /. {
    deny all;
    access_log off;
    log_not_found off;
}

location ~ ~$ {
    deny all;
    access_log off;
    log_not_found off;
}

# Empêcher l’exécution de fichiers dans le dossier uploads
location ~* /wp-content/uploads/.*.(html|htm|shtml|php|js|swf)$ {
    types { }
    default_type text/plain;
}

# Interdire l’accès à XML-RPC (à supprimer si l’on veut utiliser JetPack)
location = /xmlrpc.php {
    deny all;
    access_log off;
    log_not_found off;
}

# Limiter l’accès aux requêtes GET, HEAD, et POST
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
    return 444;
}

Ce fichier commun sera appelé par les fichiers spécifiques à chaque site. On créé celui du premier site :

sudo touch /etc/nginx/sites-available/monsite.tld
sudo pico /etc/nginx/sites-available/monsite.tld

Et on le remplit de la sorte :

server {
    # On écoute en IPv4 et IPv6
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    # On définit le nom du site et l’emplacement de ses fichiers
    server_name monsite.tld;
    root /var/www/monsite.tld/;
    autoindex off;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;

        # On met en cache les éléments les plus communs
        location ~* .(jpg|jpeg|png|gif|ico|css|js|svg)$ {
            expires 10d;
            add_header Cache-Control "private, must-revalidate";
        }
    }

    error_page 404 /404.html;

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    # On inclut le fichier de configuration commun à tous les sites WordPress
    include /etc/nginx/sites-available/wordpress.conf;

    # On passe les requêtes PHP à PHP-FPM
    location ~ .php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+.php)(/.+)$;
    # La ligne suivante dépend du contenu du paramètre « listen » dans le fichier /etc/php5/fpm/pool.d/www.conf : s’il contient /var/run/php5-fpm.sock;, on indique unix:/var/run/php5-fpm.sock; au lieu de 127.0.0.1:9000
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        fastcgi_index index.php;
        include fastcgi_params;
    }
}

Il faut bien entendu créer le dossier dans lequel seront stockés les fichiers dudit site :

sudo mkdir /var/www/monsite.tld

Installer WordPress

On peut dès lors préparer l’installation de WordPress. On commence par créer une base de données, où wpdb est le nom de la base, wpuser le nom de l’utilisateur de cette base, et wpuserpwd le mot de passe de cet utilisateur :

sudo mysql -u monroot -p
CREATE DATABASE wpdb;
CREATE USER wpuser@localhost IDENTIFIED BY 'wpuserpwd';
GRANT ALL PRIVILEGES ON wpdb.* TO 'wpuser'@'localhost' IDENTIFIED BY 'wpuserpwd';
FLUSH PRIVILEGES;
exit

Quitte à utiliser la ligne de commande, autant l’utiliser pour télécharger WordPress lui-même :

cd /var/www/monsite.tld
sudo wget http://wordpress.org/latest.tar.gz

On décompresse l’archive :

sudo tar xfz latest.tar.gz

Puis on copie son contenu dans le dossier courant, li le dossier /var/www/monsite.tld :

sudo mv wordpress/* ./

Et on fait le ménage :

sudo rmdir ./wordpress/
sudo rm -rf latest.tar.gz

Pour éviter les problèmes de permissions :

sudo chown -R www-data:www-data /var/www/monsite.tld

Activer le site

On fait pointer le nom de domaine monsite.tld vers l’IP XXX.XXX.XXX.XXX du serveur : la procédure diffère de fournisseur en fournisseur. En attendant que les DNS ne se mettent à jour, on crée le dossier sites-enabled dans lequel Nginx s’attend à trouver les sites :

sudo mkdir /etc/nginx/sites-enabled/

Puis on fait un lien symbolique du dossier « de configuration » du site vers le dossier « de production » — ce qui permet de facto de l’activer.

sudo ln -s /etc/nginx/sites-available/monsite.tld /etc/nginx/sites-enabled/monsite.tld

On recharge les services :

sudo service nginx reload
sudo service php5-fpm restart

Et normalement, le site devrait être disponible à l’adresse http://monsite.tld. Ne reste qu’à connecter WordPress à la base de données créée précédemment, et à configurer le site avec le fameux installeur « en cinq minutes ».


  1. Ce qui m’évitera d’avoir à retracer le chemin de blog en forum en passant par StackOverflow et la documentation d’Ubuntu qui m’a permis d’arriver à ce résultat. 

  2. Si un script PHP demande un fichier qui n’existe pas, la directive fix_pathinfo l’autorise à chercher un fichier possédant un nom similaire, un comportement qui pourrait évidemment être exploité de manière malicieuse. Cette modification désactive la directive fix_pathinfo

  3. Les lignes précédées d’un # sont des commentaires. 

Liberté et sécurité : pourquoi vous devriez probablement arrêter de citer Benjamin Franklin

Attentats à répétition, exceptions qui deviennent la règle, arguments d’autorité et saillies anti-intellectualistes censées justifier le recul des libertés individuelles, réaction tardive et ambivalente des plus hautes institutions de l’État… Alors que le présent nous échappe et que le futur semble tourner à la dystopie, il est tentant de se raccrocher au passé.

Comme si l’histoire pouvait juger l’actualité, comme si l’ombre des « grands hommes » pouvait noyer la bassesse des (ir)responsables d’aujourd’hui, voilà que l’on convoque les « pères de la nation ». Ou ceux d’autres nations, par une ironie mordante, comme lorsque l’on succombe au « trope franklinien ». À moins qu’il ne s’agisse des tropes frankliniens ?

Ici, il aurait dit que « ceux qui sont prêts à sacrifier leur liberté pour leur sécurité ne méritent ni l’une ni l’autre ». Là, il aurait plutôt déclaré qu’« un peuple prêt à sacrifier un peu de liberté pour un peu de sécurité ne mérite ni l’une ni l’autre, et finit par perdre les deux ». Ailleurs, on trouve encore d’autres variations. Partout, on lit des phrases que Benjamin Franklin n’a jamais écrites.


Les mots « liberté » et « sécurité » ne sont associés qu’une trentaine de fois dans ses écrits1, jamais tels qu’ils le sont dans ces citations. Il semble toutefois qu’elles dérivent d’un passage d’une lettre du 11 novembre 1755 adressée au gouverneur colonial de la Pennsylvanie2 : « those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. »3

Cette lettre ne suffit toutefois pas à attribuer la paternité de cette citation à Benjamin Franklin, puisqu’elle est rédigée au nom de l’assemblée de Pennsylvanie. Certes, Franklin en est l’un des membres les plus éminents depuis 1751, et il est familier du gouverneur Robert H. Morris4. Mais il ne signe pas cette missive, bien qu’il ne fasse aucun doute qu’il en est le principal rédacteur, si ce n’est le seul.

Quoi qu’il en soit, on retrouve une phrase très similaire dans ses notes du 17 février 17755, alors qu’il arguait en faveur d’une levée des « lois coercitives » en échange de la réparation du préjudice causé par la Boston Tea Party. À quelques semaines des batailles de Lexington et Concord, il plaidait encore pour une réconciliation de la Couronne britannique et des Treize colonies.

Il rentre à Philadelphie le 5 mai 1775, après avoir passé près de vingt ans en Europe, notamment à Londres. Il y avait été envoyé en 1757 par l’assemblée de Pennsylvanie, afin de négocier une levée des prérogatives de la famille Penn6, qui ne payait pas d’impôts sur ses terres et pouvait remettre en cause les décisions de l’assemblée.

C’est dans ce contexte qu’il faut replacer sa lettre de 1755 : en pleine Guerre de la Conquête, l’assemblée veut taxer les revenus de la famille Penn afin d’assurer la défense de la colonie contre les incursions des Français et de leurs alliés amérindiens. Dans sa missive, l’assemblée déplore que le gouverneur colonial, mandaté par les Penn, ne lui ait opposé veto après veto.

La famille Penn n’est pas tout à fait opposée à l’idée de financer cet effort de guerre, à condition qu’elle le fasse à travers un paiement forfaitaire qui la libère de toute imposition future. Autrement dit, elle propose d’acheter la sécurité de la Pennsylvanie, à condition que l’assemblée renonce à sa liberté législative.

La phrase de Franklin doit être prise dans un sens très littéral : la liberté dont il parle n’est pas une liberté individuelle, mais le droit essentiel d’un État à gouverner. Il l’emploie aux mêmes fins dans ses notes de 1775 : il s’agit alors d’articuler le droit des colonies et le droit de la puissance coloniale, une question qui deviendra (et reste encore aujourd’hui) celle de l’articulation du droit des États fédérés et du droit de l’État fédéral.


En signant la Constitution des États-Unis, Franklin entérine la limitation de la liberté des États fédérés par les droits de l’État fédéral. Avant « d’assurer les bienfaits de la liberté » en effet, la Constitution est chargée « d’établir la justice, de faire régner la paix intérieure » et « de pourvoir à la défense commune »7. À cet effet, l’article I retire explicitement des compétences aux États, l’article II donne au Président le commandement des milices des États, et l’article III établit la précédence de la justice fédérale sur les justices fédérées10.

Ce faisant, Franklin ne se contredit pas : il n’a jamais dénoncé rien d’autre que le sacrifice d’une liberté essentielle contre un peu de sécurité temporaire. Au contraire, par son activité politique et constitutionnaliste, il a théorisé le sacrifice d’un peu de liberté au bénéfice de beaucoup de sécurité à long terme. À la charge du contrat social de régler les conditions de ce sacrifice.

Ainsi au soir de sa vie, Franklin signe le Bill of Rights, dont le troisième amendement restreint l’exercice de la propriété privée en temps de guerre, et le quatrième abolit l’inviolabilité du domicile face à un mandat établi sur une présomption sérieuse. Mais le dixième amendement assure la préservation de la « liberté essentielle » en réservant aux États ou au peuple « les pouvoirs non délégués aux États-Unis par la Constitution, ni prohibés aux États ».

En cela, Franklin n’est que l’héritier d’une longue tradition d’esprits éclairés, dont on peut trouver les germes chez Machiavel8 ou même chez Ibn Khaldoun9. Le passage d’une économie de subsistance à une économie « du luxe », dont le surplus peut être redistribué ou commercialisé, exige que ses membres se spécialisent et déposent les armes. La première des obligations de l’État est donc la sécurité, d’abord par l’armée et la police, aujourd’hui par la protection sociale11.

La transformation de la citation de Benjamin Franklin, qui semble très récente12, me semble témoigner d’une déconnexion croissante des citoyens et de l’État, vu comme une machine à défaire les libertés plutôt qu’un cadre dans lequel elles peuvent s’exercer. Une chose est sûre : elle est utilisée à contre-emploi, puisqu’elle ne s’applique donc pas aux libertés individuelles, et que son auteur a consacré la limitation des libertés individuelles au nom de la sécurité collective.

Quitte à convoquer un « père fondateur », peut-être vaut-il mieux citer Thomas Jefferson, qui disait que le peuple éduqué et informé était « la seule condition de la préservation de notre liberté. »13 Notre liberté essentielle, pour reprendre les mots et les idées de Benjamin Franklin, c’est la liberté de nous gouverner nous-mêmes, puisque nous sommes en démocratie. À l’heure où la désinformation et l’anti-intellectualisme sont monnaie courante, à nous de nous éduquer et de nous informer pour toujours mieux exercer ce droit qui nous oblige.

Illustration : détail du visage de Benjamin Franklin sur les coupures de 100 dollars de 2009. Image CC BY Ervins Strauhmanis.


  1. Environ 30 000 documents, notamment issus de son imposante correspondance, tels qu’ils ont été transcrits et indexés dans la version électronique du projet « The Papers of Benjamin Franklin » de l’université de Yale
  2. Votes and Proceedings of the House of Representatives, 1755-1756, Philadelphia, 1756, pp. 19-21. Reproduite dans The Papers of Benjamin Franklin, vol. 6, New Haven, Yale University Press, 1963, p. 238a. Ces recherches ont été menées en mars 2013, quelques semaines avant la rédaction du premier jet de cet article : je n’avais alors pas connaissance des travaux de Benjamin Wittes, senior fellow de la Brookings Institution, qui confirment l’origine de cette citation. Son article « Against a Crude Balance:
    Platform Security and the Hostile Symbiosis Between Liberty and Security »
    part de la citation originale de Franklin pour étudier l’idée d’une « symbiose hostile » de la liberté et de la sécurité. 
  3. « Ceux qui seraient prêts à sacrifier une liberté essentielle afin d’acheter un peu de sécurité temporaire, ne méritent ni la liberté ni la sécurité. » Cette traduction peut sembler très littérale, mais cette littéralité est cruciale à la bonne compréhension de la citation. 
  4. Quoique politiquement opposé. Ce Robert Morris, gouverneur de Pennsylvanie de 1754 à 1756, ne doit pas être confondu avec Robert Morris Jr. (« grand argentier » de la Guerre d’indépendance, signataire de la Déclaration d’indépendance et de la Constitution, « père fondateur » qui fut ensuite le premier sénateur de la Pennsylvanie de 1789 à 1795, avant d’être ruiné par la « panique » financière de 1796-1797), ni avec Gouverneur Morris (représentant de la Pennsylvanie à la Convention constitutionnelle de 1787, l’un des principaux auteurs de la Constitution, à commencer par son préambule, « père fondateur » largement oublié, sans doute parce qu’il était fermement fédéraliste). 
  5. « They who can give up essential Liberty to obtain a little temporary Safety, deserve neither Liberty nor Safety. » Troisième des quatre brouillons des contributions de Franklin à la conférence du 17 février 1775, conservés à la bibliothèque du Congrès. Reproduit dans The Papers of Benjamin Franklin, vol. 21, New Haven, Yale University Press, 1978, pp. 495-499. 
  6. Charles II d’Angleterre avait concédé en 1681 les terres formant aujourd’hui la Pennsylvania et le Delaware à William Penn, comme un remboursement d’une dette de 16 000 £ qu’il avait contractée auprès de son père l’amiral William Penn. Favorable à la liberté religieuse, à la démocratie, et à l’union des colonies américaines, il mit en place un cadre politique et religieux extrêmement favorable au développement économique de la Pennsylvanie. Des querelles territoriales, les frasques de son fils, et son retour en Angleterre lui firent toutefois perdre le contrôle politique de la Pennsylvanie. Si la mission de Benjamin Franklin fut un échec, la Pennsylvanie prit son indépendance en signant la Constitution des États-Unis en 1787. 
  7. Préambule de la Constitution des États-Unis. 
  8. Nicolas Machiavel, Le Prince, Paris, Librio, 2004 (1532). 
  9. Ibn Khaldoun, Discours sur l’histoire universelle, Arles, Sindbad, 1997 (1377). 
  10. Constitution des États-Unis
  11. Ce dernier point « prouve » d’ailleurs que sécurité et liberté ne s’opposent pas : Benjamin Wittes explique cela de manière bien plus approfondie que je ne pourrais le faire. 
  12. Si l’on en croit Google Ngram, avec les réserves appropriées, la phrase originale de Franklin est largement citée pendant la première moitié du 19e siècle, puis à nouveau pendant la Seconde Guerre mondiale. Ses différentes déclinaisons apparaissent au début du 20e siècle et au milieu des années 1960, mais n’ont cessé de gagner en popularité depuis la fin des années 1990 et l’émergence du web. Une analyse sommaire semble indiquer que les mouvements libertariens sont responsables de sa déformation, mais sans m’être penché sur le sujet de manière plus approfondie, je préfère ne pas m’avancer. 
  13. Lettre de Thomas Jefferson à Uriah Forrest du 31 décembre 1787. Reproduite dans The Papers of Thomas Jefferson, vol. 12, Princeton, Princeton University Press, 1955, pp. 475–479. 

Installer WordPress sur une pile LEMP — 1 : pourquoi LEMP

Bien que je sois un grand amateur de sites statiques, j’ai décidé d’adopter WordPress pour mon prochain projet web. Pourquoi ? Avant de détailler ma procédure d’installation, j’aimerais justifier certains de mes choix techniques, moins pour le passant envoyé par les moteurs de recherche que comme une référence pour mes prochains déploiements.

WordPress

Si je n’ai pas utilisé WordPress pour mes projets personnels depuis 20111, je ne l’ai jamais tout à fait abandonné. Au contraire : puisque plus d’un quart des sites web en font usage2, il est au cœur de mon enseignement des « nouvelles pratiques journalistiques »3. Tout en étudiant les moteurs et générateurs de sites statiques4, je dois donc continuer à me documenter sur WordPress — or le temps que je passe à développer bidouiller est du temps que je ne passe pas à écrire.

Autant donc me concentrer sur WordPress, surtout que ce projet demandera une organisation complexe et impliquera peut-être plusieurs personnes. Je le trouve toujours aussi fouillis, et son système de templating me rebute plus encore qu’au temps (pour moi) où je connaissais pas Twig, mais il faut bien lui reconnaître une grande robustesse et une excellente documentation.

Mieux : après l’avoir éprouvé dans d’autres configurations que la sempiternelle pile LAMP, je le verrais presque d’un nouvel œil. Installé sur une pile LEMP, il se révèle suffisamment fluide pour ne pas être totalement désagréable. Mais pas sur n’importe quelle pile LEMP.

L pour Linux : Ubuntu 14.04 LTS

J’utilise Ubuntu depuis des années — il est même en train de s’imposer, lentement mais sûrement, comme mon système d’exploitation principal5. Je garde un œil sur d’autres distributions, notamment Fedora, mais c’est encore avec Ubuntu que je me sens le plus à l’aise6. Je me suis fait à ses idiosyncrasies, mon Terminal est configuré pour ses commandes, et sa communauté d’utilisateurs a bâti une formidable documentation au fil des années.

Si je ne vois pas d’inconvénient à mettre à jour ma station de travail tous les six mois, je préfère intervenir le moins possible sur un serveur en production. C’est pourquoi je privilégie les versions LTS, qui me permettent de bénéficier des principales mises à jour de sécurité, sans m’imposer de redémarrage ni d’opérations aussi lourdes que la mise à jour du kernel.

Le serveur de développement tourne sous Ubuntu 14.04 LTS, qui sera prise en charge jusqu’en avril 2019. Sauf à ce que je respecte parfaitement les délais que je n’ai jamais réussi à m’imposer, le serveur de déploiement tournera sous Ubuntu 16.04 LTS, qui m’assure cinq ans de tranquillité.

E pour (E)Nginx et P pour PHPFPM

J’ai longtemps résisté à Nginx — je ne suis pas particulièrement attaché à Apache, mais je n’ai pas grand-chose à lui reprocher non plus. Quitte à consacrer un billet au choix de mon nouveau serveur web, j’aurais pu faire un choix plus exotique, comme celui de Caddy. Mais il aurait fallu que j’ai envie de perdre du temps avec un projet mal documenté et particulièrement instable… ce qui n’est pas le cas de Nginx.

Mieux : il résiste particulièrement bien à la charge, notamment sur les « micro-serveurs » que j’affectionne tant. Il n’essaye pas de faire mille choses à la fois, et relaye donc les requêtes dynamiques au processeur approprié, qui lui renvoie le contenu généré. Pour les scripts PHP, le choix de PHPFPM s’impose : il s’intègre parfaitement à Nginx, et offre d’excellentes performances.

Nginx 1.9.5 prend en charge HTTP/2, mais son implémentation est encore très capricieuse10. PHP 7 est extrêmement performant7, mais il est encore très jeune. Comme pour la distribution elle-même, je préfère faire le choix de la stabilité au détriment des nouveautés, donc celui de Nginx 1.8.x et PHP 5.6.x.

M pour MariaDB

WordPress n’a pas été conçu pour un autre gestionnaire de bases de données que MySQL8. MariaDB remplace MySQL de manière transparente pour WordPress, tout en apportant de meilleures performances et des mises à jour plus régulières.

Pourquoi pas [telle technologie] ?

Je passe des week-ends entiers à tester de nouvelles technologies, ma femme est un modèle de patience et de compréhension, et parfois même des semaines entières, mon travail a ses avantages. Mais mon temps libre est limité, et je ne suis pas sysadmin de métier : un serveur déployé doit être un serveur stable et facile à maintenir, et tant pis si je ne peux pas me vanter d’utiliser telle ou telle nouveauté à la mode9.

Cette configuration n’est pas originale ni avant-gardiste, mais elle est robuste, c’est-à-dire aussi stable que rapide. Même sans optimisations particulières, elle dépasse largement mes attentes, et après quelques réglages simples, elle change ma perception de WordPress et confirme mon intérêt pour les « micro-serveurs ». Que demander de plus ?


  1. À l’exception d’une courte parenthèse début 2014

  2. Selon W3Techs

  3. Le cours que j’assure auprès des étudiants du Master 1 Nouvelles pratiques journalistiques de l’Université Lumière Lyon 2 fait la part belle à la pratique journalistique. Après avoir appris les rudiments du fonctionnement de WordPress, ils les mettent en œuvre tout au long de leur stage à l’étranger, en publiant sur Horizons médiatiques. Cette pratique repose sur des bases théoriques acquises en Licence 3 et au premier semestre, mais permet aussi de les renforcer par une approche réflexive : confrontés à l’outil, ils approfondissent leur réflexion sur l’application de la méthode journalistique aux outils informatiques ; en stage, ils vivent l’évolution du métier de journaliste et des pratiques journalistiques. Je m’en voudrais de leur faire utiliser un autre outil que WordPress, qu’ils rencontreront forcément à un moment ou à un autre de leur carrière, s’ils ne l’ont pas déjà fait. 

  4. J’en ai testé plusieurs dizaines, notamment le moteur Stacey (PHP) et le générateur Pelican (Python), qui ont beaucoup inspiré mes propres développements. Le moteur Grav (PHP) et le générateur Hugo (Go) sont parmi les projets récents les plus prometteurs. 

  5. Pour mes besoins personnels et mes recherches, du moins. Dès que MacGeneration est concerné, je dégaine mon MacBook Pro Retina. 

  6. Ce qui explique qu’à l’heure où j’écris ces lignes, le serveur qui héberge ce site tourne sous CentOS, une autre distribution basée sur RHEL

  7. Il me permettrait de gagner 30 % de mémoire et 35 % de temps processeur, mais m’obligerait à adapter certains de mes scripts et plusieurs de mes (grosses) bases de données. 

  8. Un plug-in permet d’utiliser une base SQLite, une idée pas complètement saugrenue si vous voulez réaliser un déploiement portable et privé, mais l’est dans tous les autres cas. 

  9. Ou plutôt d’avoir lu un tutoriel sur telle ou telle technologie à la mode, ce qui suffit, visiblement, pour devenir un expert sur le sujet. 

  10. De manière générale, Nginx semble avoir du mal à encaisser le poids du chiffrement, surtout sur les petits serveurs que j’utilise. Ainsi dans un test de montée en charge simulant 600 hits en 60 secondes, le taux d’erreur de mon serveur ne dépasse pas 0,1 %, un chiffre très acceptable pour un serveur à processeur ARM soumis à une pression équivalente à un million de visites quotidiennes. Une fois le chiffrement activé, le taux d’erreur frôle les 10 %, Nginx mettant le processeur à l’épreuve. En HTTP/2, près d’une requête sur deux provoque une erreur, un chiffre qui m’a particulièrement surpris. 

Le non-droit du citoyen

« Et si je dis non ?

— On appellera le directeur du bureau, et vous attendrez dans le couloir le temps qu’on fasse venir la police. »

L’agent de sécurité en gilet jaune, qui semblait s’être perdu après un soir de match, sait que je ne peux pas m’opposer à une inspection visuelle de mon sac1. Mais il semble ignorer qu’il ne peut vérifier ses multiples compartiments fermés sans mon consentement2, pas même en présence du pauvre officier de police judiciaire qu’il aurait fait déplacer un dimanche midi3, tout ça pour trouver un couloir vide et mon bulletin dans l’urne4.

Un coup de vent lui a rappelé qu’il avait froid, et a porté le souvenir du fumet du poulet rôti du marché voisin, qui m’a rappelé que j’avais faim. Mes molles protestations sont passées au-dessus de son mètre soixante-quinze, ses mains n’ont pas approché mon sac, et nous avons tous les deux passé une bonne journée. Reste que la présence d’un obstacle entre le citoyen et l’urne est préoccupante, même dans ces circonstances exceptionnelles, surtout dans ces circonstances exceptionnelles5.

D’abord parce que cette présence pseudo-policière est dérisoire : le gilet jaune n’est pas un gilet pare-balles. Ensuite parce qu’elle renforce l’hystérie sécuritaire qui domine le débat politique : on inscrit dans l’espace public les obsessions de la droite extrême et de l’extrême-droite, on joue à se faire peur à 50 mètres d’un bureau de vote. Enfin parce que son exercice est illégal : on conditionne l’exercice de mon droit le plus précieux à une violation d’une de mes libertés les plus fondamentales.

Mon vote n’est pas contraint, mais il n’est pas tout à fait libre. Comment s’étonner, dans cette ambiance paranoïaque et anxiogène, que les minuscules enveloppes bleues ne couvrent même pas le fond de l’urne, mais qu’une certaine pile de bulletins soit déjà bien entamée ?


  1. « Les personnes physiques exerçant l’activité mentionnée au 1° de l’article L. 611-1 peuvent procéder à l’inspection visuelle des bagages à main », article L613-2 du Code de la sécurité intérieure
  2. « et, avec le consentement de leur propriétaire, à leur fouille », article L613-2 du Code de la sécurité intérieure. 
  3. « Seul un OPJ ou un gendarme peut fouiller dans les effets personnels d’une personne en cas de flagrant délit, de commission rogatoire ou d’enquête préliminaire », comme le rappelle la Direction de l’information légale et administrative
  4. L’agent de sécurité n’aurait pas pu invoquer l’article 73 du Code de procédure pénale pour justifier ma retenue, ma vague connaissance de mes droits n’étant pas encore un « cas de crime flagrant ou de délit flagrant puni d’une peine d’emprisonnement »
  5. En d’autres temps, de pareilles circonstances avaient provoqué le report des élections générales en Algérie française, faute de pouvoir assurer « le déroulement d’opérations électorales libres et sincères. » Ce parallèle a d’ailleurs motivé le dépôt d’un recours en annulation des élections régionales auprès du Conseil d’État

Vive la République, vive la France

À en croire la rumeur, j’habiterais dans un quartier « difficile ». Un quartier dont le nom provoque des murmures inquiets. Un quartier que l’on ne traverserait qu’en rasant les murs. Dans les faits, j’habite dans un quartier calme. Un quartier dont les enfants dessinent le nom à la craie sous le porche de l’école. Un quartier que l’on traverse en se faufilant entre les clients du café.

Je les vois souvent sourire, mais je les sens parfois désabusés. Peut-être même sont-ils en colère. Comment leur en vouloir ? François-Noël Buffet se rêve en président de la métropole tout à la fois spécialiste d’urbanisme1 et d’immigration2, alors qu’il est le maire qui a consacré l’abandon d’un quartier dont nombre d’habitants viennent d’ailleurs. Comme s’ils valaient moins que ceux du centre-ville refait à neuf, sauf lorsqu’il s’agit de les imposer.

Je me laisse parfois aller à la même morosité, lorsque je parcours ces trois rues s’étendant de la boulangerie à la zone d’activité en passant par la mosquée, coincées entre l’autoroute A7 et le mur qui entourait les ateliers SNCF. Le magazine municipal n’a pas été déposé dans les boîtes aux lettres depuis des mois, le bureau de Pôle emploi va tirer rideau comme de nombreux commerces avant lui, les décorations de Noël ont été posées mais les trottoirs n’ont pas été nettoyés.

Alors je m’étrangle quand un président socialiste n’évoque pas une seule fois l’éducation, la politique de la ville et la laïcité lorsqu’il vante les valeurs de la France face à un terrorisme formé dans les quartiers vraiment difficiles des banlieues parisiennes et bruxelloises3. Bien sûr qu’il nous faut aujourd’hui parer au plus urgent — mais il va nous falloir, dès demain, nous interroger sur les origines de ce mal que sont le fanatisme et la radicalisation violente.

Si le terrorisme est une maladie, alors c’est une maladie auto-immune : c’est une partie de notre corps national qui se retourne contre nous parce que nous l’avons trop longtemps maltraité. Nous ne pouvons plus nous étonner de récolter ce que les cultivateurs de haine ont semé dans notre terreau putride. Il nous faut plus de liberté, plus d’égalité, et surtout plus de fraternité, pas plus de sécurité ni plus d’exclusion.

Bien sûr qu’il faut combattre avec fermeté les terroristes islamistes — à condition de ne pas stigmatiser l’immense majorité des Français musulmans, qui ne veulent rien d’autre que vivre en paix aux côtés de leurs concitoyens. Bien sûr qu’il faut punir les imams radicaux — à condition de faire de même avec les rabbins fondamentalistes et les curés intégristes, afin de montrer qu’aucune forme d’obscurantisme n’est tolérée dans notre société progressiste.

Mais il nous faut aussi encourager le combat contre l’« illettrisme religieux » que mènent des imams comme Mahmoud Doua, sans jamais trahir notre conception de la laïcité. Il nous faut aussi expliquer que si les racines de la France sont judéo-chrétiennes, elles ont été renforcées par un engrais musulman, comme le rappelle à juste titre l’imam Tareq Oubrou4. Il nous faut aussi rappeler que les descendants de « nos »5 ancêtres gaulois doivent leur vie au concours des populations immigrées et colonisées, parfois enrôlées de force6.

Parce que mes voisins, vos voisins, ne sont pas seulement des immigrés ou fils d’immigrés de culture islamique. Ce sont aussi, ce sont surtout, des Français. Panser nos plaies, c’est aussi refermer la blessure béante que nous nous sommes infligée et qui commence à s’infecter. Célébrer la grandeur de la France, c’est aussi reconnaître la formidable contribution d’une partie de sa population injustement ignorée et qui a tant à nous apporter.

Les terroristes veulent abattre la France ? Nous devons faire plus de France !


  1. Il est premier vice-président du Syndicat mixte d’études et de programmation de l’agglomération lyonnaise, après avoir présidé UrbaLyon et avoir été en charge de l’urbanisme et de l’aménagement du Grand Lyon. 
  2. Il est secrétaire national à l’immigration du parti Les Républicains
  3. Non, vraiment, pas une seule fois. Voir la retranscription du discours de François Hollande devant le Parlement réuni en Congrès le 16 novembre 2015
  4. Voir Tareq Oubrou (propos recueillis par Pierre De Boishue), « Tout le Coran n’est pas à reproduire », Le Figaro, 13 novembre 2015. 
  5. Oui, « nos ». Mes ancêtres « génétiques » ne l’étaient pas — ils étaient plutôt suèves et wisigoths — mais mes ancêtres « historiques » le sont, miracle de la citoyenneté. 
  6. Voir notamment l’histoire des tirailleurs algériens

Penser, c’est déjà écrire

Il est certains Esprits, dont les sombres pensées
Sont d’un nuage épais toûjours embarrassées.
Le jour de la raison ne le sçauroit percer.
Avant donc que d’écrire, apprenez à penser.
Selon que nostre idée est plus ou moins obscure,
L’expression la suit, ou moins nette, ou plus pure.
Ce que l’on conçoit bien s’énonce clairement,
Et les mots pour le dire arrivent aisément.

— Nicolas Boileau1

L’art ne se fait pas seulement avec les mains, n’en déplaise à Henri Focillon2. « Tutte le arti che passano per le mani degli scrittori », dit Léonard de Vinci, « sono mentali com’è la pittura, la quale è prima nella mente del suo speculatore, e non può pervenire alla sua perfezione senza la manuale operazione. »3 « Tous les arts qui procèdent de la main de l’écrivain […] sont mentaux comme l’est la peinture, qui naît dans l’esprit de celui qui la conçoit, et n’atteint la perfection qu’avec l’intervention manuelle. »4

Écrire n’est pas qu’un savoir, écrire n’est pas qu’un faire — c’est un savoir-faire. L’écrivain est un artiste qui peut concevoir sans ses mains, mais aussi un artisan qui ne peut réaliser sans ses outils. La pratique commande l’acte : j’écris déjà que je n’ai pas encore posé la plume sur le papier ou les doigts sur le clavier. L’acte informe la pratique : le stylo gratte et mes doigts s’emmêlent, interrompant le flux de ma pensée.

Je ne peux concevoir que l’outil n’ait pas d’influence sur la pensée, comme je ne peux admettre que la pensée ne commande pas l’outil. L’outil ne réinvente pas l’idée, c’est l’idée qui se réinvente à l’épreuve de l’outil. J’écris souvent (dans ma tête) sans écrire (avec mes mains), mais je ne peux écrire (avec mes mains) sans écrire (dans ma tête). Mes mains et ma tête dialoguent, et de ce dialogue naissent de nouveaux écrits, mais ils existaient en potentialité dans mon esprit.

Penser, c’est déjà écrire. Il me faut une journée pour transcrire ce que j’ai écrit dans ma tête pendant deux semaines ou six mois ou deux ans. Penser, c’est écrire. Il me faut quelques jours pour parfaire ma pensée en perfectionnant mon écriture. Penser, c’est réécrire. Il me faut deux semaines ou six mois ou deux ans pour parfaire mon écriture en perfectionnant ma pensée.

« Les mains sont cosa mentale »5 : l’art n’existe sans technique, parce qu’il finit par s’incarner, mais il ne peut être défini par la technique. L’écriture est la rencontre d’un outil avec une pensée — écrire, c’est nécessairement penser6 ; penser, c’est déjà écrire.


  1. Nicolas Boileau, L’art poétique (chant 1), in Œuvres complètes, Paris, Gallimard, Pléiade, 1966. 

  2. Henri Focillon, « Éloge de la main », in Vie des formes, suivi de Éloge de la main, Paris, Presses universitaires de France, 1943. 

  3. Léonard de Vinci (éd. Anna Sconza), Trattato della pittura, Paris, Les Belles Lettres, Le cabinet des images, 2012. 

  4. Traduction personnelle. 

  5. Pour reprendre éhontément une discussion entre ma femme et un conservateur du musée des Beaux-Arts de Lyon

  6. Même dans l’écriture automatique — surtout, de mon point de vue, puisqu’elle requiert un effort de dissociation. La pensée façonne l’outil et les conditions, celles d’un abandon de la pensée. 

« Migrant » n’est pas un gros mot

Al Jazeera n’utilisera plus le mot « migrant » dans sa couverture de la « crise méditerranéenne » :

It is not hundreds of people who drown when a boat goes down in the Mediterranean, nor even hundreds of refugees. It is hundreds of migrants. It is not a person – like you, filled with thoughts and history and hopes – who is on the tracks delaying a train. It is a migrant. A nuisance.

It already feels like we are putting a value on the word. Migrant deaths are not worth as much to the media as the deaths of others – which means that their lives are not. Drowning disasters drop further and further down news bulletins. We rarely talk about the dead as individuals anymore. They are numbers.1

Comment désigner ces milliers de personnes tentant la traversée à bord d’embarcations de fortune ? Par le terme de « réfugiés » :

There is no “migrant” crisis in the Mediterranean. There is a very large number of refugees fleeing unimaginable misery and danger and a smaller number of people trying to escape the sort of poverty that drives some to desperation.

Le groupe qatari reprend ici l’argumentaire de l’Agence des Nations unies pour les réfugiés :

La grande majorité des 137 000 personnes ayant traversé la mer Méditerranée vers l’Europe durant les six premiers mois de 2015 fuyaient la guerre, le conflit ou les persécutions, ce qui fait de la crise méditerranéenne principalement une crise de réfugiés, selon un rapport du HCR […].2

« Un très grand nombre », « la grande majorité », « principalement » : tous ceux qui traversent sont des migrants, mais tous ne sont pas des réfugiés au sens de la Convention du 28 juillet 1951 :

Le terme « réfugié » s’appliquera à toute personne qui, […] craignant avec raison d’être persécutée du fait de sa race, de sa religion, de sa nationalité, de son appartenance à un certain groupe social ou de ses opinions politiques, se trouve hors du pays dont elle a la nationalité et qui ne peut ou, du fait de cette crainte, ne veut se réclamer de la protection de ce pays ; ou qui, si elle n’a pas de nationalité et se trouve hors du pays dans lequel elle avait sa résidence habituelle à la suite de tels événements, ne peut ou, en raison de ladite crainte, ne veut y retourner.3

Dans un contexte si tragique, ce retour à la définition peut paraître bien cruel, mais il me semble impératif. Les mots ont une histoire et un sens, et il me semble particulièrement dangereux d’abandonner le mot « migrant » à ceux qui lui donnent son sens le plus péjoratif, alors qu’il possède une riche histoire.

Au cours de mes recherches sur l’immigration européenne en Amérique du Nord4, j’ai défini un champ lexical d’une vingtaine de mots parmi les plus utilisés pour désigner « la personne se déplaçant »5. Une expression comme « asylum seeker » est extrêmement rare à l’époque qui m’intéresse : c’est un concept très récent, d’abord et avant tout utilisé dans le droit international pour désigner celui qui n’a pas encore été reconnu comme réfugié.

migrant-nest-pas-un-gros-mot
Évolution de l’occurence de termes relatifs à la migration dans un large corpus de textes écrits en anglais. Source Google Ngram Viewer. Image CC BY-NC-SA Anthony Nelzin-Santos.

Ce statut défini dans les années 1950 est accordé par un tiers, limitant encore un peu plus la portée d’un terme vieux de quatre siècles. Le mot « refugee » apparaît régulièrement dans le corpus de milliers d’ouvrages de la fin du XIXe et du début du XXe siècle que j’ai indexé, où il désigne parfois les Amérindiens déplacés, mais plus souvent les huguenots et autres protestants européens, notamment dans les ouvrages de descendants établis en Amérique du Nord. Ce terme apparaît sinon flanqué d’un adjectif le restreignant : le réfugié est celui qui migre pour des raisons politiques ou religieuses.

On retrouve le sens moderne du terme, que rappelle aussi le mot « émigré », en français dans le texte. Témoin de la préciosité de certains auteurs, il ne semble guère utilisé au-delà des biographiques des élites européennes ayant eu à souffrir du tumulte politique du long XIXe siècle. Il a d’abord désigné les fuyards de la Révolution française selon l’Oxford Dictionary of English, et il désigne plus tard les auteurs et les princes russes.

Si « émigré » vient du français, le « settler » se forme à l’épreuve du grand Ouest américain. Son usage est commun dès la fin du XVIIIe siècle, mais plafonne à la fin du XIXe siècle, avant d’atteindre son apogée au début du XXe siècle : Daniel Boone commence son épopée en 1750, le recensement de 1890 proclame la disparition de la Frontière, et le flux de migrants européens atteint son pic en 1907.

« De migrants », ou « de réfugiés » ? Les Irlandais étaient confrontés à la Grande famine, les Italiens devaient faire face à une crise économique globale, les Juifs ukrainiens étaient victimes de pogroms… Mais rares sont les franco-européens que j’ai étudié qui sont partis sous la menace, et les historiens de l’immigration ont coutume de dire que ce ne sont pas les plus pauvres qui partent6. La migration est une décision mûrement réfléchie, dont le succès demande une certaine organisation du départ, un capital substantiel pour assurer la traversée et l’établissement, et de solides réseaux pour accompagner le tout.

Même s’il n’est pas dépourvu d’objectifs, le réfugié n’est pas maître de son parcours : son départ et son arrivée sont contraints. Migrants et réfugiés peuvent se ressembler, mais ils vivent une expérience fondamentalement différente. La migration n’est pas que déracinement — elle est souvent, et c’est heureux, transplantation7. Bannir le terme de « migrant », c’est nier qu’il puisse exister une migration choisie, empêcher tout débat qui ne porte pas sur les notions d’« intégration » et d’« assimilation », et in fine, faire le jeu des partisans du repli sur les frontières.

Des frontières qui n’ont jamais arrêté les migrants à la recherche d’une vie meilleure, mais sont en train de devenir un mur contre lequel on condamne des réfugiés à mort.


  1. Barry Malone, « Why Al Jazeera will not say Mediterranean ‘migrants’ », Al Jazeera English, 20 août 2015. 
  2. « Crise en Méditerranée – 6 premiers mois 2015 : Le nombre des réfugiés et des migrants atteint un pic », communiqué de presse de l’Agence des Nations Unies pour les réfugiés, 01 juillet 2015. 
  3. Article premier de la Convention du 28 juillet 1951 relative au statut des réfugiés
  4. Si cet article exploite mes connaissances historiques, il ne prétend en aucun cas faire une analyse complète du vocable de la migration avec toute la rigueur de ma formation scientifique. J’estime toutefois que cet avis est suffisamment informé pour tenir tête à l’« intuition journalistique » trop souvent érigée en vérité universelle. 
  5. Et non pas seulement « la personne franchissant une frontière », sous peine d’éluder les migrations internes et de gommer la complexité des parcours de migrants. 
  6. Coutume établie par de solides faits, qui sont toujours valables aujourd’hui, comme le montre par exemple une récente étude de chercheurs du Wittgenstein Centre for Demography and Global Human Capital. Voir : Guy J. Abel et Nikola Sander, « Quantifying Global International Migration Flows », Science, 343/6178, 2014, pp. 1520–1522. 
  7. Un jeu de mots assez commun parmi les historiens de l’immigration nord-américaine, qui fait référence au classique du fantastique Oscar Handlin (The Uprooted: The Epic Story of the Great Migrations That Made the American People, New York, Grosset & Dunlap, 1951), et aux ouvrages qui l’ont contesté (notamment Andrew F. Rolle, The immigrant upraised: Italian adventurers and colonists in an expanding America, Norman, University of Oklahoma Press, 1968).