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 !

http://leprogressocial.fr/


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 !


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


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 » ?


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, et x 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:

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.

6 Conclusion

En conclusion: utilisez package.el :)

Et si vous ne savez pas quoi installer (à part org, magit, evil, ido, smex, projectile, helm, helm-projectile, move-text et elscreen n'est-ce pas ?), restez dans le coin on en discute une prochaine fois !