PROJET AUTOBLOG


PostBlue

source: PostBlue

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

LaTeX, précision de page dans la citation d'un volume

samedi 2 août 2014 à 22:09

Je suis pour le moment concerné par la rédaction d'un travail académique en philosophie, en LaTeX bien évidemment, et je me heurte à un problème rédhibitoire. Peut-être un lecteur pourra m'aider.

Habitué à l'utilisation de footcites les modalités de mon travail font que je suis contraint de procéder à la même manipulation mais dans le cadre d'une citation reprise dans un volume précis d'une publication.

\footcites[pré-note][post-note]{clé1}[pré-note][post-note]{clé2}

Dans mon texte, j'ai configuré biblatex de la sorte :

\usepackage[backend=biber,%
citestyle=verbose-trad2,%
bibstyle=verbose,%
sorting=nyvt,%
citepages=omit]{biblatex}

citepages=omit me permet de citer la page d'un article (par exemple) sans afficher l’intervalle où il se situe (information superflue si l'on sait quelle est la page exacte où se trouve la citation, du moins selon l'usage que j'ai des renvois bibliographiques).

Après investigation de la documentation de biblatex (une véritable mine d'or), j'ai appris à me servir de fvolcites à la place de footcites (après quelques tentatives infructueuses, je l'avoue).

\fvolcites(pré-commentaire)(post-commentaire)[pré-note]{volume}[post-note]{clé1}[pré-note]{volume}[post-note]{clé2}

J'ai donc dans ma bibliographie une entrée @mvbook où le nombre de volumes est renseigné. Or, si citepages=omit fonctionne très bien dans l'utilisation de footcites, ce n'est malheureusement pas le cas avec fvolcites : l'intervalle est affiché, ce qui évidemment me déplaît. Dans la même veine, le nombre de volumes de l'ouvrage est également indiqué quand je précise le volume précis d'où est extraite la citation.

Retournant à la documentation de biblatex (version 2.9a, 24/06/2014), j'ai appris l'existence de volcitepages et de volcitevolume, p. 89. J'en ai chichement déduit un usage similaire, modifiant mon appel de biblatex en y ajoutant volcitepages=omit, volcitevolume=omit. La déduction ne fut malheureusement pas bonne, j'étais naïf de croire que ce serait aussi simple.

/usr/share/texmf-dist/tex/latex/biblatex/biblatex2.sty:10902: Package xkeyval Error: `volcitevolume' undefined in families `blx@opt@pre'.
/usr/share/texmf-dist/tex/latex/biblatex/biblatex2.sty:10902: leading text: \blx@processoptions
/usr/share/texmf-dist/tex/latex/biblatex/biblatex2.sty:10902: Package xkeyval Error: `volcitepages' undefined in families `blx@opt@pre'.
/usr/share/texmf-dist/tex/latex/biblatex/biblatex2.sty:10902: leading text: \blx@processoptions

Enfin, il s'agit certainement d'une affaire de conventions et je me trompe dans l'application de celles-ci.

Addendum du 8 août 2014 : j'ai rempli un rapport de bug sur la page de développement de Biblatex, j'en extrait ci-dessous mon exemple minimal et fonctionnel.

First, the mwe.bib.

@mvbook{key1,
  author = {Author One},
  title = {Work One},
  volumes = {2}
}

@article{key2,
 author = {Author Two},
 title = {Work Two},
 journal = {Some journal},
 pages = {1-2}
}

@book{key3,
 author = {Author One},
 title = {Work One},
 volume = {1}
}

Two shots : mwe1.tex (footcites first) and mwe2.tex (fvolcites first), compiled with pdflatex and biber.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[autostyle]{csquotes}
\usepackage[backend=biber,%
citestyle=verbose-trad2,%  
citepages=omit]{biblatex}

\bibliography{mwe}

\begin{document}
Example 1\footcites[][]{key3}[][2]{key2}.  
Example 2\fvolcites()()[]{1}[]{key1}[]{}[2]{key2}.  
\end{document}

MWE1

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[autostyle]{csquotes}
\usepackage[backend=biber,%
citestyle=verbose-trad2,%  
citepages=omit]{biblatex}

\bibliography{mwe}

\begin{document}
Example 1\fvolcites()()[]{1}[]{key1}[]{}[2]{key2}.  
Example 2\footcites[][]{key3}[][2]{key2}.  
\end{document}

MWE2

The two first lines are quite obvious : with the footcite, the "1-2" pages are omitted, not with fvolcite.

Content Delivery Network Privacy Concerns

samedi 28 juin 2014 à 09:08

Sauvegarde et dramatisation d’une prise de bec avec le développeur de Ghostwriter, le thème utilisé sur le présent blog et dont je suis très content au demeurant.

En cause, l’utilisation d’un CDN (Content Delivery Network, un service de contenus centralisés dans des fermes de serveurs et distribués « gratuitement » : polices, icônes, images, etc) pour servir la police Open Sans depuis Google Fonts et le set d’icônes Font Awesome depuis MaxCDN (comprendre : depuis les serveurs de sociétés commerciales n’ayant pas vocation philanthropique sans qu’au minimum ça leur rapporte un quelconque bénéfice).

Subodorant un problème relatif à la vie privée, j’ai conscienscieusement proposé d’intégrer ces deux polices au thème, contribution à l’appui après quelques essais infructueux. Je pensais à des sous-modules Git, les sous-modules permettant de gérer un dépôt Git comme un sous-répertoire d’un autre dépôt Git.

Si cette solution simplifie la mise à jour des paquets (git submodule foreach git pull origin master et c’est chichement plié), elle n’est ni propre ni légère de mon propre aveu, puisqu’elle intègre des fichiers inutiles et qu’elle exige de le part du webmestre quelque connaissance en interfaces en ligne de commande afin de déployer le thème en question.

Sans même avoir vérifié la chose, j’accordai que cette solution aurait peut-être rendu le téléchargement du dépôt dans une archive incohérent et incomplet (sans le contenu des sous-modules), ainsi proposai-je de travailler à une solution plus propre et plus légère (chose faite), corrélativement moins fainéante.

I’d like to keep the theme as simple as possible for people to use and I think using git submodules would make things overly complicated for non technical/git users.

M’étant vu opposé un impératif de « simplicité » pour ne pas troubler le chaland, je me suis beaucoup amusé à imaginer quelque webmestre ayant installé node.js et son outil npm, sachant utiliser curl et unzip, ayant édité un fichier de configuration avec vim, nano ou un autre éditeur de texte en interface en ligne de commande, bref, j’imaginais quelqu’un étant parvenu à déployer Ghost qui perdrait subitement tous ses moyens face à git submodule init --update --recursive (la commande pour initialiser les sous-modules Git).

Ghost deploy

Par contre, ce qui me fit bondir et servit de ferment à la prose suivante fut l’argument relatif à la vie privée.

To me the benefits of the saved resources outweigh the privacy issue.

Le bénéfice en ressources informatiques l’emporterait sur les questions de vie privée.

J’ai bien évidemment intégré le patch au fork que j’entretiendrai jusqu’à résolution du problème (c’est à dire du différend), et je n’ai remarqué aucune surcharge hors-norme du serveur ; l’augmentation de la consommation de ma bande passante est tout à fait modérée. Gageons qu’un contrôle adéquat de la mise en cache fait effet, ce sur quoi je n’ai absolument aucun contrôle quant à des contenus obtenus via un CDN ce qui, j’estime, devrait inquiéter n’importe quel administrateur.

Si ces contenus sont sur mon propre serveur, un lecteur n’aura pas à attendre qu’une requête CORS soit réalisée. Si mon site répond dès la première poignée de main, les polices viendront de suite après. Se rendre dépendant de l’utilisation d’un CDN, sans même intégrer de solution alternative au cas où ce dernier lâcherait ou serait injoignable, est à mon sens un parti pris occidental et bourgeois (un bon débit, l’assurance d’une connexion stable et non filtrée). Cela exige une confiance en la non-modification des contenus liés (rien ne m’assure qu’un petit malin ne viendra pas insérer du code malicieux dans le script que je n’ai pas sur mon serveur et dont je ne peux pas vérifier l’intégrité).

Qui n’a jamais vu un site changer de gueule en cours de chargement parce que les polices venaient enfin d’être chargées ? C’est le genre d’effet que je veux éviter. Mieux : le temps de chargement de la page indiqué par GTMetrix a même diminué d’au moins une demie seconde, ce qui est un effet secondaire tout à fait appréciable.

I don’t really feel that using fonts loaded from a CDN poses a large enough privacy issue for this to be a concern.

Le chargement de polices depuis un CDN ne poserait pas un assez grand problème de sauvegarde de la vie privée pour être préoccupant.

À cela je réponds que les plus graves problèmes de vie privée sur Internet se retrouvent dans la somme des attitudes les plus bénignes. Si un administrateur ne voit pas de problème quant à l’intégration de contenus centralisés, je ne doute pas que les données de tous les sites qui utilisent telle ou telle police doivent être bien juteuses. Ces informations, recoupées avec les visites des lecteurs n’ayant pas été prévenus qu’un tiers peut aggréger tous les sites qu’ils visitent à cause de la négligence d’administrateurs ou de développeurs, donnent un historique et un profil de métadonnées des lecteurs et des gestionnaires d’un site. Parce que même mon blog est profilé de la sorte. Personne n’y gagne sinon le tenancier du service « gratuit »

Je suis un blogueur, pas un revendeur d’informations personnelles. Je ne suis pas un collabo qui participera au grand profilage des internautes.

Most users that are worried about being tracked will likely be using a browser plugin to prevent it anyway.

Je refuse que seuls ceux qui sont au courant de tels problèmes de traçage par les grosses crèmeries du Web soient les seuls à pouvoir être protégés de ces dernières qui se goinfrent de métadonnées. Il n’y a pas assez de paranoïaques pour que les choses changent, et bien trop d’internautes qui s’en moquent éperdûment ou qui n’imaginent même pas ces problématiques. Si nous ne sommes libres que lorsque tous ceux qui nous entourent sont également libres (Mikhaïl Bakounine), c’est aux webmestres et aux administrateurs d’observer un comportement loyal : ils peuvent changer la donne en refusant de recourir à de tels chevaux de Troie.

Mikhaïl Bakounine

Enfin, ceux qui s’inquiètent de voir leurs métadonnées servir de repas au gros requin ont aussi bien le droit de naviguer sur des sites bien alignés, bien formatés, intégrant les polices et les icônes avec lesquelles les sites sont pensés.

Hébergez vos polices et cessez de recourir aux CDN dont vous ne pouvez pas maîtriser les contenus et donc auxquels vous ne pouvez pas faire confiance. Tout le monde y gagne sauf ceux que nous ne voulons pas voir gagner.

Version originale

I understand that using submodules isn’t the easiest solution to download (I don’t know if an archived repository adjoin them, and I think it doesn’t), and I’m sure it isn’t the cleanest one too, as it includes many unneeded files (maybe dangerous ones); I can work on a cleaner yet lightweight patch without using user unfriendly submodules.

I understand it would be complicated to deploy your theme for those who only know git clone, maybe wget and unzip too, though I barely know more of git myself (see those failed and ugly pull requests I’ve made!). But I don’t understand how one would have installed Ghost if he’s not a technical/git user, at least familiar with command-line interfaces. Are they pre-installed Ghost platforms with web-installable themes yet?

I deployed this patch on my server, and I see no resource overload with a good cache control policy. Anyway, I have absolutely no control on cache control policy in the case of CDN (content delivery network) served libraries and it should bother any webmaster. And if they’re on my own server, one reader won’t have to wait for a CORS call to succeed: if the server respond at first bits, the fonts will be served with no delay.

Furthermore, I think the worst privacy issues are the sum of bening behaviors. One developper will see no arm on his own side if he uses a CDN for the libraries he needs, but the CDN owners will see a big advantage to have the access logs of those loading pages that integrates the incriminated CDN contents. I’m a blog writter, not a personal data reseller. I’m not some kind of quisling.

Besides, I don’t think that only those who are aware of these issues and other not-so-wrong-paranoids have some kind of right to preclude the loading of these contents. There’s not enough paranoids to make a change, and too much of those who won’t lift a finger. Webmasters and developers have to mind their own behavior: they’re those who can make it change.

Furthermore, I think that those who are worried of being tracked (everyone should be worried about it, and not just whine around when they suddenly give a damn about their private life) have also the right of a well aligned, well displayed and well formated website, including fonts, icons, etc.

So I’m suggesting to give the fonts with the theme. I can work on it to make both lightweight and easy to install for the webmasters, and easy to update for you or the contributors.

Économie d’énergie sur un ordinateur Samsung

samedi 21 juin 2014 à 14:46

Bien qu’il soit possible d’ajouter des règles UDEV concernant la gestion de l’énergie des ordinateurs portables afin d’augmenter l’autonomie de ceux-ci, il est une astuce qui épargne au facétieux détenteur d’un modèle de marque Samsung de créer et maintenir une configuration au cas où celle-ci viendrait à devenir capricieuse ce qui, ne nous leurons pas, ne manquera pas d’arriver et nécessitera une intervention manuelle alors que la solution que je propose, parce que plus courte et plus simple, réduira la maintenance nécessaire potentielle.

En premier lieu, puisque nous disposons pour l’exercice d’un ordinateur portable de marque Samsung, il convient d’installer le très utile Samsung Tools avec les moyens offerts par la distribution installée sur celui-ci. Je vous laisse le soin de trouver sur la page GitHub du projet ou ailleurs les informations relatives à la distribution qui rencontre votre préférence. Par exemple, pour le mien qui est sous Arch Linux et sur lequel j’ai installé l’utilitaire yaourt afin d’installer à moindre frais les scripts d’installation maintenus par la communauté sur le dépôt AUR, il me suffit d’entrer dans une invite de commande :

yaourt -S samsung-tools

Après installation des dépendances nécessaires au bon fonctionnement de l’outil, dont pm-utils qui nous intéresse ici au plus haut degré, il ne nous reste plus qu’à activer ce dernier pour enfin le configurer, par exemple sur une distribution utilisant le gestionnaire de démarrage systemd :

systemctl enable samsung-tools
systemctl start samsung-tools

Ceci fait, nous pouvons lancer l’application et accéder à la gestion avancée de l’énergie -- le troisième onglet auquel on accède en cliquant sur la flèche de défilement à droite des onglets d’option -- afin de vérifier que tout est bien activé : la gestion de l’énergie des périphériques, la pause automatique des périphériques USB, et le délai d'écriture différée de la machine virtuelle.

Samsung Tools

S’il est intéressant de disposer de tels réglages lorsque notre ordinateur portable est sur batterie, je trouve saugrenu de castrer la puissance de ce dernier lorsqu’il est branché sur le secteur -- qui plus est quand la machine est poussive comme la mienne. C’est pourquoi je propose l’écriture d’un et un seul fichier udev comme mentionné ci-haut, permettant de désactiver ou activer ces réglages que la machine soit sur secteur ou non. Dans le fichier créé pour l’occasion, /etc/udev/rules.d/99-powersave.rules, recopions :

SUBSYSTEM=="power_supply", ATTR{online}=="0", RUN+="/usr/bin/pm-powersave battery"
SUBSYSTEM=="power_supply", ATTR{online}=="1", RUN+="/usr/bin/pm-powersave ac"

Notez que si la manipulation que je développe dans le présent article est dévolue à l’économie d'énergie, Samsung Tools me sert également à gérer efficacement les touches de fonction de mon ordinateur portable auxquelles j’accède par les raccourcis clavier indiqués.

Samsung Tools shortcuts

Supposant qu’il soit possible de transposer cette manipulation à d'autres marques d'ordinateur portable, je crois que cela engendrerait un effort supérieur au recopiage des lignes de configuration mentionnées en premier lieu.

TrueCrypt, c’est fini

vendredi 30 mai 2014 à 15:02

Traduction d'un message de Bill Cole posté sur KrebsonSecurity concernant l'abandon du développement de TrueCrypt.

Adieu TrueCrypt

« L'audit de sécurité initial fait par iSec était très critique à l'égard de la qualité du code de TrueCrypt [1], déduisant que ce devait être l'œuvre d'un seul développeur. Il n'y eut pas de mise à jour pendant deux ans. Le processus de compilation requiert un compilateur Microsoft vieux de 20 ans [2], extrait manuellement d'un installateur exécutable.

Imaginez-vous comme le développeur principal et solitaire travaillant sur TrueCrypt. Personne ne vous paie pour ça, les gouvernements vous détestent, la plupart de la communauté cryptographique vous lance des pierres dessus, et pendant ce temps la communauté des utilisateurs passe la moitié de son temps à participer à une paranoïa sans fondement, pendant que l'autre moitié pleurniche sur des fonctionalités manquantes.

Vous devez manger, donc vous avez un vrai boulot, salarié. Vous n'êtes plus si jeune (commettant TrueCrypt depuis une décennie) et peut-être que votre vrai boulot amène des reponsabilités qui prennent le pas sur vos travaux en dilettante. Ou alors vous avez peut-être une famille que vous aimez plus que les geignards paranoïaques auxquels vous vous heurtez en développant TrueCrypt.

Et maintenant iSec vous annonce que votre code est illisible, et qu'il faudrait une somme ahurissante de travail pour le clarifier. Ils en déduisent qu'une session d'écriture de code arrosée au Scotch en 2005 (ou peut-être du code dont vous aviez hérité d'un développeur précédent) a donné lieu à une béance exploitable, que bientôt tout le monde qualifiera de porte dérobée installée par la NSA.

Alors peut-être que vous laissez tout tomber. Pourquoi pas ? Quiconque avec un système d'exploitation à jour dispose d'une alternative à TrueCrypt et, aussi imparfaite soit-elle, elle est meilleure que TrueCrypt pour la majorité des utilisateurs. [3] Maintenir TrueCrypt n'est pas vraiment bénéfique pour beaucoup de personnes, et l'audit en question n'a fait que remonter la partie la moins intéressante de la maintenance en priorité de premier ordre. On dirait que c'est le bon moment pour tout arrêter et devenir l'entraîneur de foot de vos enfants. »

Liste d'applications pour Android

lundi 12 mai 2014 à 16:00

Parce qu'il n'y a pas de raison que les gusses de chez Google et leurs clients auxquels ils vendent mes données soient les seuls à savoir tout ce que j'ai pu installer sur mon téléphone pseudo-intelligent : voici ma sélection d'applications pour Android.

F-Droid

D'abord, il faut installer F-Droid, le répertoire d'applications certifiées opensource.

F-Droid

Pour l'installer, télécharger l'APK. Comme ce n'est pas une application installée par la logithèque Google Play, il faut autoriser l'installation d'applications issues de sources inconnues, dans les Paramètes de Sécurité.

Autoriser l'installation d'applications issues de sources inconnues

Une fois l'application lancée, ne reste plus qu'à installer les applications qui vous font de l'œil.

N.B. Autoriser l'installation d'applications issues de sources inconnues peut être vu (à raison) comme un manque de sécurité entourrant F-Droid. Même si je n'ai pas essayé la chose, il serait possible de contourner le problème : installer F-Droid comme application système (/system/app mover semble indiqué pour cela).

Mise à jour du 30 août 2014 : ça fonctionne, mais je n'ai pas encore pu tester la mise à jour de l'application elle-même.

Jeux

Messagerie

Envoyé depuis mon téléphone produit par l'exploitation du prolétariat chinois, pour le compte d'une corporation multinationale faisant de l'évasion fiscale. Excusez la brièveté.

Utilitaires

À propos de moi

DISCLAIMER: This open source project allows you to download the code that powered version 2.21 of the application. Subsequent versions contain Google-specific workflows that are not part of the project.

Mise à jour du 30 août 2014 : je suis retourné au noyau par défaut, Omni ROM intègre maintenant la possibilité d'activer la barre de navigation depuis les paramètres (menu Boutons).

GPS

Inutiles

**Mise à jour du 30 août 2014 : j'utilise depuis peu Clover, qui fonctionne bien même si elle est parfois un peu capricieuse."

Google Play

Si comme moi vous avez une ROM non-officielle (OmniROM dans mon cas), il vous faudra installer les applications propriétaires de Google (Google Apps, ou GApps) pour installer les applications qui suivent.

Google Play Store

La documentation de CyanogenMod fait autorité en la matière, rendez-vous à la bonne page adresse, déterminez la version des GApps dont vous avez besoin en fonction de votre version d'Android, téléchargez l'archive comme bon vous semble, puis installez-la depuis le Recovery. Ledit paquet est minimal et n'installe que très peu d'applications made in Google.

Pour maintenir lesdites GApps à jour, installez GooManager, disponible sur Google Play.

GooManager

Si vous utilisez OmniROM comme moi : dans les paramètres de l'application, changez le chemin de téléchargement par défaut pour /storage/sdcard0/OpenDelta/FlashAfterUpdate, l'archive sera réinstallée après chaque mise à jour, évitant de malencontrueuses disparitions. C'est évidemment dispensable.

Jeux

Pixel Dungeon

Messagerie

* TextSecure, une application de messagerie sécurisée

Mise à jour du 30 août 2014 : je suis retourné à l'application SMS par défaut.

Utilitaires

Inutiles

Hors répertoires

FlashAfterUpdate zips

À quoi ça ressemble

All glory to Sigourney Weaver !