Nouveau quotidien national sans pub Le Progres Social
Un truc de ouf: un nouveau journal, un quotidien, à couverture nationale (normalement à la rentrée), sans publicité, qui n'appartient pas à un millionnaire, et de gauche. Ça nous arrive, aujourd'hui en 2016 à l'aire d'internet.
Militants associatifs, syndicaux (Solidaires, CGT, FSU…) ou politiques engagés dans la construction du progrès social et dans l’éducation populaire, nous avons constaté qu’il manquait un quotidien qui porte réellement nos points de vue et rende compte de nos actions. C’est pourquoi nous avons décidé d’associer nos compétences avec celles de journalistes proches de nos idées pour vivre cette aventure.
Il a été créé en mars 2016, en plein mouvement social. Il paraîtra en 4 pages la semaine, 8 le samedi, et en couleur.
On peut découvrir les premiers numéros en pdf: numéro 0A et numéro 0B.
Et on peut évidemment s'abonner: http://leprogressocial.fr/squelettes/abonnement.html 20€ par mois, essayons !
À soutenir !
Une commande locate interactive dans Emacs avec counsel et ivy-mode
Sur notre système GNU/Linux on a la commande locate
qui nous permet
de chercher des fichiers sur tout le système. Emacs a une interface
simple à locate: M-x locate
qui demande une expression régulière
puis on obtient les résultats dans un nouveau buffer.
Avec counsel-locate
on peut voir les résultats dans le mini-buffer
de manière interactive, appliquer des actions sur un ou des résultats,
et quelques trucs en plus.
Quand on tape counsel-locate
on obtient un mini-buffer de cette
sorte:
On retrouve des indications explicites qui ressemblent fortement à une
hydra. C'est C-o
qui fait apparaître le menu hydra. On peut choisir
et définir le type d'action à effectuer pour ouvrir le fichier
(touches wsa
, ouvrir avec emacs, avec xdg-open, avec une commande
personnalisée), et d'autres. Je vous laisse découvrir et vous reporter
à l'article de l'auteur:
http://oremacs.com/2015/07/02/counsel-locate/
Pour installer ça, si vous avez déjà ajouté la source de paquets MELPA, y'a plus qu'à
M-x package-install RET counsel RET
counsel
est une collection de commandes Emacs qui utilisent Ivy,
lequel est un système de complétion interactif (comme ido
mais un
peut plus complet maintenant).
Comme alternative j'utilisais aussi helm-locate qui marche très bien (fournie avec helm), avec une différence sur la regexp (on doit écrire une vraie regexp alors qu'avec counsel on peut écrire différents termes séparés par un espace, par exemple "python.*pdf" ou "python pdf") et helm-locate propose moins d'actions possibles (aucune en fait, juste d'ouvrir un fichier en gardant la session). Pour définir quel programme utiliser pour chaque extension, j'utilise openwith (sur melpa).
Et voilà, encore une chose plus sympa à faire dans Emacs que dans son shell !
L'appli Somebody: faire lire ses textos par quelqu'un d'autre
C'est trop drôle. Et pertinent.
Le lien de l'"appli" (http://somebodyapp.com/) explique que «malgré les objectifs ridicules, un message sur quatre a été transmis, des dizaines de milliers de personnes l'ont utilisée quotidiennement. La prochaine étape aurait logiquement été de créer une startup et de se développer ("on our user's dedication"). Ou bien… de choisir une date de sortie et de finir cette appli de la même manière qu'elle a commencée: une expérience à grande échelle d'art publique, marquant un moment particulier dans le temps.
Quelqu'un a disparu (l'appli s'appelle "Somebody") du monde pour toujours. Mais vous êtes toujours là. Vos amis aussi. Et il y a des étrangers partout.»
signé: Miranda July
Stakhanov chez Volkswagen
Ce texte, que je trouve particulièrement pertinent et drôle, est paru dans le Monde Diplomatique de décembre 2015 et est également lisible sur leur site. Il est signé Pierre Rimbert.
Joseph Staline était méchant. Cette affirmation intrépide, que nul ou presque n’a osé formuler ces quarante dernières années, est au cœur du documentaire Apocalypse : Staline, réalisé par Isabelle Clarke et Daniel Costelle (France 2, 3 novembre 2015). Les images colorisées s’accompagnent d’un commentaire étincelant de finesse sur le dirigeant soviétique : « Chacun peut redouter ses méthodes derrière ses petits yeux qui se plissent quand il esquisse un sourire. »
Au nombre des méfaits du dictateur figure la mise en place d’une économie fictive où des statistiques truquées surpassent les objectifs inatteignables. « Staline fait marcher sa machine de propagande à plein régime pour fabriquer des héros du travail, comme le mineur Alexis Stakhanov », explique le narrateur, mais « tous ces exploits stakhanovistes sont de pures inventions ». Et le commentaire de détailler les rouages du système : « L’industrie soviétique entre dans l’ère du mensonge. Affolés par la terreur, ouvriers et directeurs d’usine, menacés s’ils ne remplissent pas les quotas, mentent sur tout. Sur la qualité, la quantité, la fiabilité, le rendement. » Le spectateur comprend qu’une telle organisation, fondée sur la falsification et l’effroi, ne saurait prospérer sous d’autres cieux ; en tout cas pas « chez nous », où la science économique plutôt que le méchant Staline guide la production.
Du moins jusqu’à ce que le hasard du calendrier produise, une semaine plus tard, un étonnant télescopage. « Volkswagen, la culture de la peur au cœur du scandale », titre Le Monde (10 novembre 2015). La marque allemande a truqué ses moteurs diesel afin qu’ils passent avec succès les tests de pollution. « Au sein du groupe, les témoignages se multiplient ; face à des objectifs irréalisables, les ingénieurs préféraient tricher qu’affronter la colère du patron », écrit le quotidien.
Si l’on ne peut comparer les affres subies par le travailleur soviétique à celles du technicien allemand, les récits recueillis à Wolfsburg, siège du constructeur automobile, suggèrent que l’irrationalité managériale peut exister dans d’autres pays que l’URSS. « Volkswagen était dirigé comme une monarchie absolue, où ce qui n’est pas autorisé ne peut pas arriver, confie au Monde un familier du groupe. On donne des instructions sur des objectifs, et personne n’ose dire que ce n’est tout simplement pas possible, pas faisable techniquement. » Dans cette entreprise, complète un grand patron allemand, « les porteurs de mauvaises nouvelles sont guillotinés, même s’ils ne sont pas responsables ».
L’Europe n’échappe pas à la manie du déni bureaucratique consistant à supprimer les problèmes qu’on ne souhaite pas résoudre. L’Union européenne devait imposer en 2017 des tests de pollution automobile sur route plutôt qu’en laboratoire. Problème : aucun moteur diesel ne les aurait passés. Assiégés par les lobbyistes, les régulateurs des pays membres et la Commission ont décidé fin octobre, au beau milieu du scandale Volkswagen, de relever le seuil d’émission des oxydes d’azote de… 110 %. Comme le rappelle Wolfgang Münchau, chroniqueur au Financial Times (9 novembre 2015), « ces polluants tuent. Le nombre de décès imputés aux émissions des moteurs diesel dépasse largement celui des tués sur la route. On peut ainsi interpréter cette réglementation technique de l’Union comme la décision de tuer plusieurs milliers de personnes ».
Bientôt dans « Apocalypse : Bruxelles » ?
Emacs aussi a un gestionnaire de paquets !
Table of Contents
Si vous ne saviez pas qu'Emacs possède un système d'extensions, il est temps de vous mettre à la page et de vous créer une config aux petits oignons !
1 Utilisation
Si vous avez Emacs 24.1 ou supérieur, vous avez déjà package.el et vous pouvez de suite essayer les quelques commandes suivantes (et pour toutes les versions, nous avons el-get):
M-x package-refresh-content
pour le "apt-get update",M-x package-list-packages
pour tout lister: paquets disponibles, installés ou pas,M-x package-install RET nom-d'un-paquet RET
pour faire ce que de doit, avec TAB-completion (par exemple, magit ou evil),M-x list-packages
(un petit raccourci) pour tout lister,C-s
(comme d'hab) pour chercher un paquet,d
pour le marquer à désinstaller,i
pour le marquer à installer,U
pour tout marquer à mettre à jour,u
pour "unmark" le paquet, etx
pour tout exécuter.- il est conseillé de tout initialiser au démarrage avec la ligne
(package-initialize)
dans votre fichier de démarrage.
Maintenant, comme avec apt, il faut prendre en compte les sources de paquets. Par défaut on a accès à la base de GNU ELPA (Emacs Lisp Package Archive) mais il y en a bien plus dans MELPA et Marmalade, qu'on va donc ajouter:
(require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/")) (package-initialize)
Notez qu'on les a ajoutées après "require package" et avant l'initialisation.
C'est tout ce que vous avez besoin de savoir.
Liens:
- documentation officielle
- pour chercher des paquets: http://melpa.org/#/ (et slugelisp)
2 Lister les paquets et les synchroniser
Maintenant voyons comment sauvegarder la liste des paquets qu'on installe. Ça nous servira d'abord à garder une trace, et à partager facilement sa configuration entre plusieurs PCs, par exemple entre maison et bureau, dès lors qu'on a placé son fichier d'init sous gestion de version (et créé un dépôt public où vous voulez, ou privé sur gitlab).
Certains ne font pas la fine bouche mais s'assurent une
reproductibilité à 100% en commitant intégralement le répertoire
~/.emacs.d/elpa/
, où sont installés les paquets.
Sinon, on écrit un petit peu d'elisp:
;; Rafraichir la liste (when (not package-archive-contents) (package-refresh-contents)) ;; Ma liste de paquets (defvar my-packages '( org evil un-autre-paquet ) "A list of packages to ensure are installed at launch.") ;; Tout installer (dolist (p my-packages) (when (not (package-installed-p p)) (package-install p)))
Petites notes de lisp: l'apostrophe ='(un deux)= est un raccourci pour
créer une liste: (list un deux)
. Le reste se comprend non ? Dans
package-installed-p
, le -p
final veut dire "predicate", donc cette
fonction va retourner true ou false (t
ou nil
).
dolist
est pour boucler sur la liste… ce n'est pas trop fonctionnel,
on aurait pu utiliser map, ok.
3 Cask et Pallet
Une autre possibilité est d'utiliser Cask et Pallet (équivalents de bundler pour Ruby?) pour écrire la liste dans un fichier à part, et pour mettre à jour automatiquement ce fichier quand on manipule des paquets dans Emacs.
4 Use-package
Le but de use-package est de regrouper la configuration d'un paquet dans une seule déclaration, et de gagner en performances (le chargement et la config du paquet se fera en asynchrone).
Cette fonction est de John Wiegley, l'auteur également de eshell, le système de compta ledger et plein d'autres choses. Il est le nouveau maintainer d'Emacs depuis quelques semaines.
5 Limitations
Malgré toutes les bonnes choses, package.el
n'est pas encore un
apt-get pour Emacs. Melpa contient les dernières versions des paquets
(melpa utilise leur branche master), ce qui peut créer des problèmes
d'incompatibilité. Pour remédier à ce problème on peut maintenant se
baser sur melpa-stable, qui utilise les tags des paquets:
(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/"))
Mais tous les paquets ne sont pas dans le dépôt stable, et il arrive que certains dépendent sur des versions récentes qu'on ne trouve pas dans melpa-stable… Ceci dit, au quotidien, ça va, mais… on peut avoir un peu de config à faire quand on n'en a pas envie. Personnellement je mets peu souvent mes extensions à jour, et quand je le fais je dois renommer un ou deux paquets et en installer un ou deux manuellement. Ça va.
Certains font autrement.