PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Influence PC : Synchroniser ses contacts, calendrier, notes et dossiers sur Ubuntu Phone

vendredi 3 juillet 2015 à 01:10

Que diriez vous de regrouper au sein d’un unique contact les mails, adresses et téléphones d’une même personne, que cela soit sauvegardé pour résister aux vols et aux pannes, tout en vous permettant d’y accéder depuis n’importe quel terminal ?

La réponse à cette question est le protocole HTTP « WebDAV ». Avec lui vous pouvez synchroniser fichiers, contacts (CardDAV), calendriers et mémos (CalDAV) : en d’autres mots il est trivial de se substituer à Dropbox, Gmail et Evernote si vous souhaitez posséder vos données.

Chapitre 1 – Choisir votre logiciel et votre hébergement de serveur

Cet article ne peut pas traiter le sujet en totalité, cette partie est par ailleurs très largement renseignée sur le Net : ownCloud (en PHP) et Cozy Cloud (en NodeJS) sont deux logiciels libres renommés qui implémentent WebDAV en entier.

En vous baladant sur leurs sites, vous trouverez la complexité qui vous convient, allant de la création d’un compte au téléchargement du logiciel. Libre à vous de trouver un hébergement, de louer un serveur ou de monter une infra chez vous !

Chapitre 2 – Configurer votre Ubuntu Phone

Si vous n’avez pas encore d’Ubuntu Phone mais que vous êtes familier avec la ligne de commande d’Ubuntu pour ordinateur de bureau, j’ai une bonne nouvelle : il y a un terminal et tout ce que vous avez l’habitude de trouver dedans !

Les développeurs d’Ubuntu Touch ont eu l’excellente idée de faire reposer le carnet d’adresses et le calendrier sur un backend standard : SyncEvolution ! Bien que l’absence d’interface graphique pose une barrière, il est tout à fait possible de la contourner.

Étape 1 : Il faut avant tout obtenir un accès console. Deux possibilités. Soit vous êtes sur Ubuntu pour ordinateur de bureau :

sudo apt-get install phablet-tools

Sur votre téléphone allez dans Paramètre système / À propos de ce téléphone / Mode développeur et activez-le. Puis :

sudo phablet-shell

Sur votre téléphone allez dans Paramètre système / Wi-Fi / votre réseau. Appuyez dessus afin que l’IP s’affiche.

ssh phablet@ip-de-votre-telephone

Depuis le téléphone, vous aurez besoin de monter votre système complet en écriture pour la suite :

sudo mount /dev/loop0 / -o remount,rw

Soit vous n’avez pas du tout accès à un ordinateur sous Ubuntu, vous pouvez vous en sortir avec l’application Terminal du Magasin Ubuntu. Cela risque d’être fastidieux, mais sachez que l’icône orange permet de changer entre des palettes de raccourcis claviers !

Étape 2 : Si le fournisseur de services que vous avez choisi est protégé par un certificat auto-signé, téléchargez-le dans la mémoire de votre téléphone (par exemple dans le dossier Documents). Vous pouvez le trouver depuis la barre d’URL de votre navigateur. S’il porte l’extension .pem, veillez à le renommer en .crt. Gardez bien le câble connecté.

Dans la console du téléphone, procédez comme il suit pour activer votre certificat auto-signé :

sudo mv /home/phablet/Documents/votre-certificat.crt /usr/share/ca-certificates
sudo dpkg-reconfigure ca-certificates

Une interface interractive va se présenter à vous, il suffit de vous laisser guider et de n’activer que votre certificat qui devrait porter le numéro 1. Tout a l’air de bien de passer jusque là non ?! :)

Étape 3 : Vous allez à présent remplacer uniquement ce que j’ai tapé en majuscules concernant votre site de synchronisation (l’exemple est donné pour ownCloud, facilement adaptable) :

syncevolution --keyring=no --configure --template webdav username=IDENTIFIANT password=MOT_DE_PASSE syncurl="URL_RACINE_DU_SITE" target-config@owncloud
syncevolution --configure --template SyncEvolution_Client sync=none syncURL=local://@owncloud username= password= peerIsClient=1 owncloud
syncevolution --configure database=https://URL_RACINE_DU_SITE/remote.php/carddav/addressbooks/IDENTIFIANT/CARNET backend=carddav target-config@owncloud contacts
syncevolution --configure sync=two-way backend=contacts database="Personnel" owncloud contacts

Le paramètre database de la dernière commande est traduit selon la langue du téléphone et il faut le deviner ! Persönlich en allemand, Personale en italien, etc. J’avais essayé autre chose initialement mais cela m’a posé problème, il semble qu’on puisse aussi le laisser vide sans guillemets. Votre téléphone ne dispose que d’une seule base par défaut.

Vous aurez remarqué que la synchronisation est bidirectionnelle, je vous conseille de supprimer tous les contacts de votre téléphone à partir d’ici. L’heure de vérité a sonné :

syncevolution --sync slow owncloud contacts

Vous me devez à présent une bière blanche bien fraîche ! Jouons pour une pinte avec la synchronisation du calendrier :

syncevolution --configure database=https://URL_RACINE_DU_SITE/remote.php/caldav/calendars/IDENTIFIANT/CALENDRIER backend=caldav target-config@owncloud calendar
syncevolution --configure sync=two-way backend=events database="Personnel" owncloud calendar
syncevolution --sync slow owncloud calendar

Pour la synchronisation des notes / mémos / tâches / todo, cela passe habituellement par la même URL que le calendrier. Je n’ai rien trouvé sur le Net, en tout cas il ne semble pas y avoir d’application Note capable de lire ce qui est pourtant là !

Étape 4 : Automatiser ces deux commandes avec crontab requiert un petit trick, sans quoi rien ne se passe. Créez un script bash :

nano /home/phablet/syncevolution.sh

Ajoutez les lignes suivantes et refermez avec Ctrl+X suivi de Y et Entrer :

#!/bin/sh
export DISPLAY=:0.0 
export DBUS_SESSION_BUS_ADDRESS=$(ps -u phablet e | grep -Eo 'dbus-daemon.*address=unix:abstract=/tmp/dbus-[A-Za-z0-9]{10}' | tail -c35)
syncevolution owncloud contacts
syncevolution owncloud calendar
exit 0

Rendez à présent ce fichier exécutable, puis ouvrez l’éditeur de tâches planifiées :

chmod +x /home/phablet/syncevolution.sh
sudo crontab -u phablet -e

Ajoutez la ligne suivante et refermez avec Ctrl+X suivi de Y et Entrer :

0 0,6,12,18 * * * sh /home/phablet/syncevolution.sh >/dev/null 2>&1

Vous pouvez modifier la fréquence bien que quatre fois par jour me semble suffisant. La fin de ligne envoie les logs dans le vide au lieu de les stocker et n’envoie pas de mail.

Étape 5 : Pour aller plus loin, il serait possible de synchroniser en WebDAV le répertoire /home/phablet/Pictures où les photos sont enregistrées, ou tout autre dossier de votre choix, avec le programme davfs2 :

sudo apt-get install davfs2

Je ne suis pas allé plus loin mais le tuto donné sur le lien davfs2 juste au dessus devrait vous être utile.

La parenthèse douloureuse qui a duré deux ans

J’avais acheté un Firefox OS Phone pensant que Mozilla ferait de la vie privée leur priorité (marketing), résultat :

Chapitre 3 – Configurer votre client mail de bureau Thunderbird

L’intérêt venant du partage des contacts entre plusieurs terminaux, je vous invite à poursuivre vos recherches en fonction de ce que vous utilisez pour lire vos mails. Si vous utilisez un Webmail libre, il se peut qu’une option de synchronisation vous soit offerte, le protocole proposé sera avec une quasi-certitude WebDAV.

Il existe deux extensions pour le client lourd Thunderbird. D’abord Lightning, l’extension calendrier et todo par excellence :

LightningLightning2

Puis l’extension SOGo Connector qui nécessite Lightning et qui ajoute la possibilité d’importer des carnets de contacts CardDAV. Les contacts se présentent et s’utilisent ensuite comme d’habitude.

Une dernière astuce : ces extensions enregistrent le mot de passe demandé à la première connexion. Si vous avez plusieurs identifiants sur le même serveur (par exemple, un calendrier partagé et un perso), préférez des URL contenant les identifiants :

http://utilisateur:mot_de_passe@domaine.tld/...

Mes sources

Gravatar de Influence PC
Original post of Influence PC.Votez pour ce billet sur Planet Libre.

Romaine Lubrique : À Turin, c'est en flash mob qu'on fait la fête au domaine public !

jeudi 2 juillet 2015 à 23:47

En Italie, l'entrée dans le domaine public, ça se joue, ça se chante et ça se danse...

Performance à la bibliothèque universitaire

Imaginez : vous êtes jeune étudiant turinois au Politecnico, vous serez vraisemblablement ingénieur ou architecte plus tard, et vous vous appliquez à réviser pour vos examens imminents. Vous vous êtes installé à une des nombreuses tables de la bibliothèque. Le silence règne. Quand tout à coup....

De la musique, des textes déclamés, de la danse : un groupe d'une dizaine de jeunes gens offre aux yeux médusés de l'assistance un mini spectacle haut en couleurs, là, au beau milieu de la bibliothèque. Vous échangez des regards interrogateurs avec les autres étudiants, personne ne semble au courant de cette performance inopinée.
La joyeuse troupe se disperse bientôt, redonnant à la bibliothèque son silence habituel. Vous vous demandez si vous n'avez pas rêvé cet étrange moment. Mais non ; vous voyez sur les tables de la bibliothèque un petit fascicule présentant les auteurs (dramaturges, compositeurs, romanciers) que ce spectacle éclair a voulu fêter. Des auteurs tout récemment entrés dans le domaine public.

Vous venez d'assister à une « flash mob du domaine public » !

Domaine public et arts vivants

Ce que cherche à faire la Romaine Lubrique, et ce dès l'origine, c'est de sensibiliser le plus grand nombre à la question du domaine public et de la myriade d'œuvres accessibles à tous qu'il recèle. C'est en ce sens que nous participons avec SavoirsCom1 au calendrier de l'avent du domaine public. C'est aussi et surtout en ce sens que nous avons organisé en janvier dernier le 1er Festival du Domaine Public.

La prestigieuse Université Politecnico de Turin, dans ses opérations de mise en valeur du domaine public, s'est posée la même question, et ce dès 2012 : comment montrer que ces œuvres libérées des droits patrimoniaux deviennent l'affaire de tous et constituent un bien commun ? Comment faire en sorte que l'entrée d'un artiste dans le domaine public devienne un « événement » pour le plus grand nombre ?

Et c'est là qu'intervient la Fondazione Teatro Nuovo et ses jeunes élèves, conviés par Nunzia Spiccia, bonne fée du domaine public à Turin et bibliothécaire au Politecnico. De cette collaboration [1] naît l'idée de performances dédiées aux auteurs nouveaux entrants du domaine public, qu'ils soient italiens ou étrangers : du théâtre, de la danse, de la musique, interprétées par surprise au cœur de la communauté étudiante de l'université.

Trois raisons à cette association vertueuse :

  • On le sait depuis l'antiquité grecque, il n'y a rien de mieux que les arts vivants et les performances en public pour convier les citoyens aux grandes problématiques de la cité ; et le domaine public en fait partie.
  • Ensuite, si les œuvres du domaine public peuvent être partagées par tous sur Internet, encore faut-il donner envie de les redécouvrir, et les performances permettent de leur donner vie et d'y donner accès de façon incarnée et partagée.
  • Et enfin, et surtout, si le domaine public est déjà et bien souvent au cœur des débats actuels des musées et des bibliothèques, il concerne tout autant, si ce n'est plus, les arts vivants. Il recèle des textes théâtraux à mettre en scène ainsi que des musiques dont les enregistrements peuvent être librement utilisés sans autorisation à demander : autant de matériaux dont peuvent s'emparer toutes les petites compagnies de danse, de théâtre ou de musique...

Flashmobs à foison

Et c'est bien ce qu'a compris Girolamo Angione, metteur en scène à la Fondazione Teatro Nuovo, qui a accueilli avec enthousiasme la proposition du Politecnico. Il a convié professeurs et élèves du lycée d'arts et spectacle Germana Erba à l'élaboration et à la réalisation de ces fameuses flash mobs.

Et c'est ainsi qu'à Turin surgissent sans crier gare depuis 2012 des flash mobs, non seulement au Politecnico mais également dans d'autres bibliothèques et lieux culturels de la ville.

Quelques exemples en lien vidéo :

  • Une chambre à soi, essai de Virginia Woolf (entrée dans le domaine public en 2012)
  • Le Chat et le diable, roman pour petits et grands de James Joyce (entrée dans le domaine public en 2012)
  • Aleko, opéra de Sergueï Rachmaninov sur un livret de Vladimir Nemirovitch-Dantchenko (entrés tous deux dans le domaine public en 2014)

Cette année, c'est l'initiateur du mouvement futuriste Filippo Tommaso Marinetti qui est entré dans le domaine public, le premier janvier dernier. Voici ce qui a été imaginé, dans la cour de l'Université de Turin, autour du manifeste Tuons le clair de lune.

Le but : célébrer l'œuvre d'un auteur et informer sur le domaine public. Après la performance, est distribué également un petit livret explicatif.

Par exemple Piero Martinetti, seul philosophe universitaire italien qui ait refusé de prêter le serment de loyauté envers le fascisme, est entré dans le domaine public en 2014. Il y eut donc une flash mob (cf image ci-dessus) mais également production d'un document d'une quinzaine de pages (cf image ci-dessous) avec QR Code renvoyant vers de récentes numérisations de ses œuvres réalisées par l'université.

En effet, le Politecnico se prépare en amont et en profite pour numériser des œuvres de nouveaux entrants afin de concrétiser la promesse d'accès du domaine public. Ainsi lorsque le rideau de la performance tombe, les œuvres de l'auteur en question sont tout de suite disponibles.

In the mood for the public domain !

Lors de notre séjour à Turin, nous avons eu le grand privilège de visiter le lycée Germana Erba, avec Girolamo Angione pour guide. Un très grand théâtre mussolinien, transformé par la Fondazione Teatro Nuovo en une école pas tout à fait comme les autres...

De gauche à droite : Nunzia Spiccia, Girolamo Angione et Véronique Boukali, dans les coulisses du Teatro Nuovo

Une salle de spectacle énorme, un vaste plateau, deux autres salles attenantes de répétition et de projection, anciens foyers du théâtre. Et au-dessus, ce qui faisait office de balcon pour la grande scène, a été transformé en un dédale de salles de classes. Ici, on y étudie les matières classiques, comme dans n'importe quel lycée, le matin, tandis que l'après midi, les élèves apprennent la danse classique et moderne, le théâtre, la danse et la scénographie.

Au détour des couloirs et des portes entrouvertes, on voit ici des petits rats en tutu enchaîner les entrechats et les pirouettes, là des apprentis comédiens répétant une scène... Fame en Italie !

Nous avons eu la chance de voir en exclusivité les répétitions de la flash mob dédiée à Glenn Miller (qui vient d'entrer dans le domaine public en janvier 2015) interprétée par des artistes en stage.

La performance a eu lieu le 22 mai dernier, dans le magnifique jardin de la bibliothèque municipale musicale A. Della Corte, mais nous étions hélas déjà de retour dans nos pénates.

Appel à participation : on se lance demain nous aussi dans des flash mobs du domaine public en France, par exemple lors de la prochaine édition du Festival du Domaine Public ?


[1] Depuis sont venus s'ajouter l'Université de Turin et le réseau des bibliothèques municipales de la ville.

Gravatar de Romaine Lubrique
Original post of Romaine Lubrique.Votez pour ce billet sur Planet Libre.

Articles similaires

Artisan Numérique : VIM, mes plugins indispensables

jeudi 2 juillet 2015 à 21:14

Un VIM qui vient d'être installé, c'est assez déroutant, limite intimidant. Tout le monde vous parle de sa puissance et au premier lancement on se retrouve avec un étrange machin noir et blanc.

Nous avons vu dans un précédent article comment configurer son VIM pour qu'il commence à réagir dans le sens d'un éditeur moderne (coloration syntaxique, etc.). Nous avons aussi vu comment installer des plugins pour ajouter les fonctionnalités que l'on désire. Reste maintenant à voir quels plugins ajouter.

Préambule

Dés plugin pour vim, il y en a des littéralement des milliers, pour tous les goûts et tous les usages. Cependant il y a en a certain qui sont difficile à éviter tellement il font partie intégrante de l'écosystème VIM. Ce sont ces plugins que je me propose de vous faire rapidement découvrir.

Nerdtree

Nerdtree est donc LE gestionnaire de fichier de VIM. Une fois le plugin installé, le panneau s'active simplement par :NERDTreeToggle. Le déplacement se fait comme d'hab au clavier avec quelques trucs bien utile (ceux là même qui me manquaient avec Atom) comme U pour remonter la racine d'un cran, ou C pour définir la racine à la position du curseur. Il est aussi possible d'appliquer des opérations (copier, renommer, etc) via la touche m.

Je vous laisse éplucher la doc, NerdTree est gavé d'options jusqu'à la possiblité de créer des plugins qui lui sont dédiés. A propos de plugin, essayez au passage NERDTree Git Plugin qui permet d'ajouter à l'arbre les états associés au dépôt git.

Fuzzyfinder

Un autre indispensable est fuzzyfinder. Ce plugin permet de rechercher rapidement des "choses" de manière partielle. Par exemple la commande :FufBuffer affiche en popup la liste des buffers et en tapant quelques lettres et éventuellement des jockers (ex. */toto) permet d'en sélectionner un. À noter que c'est fait de manière intelligente en triant les buffers par age antéchronologique d'accès. Et comme le premier buffer est sélectionné par défaut, cela permet de basculer très rapidement entre deux buffers.

Mais les "choses" ne s'arrêtent pas là, FuzzyFinder permet aussi de chercher dans les fichiers et sous fichiers du dossier en cours (commande :FufFile), ou encore dans les symboles du fichier en cours (commande :FufBufferTag). Ce dernier mode fait usage de la commande ctags qui analyse un fichier et fournit ses symboles (classes, fonctions, variables, constantes, etc.).

Là je parle des 3 modes que j'utilise constamment, mais si vous lisez la doc, il y en a encore beaucoup d'autres (fichiers récemment ouverts, aide, commandes, etc, etc...). Un plugin très complet qui nécessite cependant l'installation d'un plugin "librairie", l9 pour fonctionner.

Alors j'en entends qui vont dire que FuzzyFinder n'est pas le plus récent des plugins du genre. Oui, je sais, mais lui, il fonctionne très bien et j'aime beaucoup sa manière de fonctionner. Après CtrlP est pas mal non plus, il en faut pour tous les goûts.

Fugitive

A classer dans la catégorie "grosse tuerie", Fugitive est un wrapper autours de la commande GIT permettant littéralement de tout faire à partir de VIM. A découvrir impérativement.

Tagbar

Tagbar est aux symboles ce que NerdTree est aux fichiers. Pour peux que le code sur lequel vous travaillez soit reconnu par ctags, tagbar va pouvoir l'analyser et vous afficher un beau panneau de navigation, bien plus sympa que le Symbol Tree View d'Atom (MTCO évidemmment ;-). Mais surtout tagBar ne s'arrête pas à ctags et va par exemple exploiter, s'il est installé, jsctags, le ctags spécial javascript qui utilise le moteur d'analyse tern.

Jettez un oeil au wiki de tagbar qui indique comme analyser au mieux une belle palette de langages.

Syntastic

Par le même auteur que NERDTree, Syntastic va analyse votre code source à la recherche de boulettes. Pour cela il s'appuie sur une large collection de wrapper autours d'outils spécialisé pour chaque langage (php -l pour php, jshint pour Javascript, etc). Et lorsqu'il en détecte une belle, il vous affiche cela dans l'éditeur.

ultisnips

Ultisnips est le meilleur (à mon avis ;-) moteur de snippets pour VIM en ce moment. En tout cas il détrone largement SnipMate en fonctionnant en tout circonstance, y compris sur les sélections visuelles. Certains lui reprocheront cependant sa dépendance Python. Personellement cela ne me pose que peu de problème. Les snippets, on leur demande qu'une seul chose, d'être présentes en toute circonstance et d'être facilement extensibles. Et c'est bien le cas ici avec un fichier de snippet par type de document et une reconnaissance automatique des nouvelles snippets ajoutées dés leur sauvegarde.

YouCompleteMe

Alors ça aussi c'est du lourd. YouCompleteMe est un moteur d'autocomplétement de code super rapide et qui fonctionne au fur et à mesure de la frappe. Pour des langages comme C/C++, il se base sur CLang. pour Python, sur jedi, sur Omnisharp pour C#, sur GoCode pour la langage GO et sur les fonctions OmniFunc pour le reste.

Pour Javascript, je vous conseille du coup d'installer Tern for VIM pour gagner une fonction OmniFunc bien plus efficace que celle de VIM.

En en vrac...

  • delimitMate pour automatiquement fermer accolades, parenthéses et autre guillemets,
  • colorizer pour ne pas rester en reste sur Atom et son plugin Pygment. Colorizer va ainsi détecter les codes de couleur dans votre source (ex. #FF00FF) et automatiquement coloriser le fond en accord.,
  • matchit qui permet de naviguer facilement d'une accolade à l'autre, d'un tag à a sa fermeture de tag, etc,
  • NerdCommenter (oui, toujours par l'auteur de NerdTree :-) pour tout commenter/décommenter en deux secondes, avec reconnaissance automatique du langage,
  • Tabular pour toute aligner proprement,
  • nextval qui permet d'incrémenter/décrémenter absolument tout, de l'entier décimal à la valeur booléenne. Vous placez votre curseur sur False, une touche, est c'est maintenant 'True'. C'est con mais tellement pratique.
  • surround, par l'auteur de Fugitive, qui permet d'entourez les expressions. Vous voulez par exemple ajouter un paragraphe autours d'un bloc de texte, très simple, vous le sélectionnez visuellement et vous faites S et zouh, c'est bouclé.

Conclusion

Voilà en tout cas les plugins qui consituent mon quotidien. J'espère que cela vous aura fait découvrir quelques pépites et dans tous les cas, n'hésitez pas à me faire découvrir les votres :)

Tweet

Gravatar de Artisan Numérique
Original post of Artisan Numérique.Votez pour ce billet sur Planet Libre.

Articles similaires

Romaine Lubrique : Jenny Everywhere, première super-héroïne du domaine public

mercredi 1 juillet 2015 à 17:01

Les super-héros ont de super-pouvoirs, mais ils ne peuvent généralement rien contre ceux, autrement plus puissants, du droit d'auteur. Sauf lorsque l'on s'appelle Jenny Everywhere, étonnant premier personnage libre de l'histoire de la BD.

Peut-on retrouver Superman, Batman, Spider-Man, Iron Man et Wonder Woman, individuellement ou tous réunis dans la nouvelle BD d'un jeune dessinateur fan de comics américains ? Non, strictement interdit [1]. Impossible de les inclure, ou même les mentionner, sans avoir à faire aux ayants droit et aux producteurs de l'industrie culturelle.

Il n'y a plus qu'à attendre qu'ils entrent dans le domaine public [2]. Pour Batman, par exemple, cela adviendra le 1er janvier 2069, soit 70 ans après la mort de son créateur Bob Kane. On doit alors se résigner à prendre bien sagement son mal en patience (et garder une bonne santé dans l'intervalle).

Une seule exception notable, mais quelle exception ! L'intrépide et indépendante Jenny Everywhere, qui a su dès sa naissance prendre son destin (juridique et créatif) en main...

La genèse de Jenny

Jenny Everywhere nous vient d'Internet [3]. Elle est née en 2002, sur le forum BD anglais Barbelith, d'une volonté de se créer un personnage commun, dans la pure tradition des super-héros dotés de super-pouvoirs et de quelques invariants graphiques immédiatement identifiables.

On doit au dessinateur de comic canadien Steven Wintle d'en avoir eu l'idée. Fruit d'un brainstorming collectif, il résume ainsi ses caractéristiques post-concertation dans un message du 13 août 2002, désormais date anniversaire de Jenny Everywhere. « D'un naturel souriant, elle a de courts cheveux noirs, un profil avenant et une taille ordinaire. Vêtue d'habits confortables, elle porte habituellement des lunettes d'aviateur au dessus de sa tête et une écharpe autour du cou. Elle a du charisme, de la confiance en elle et se montre passionnée, curieuse et attentive aux autres. Son plat préféré ? Le pain toasté. Elle a très certainement des origine asiatiques ou amérindiennes. » Et il ajoute pour préciser : « Ce serait comme si Tintin écoutait le groupe punk féministe Le Tigre en rejoignant les Quatre Fantastiques ».

Avec ces quelques informations, elle pourrait ressembler à ça...

...ou encore à ça (son mets préféré entamé à la main).

En fait elle ressemble à ce que tout artiste qui veut bien la dessiner a en tête sur le moment. Griffonnez-là comme bon vous semble, là, tout de suite, sur votre coin de table et, pouf, elle existera.

C'est d'ailleurs ce qu'a fait Steven Wintle avec cet historique tout premier portrait de Jenny Everywhere posté dans la foulée [4].

« Tous droits reversés » est son super pouvoir

Tout super-héros a de super-pouvoirs. Celui de notre super-héroïne Jenny Everywhere est très original et particulier : elle est insaisissable par l'Empire du Copyright dont elle brise instantanément les chaînes. Impossible de la privatiser, elle n'appartient à personne, elle appartient à tout le monde, puisqu'entrée dès sa naissance dans le domaine public.

En effet, peut-être avez-vous remarqué que les deux dessins précédents étaient accompagnés d'un petit texte qui doit invariablement être présent quelque part lorsque Jenny apparaît :

The character of Jenny Everywhere is available for use by anyone, with only one condition. This paragraph must be included in any publication involving Jenny Everywhere, in order that others may use this property as they wish. All rights reversed.

C'est ici que tout se joue. Son super-pouvoir tient en fait à la simple permutation des deux lettres « s » et « v » du « all rights reserved » pour obtenir « all rights reversed ». Bien plus qu'un brillant petit jeu de mots potache : un choix et un acte absolument décisifs.

Tel est le coup de génie de ses créateurs qui voulaient tous pouvoir l'utiliser à leur guise : avoir imaginé un personnage totalement libre d'apparaître dans n'importe quelle publication pourvu qu'on conserve cette mention la protégeant de toute tentation d'appropriation exclusive. Tous les droits sont illico reversés... au public ! Jenny Everywhere est le premier personnage anti-copyright de l'histoire de la BD, ou, pour le dire plus positivement, le premier personnage copyleft-open-source-domaine-public-bien-commun de l'histoire de la BD.

À l'époque, les licences Creative Commons n'existaient pas (ou presque) mais elles n'auraient pas forcément été choisies parce que, oui je sais c'est troublant, Jenny Everywhere n'a pas d'auteur ou, dit autrement, elle a autant d'auteurs que ceux qui veulent bien un jour la dessiner. Steven Wintle et ses acolytes se sont volontairement effacés. On peut véritablement parler de premier personnage du domaine public consenti.

À partir de là elle est donc potentiellement susceptible de se retrouver partout, s'immiscant dans n'importe quelle BD qui veut bien l'accueillir. D'où son nom (et son surnom « The Shifter »). En conséquence de quoi elle a le don d'ubiquité, est multi-dimensionnelle, voyage en clin d'œil dans l'espace et dans le temps et s'adapte avec une déconcertante facilité à toutes les situations. Jenny est en fait moins un personnage que l'idée de son personnage. Chaque matérialisation de Jenny est une sorte d'avatar de cette idée.

Au passage on renverse également ici complètement la notion de « marque ». Notez aussi que tout créateur qui utilise Jenny reste maître du choix global de son droit d'auteur. Sa BD peut tout à fait rester « tous droits réservés » si tel est son désir. Mais si Jenny est dedans alors la fameuse mention doit être présente, garantissant que Jenny n'y reste pas enfermée et est libre de poursuivre sa route ailleurs.

Du coup, Jenny est vraiment partout !

Le personnage et son drôle de concept ont plu aux dessinateurs. La liberté offerte et la magie d'Internet ont fait le reste.

Des centaines de Jenny diverses et variées ont depuis vu le jour, justifiant a posteriori pleinement son nom ! Et, vous allez continuer à vous en rendre compte, la qualité est au rendez-vous. Pour une fois qu'on peut réutiliser un personnage sans craindre les foudres, non pas de Flash Gordon mais du copyright, on ne va pas s'en priver...

Jenny Everywhere n'a pas de site officiel [5] (puisqu'elle est partout qu'on vous dit) mais TheShifterArchive tente de dresser une liste à jour de ses toujours plus nombreuses apparitions. Vous en avez déjà eu un bref aperçu, poursuivons notre (toute) petite sélection avec deux exemples illustrant sa capacité à traverser l'espace-temps et à se fondre, tel un caméléon, dans son nouvel environnement du moment [6].

Quelques autres portrait-affiches...

Pour rappel, le toast est son péché mignon.

Mais le plus intéressant c'est évidemment de la retrouver dans une foultitude de BD, qu'elle soit héroïne principale ou simple figurante (rappelons qu'elle a le pouvoir d'arriver inopinément dans n'importe quelle histoire).

Côté langue française, malheureusement pas grand chose à se mettre sous la dent pour le moment, si ce n'est deux traductions (merci Florian R. Guillon) : Sur le divan et Le changement dernier.

Mais qui sait si cet article ne va trouver un petit écho et faire des émules francophones ? [7]

Au fait, pourquoi se cantonner à la BD lorsque l'on peut s'incarner en LEGO...

...ou en chair et en os ! [8]

Jenny a de nouveaux amis

Et pourquoi s'arrêter là ? Joyeux effet collatéral du « all rights reversed », d'autres personnages sont venus au fil du temps accompagner la pionnière Jenny Everywhere. Ils s'amusent tous avec le sens des pronoms indéfinis de lieu de la langue anglaise (no, some et any étant moins « forts » que every-where). Ils sont bien évidemment eux aussi dans le domaine public.

Il y a tout d'abord la redoutée Jenny Nowhere, qui est en quelque sorte le double négatif de Jenny Everywhere, son antagoniste primaire, le yin de son yang. Elle n'apparaît que si Jenny Everywhere se trouve déjà quelque part dans l'histoire. Volontairement aucune consigne n'est donnée quant à ses caractéristiques graphiques.

Quant à la copine Jenny Anywhere, elle est plus fashion victim que sa matrice mais ne peut que se téléporter dans l'espace et non dans le temps.

On trouve aussi l'imparfaite Jenny Somewhere qui est un clone non abouti de Jenny Everywhere.

Elle peut se téléporter dans l'espace et dans le temps mais n'est pas capable de prévoir sa destination. Elle arrivera certes quelque part, mais où et quand exactement ?

Et un dernier pour finir en beauté, le petit ami : Jimmy Wherever.

Il est décrit comme un blond et dégourdi étudiant journaliste canadien. Contrairement à Jenny Everywhere, c'est le pain non toasté qu'il préfère (comprendre le pain cru !). Il n'a pas de super-pouvoirs mais peut accompagner Jenny dans ses téléportations s'il lui tient fort la main (c'est t'y pas mignon).

Il n'y a pas de création sans droit d'auteur ?

Voilà. Exception qui confirme la règle du droit d'auteur ou archétype qui préfigure les nouveaux modes créatifs de demain ? BD, romans, musiques, films... Jenny Everywhere est en tout cas à votre entière mais non exclusive disposition, si vous respectez la consigne, c'est-à-dire sa libre indépendance. Et de poursuivre alors, d'une oeuvre à l'autre, d'un espace-temps à l'autre, son imprévisible histoire...

On nous répète ad nauseam que le droit d'auteur protège et favorise la création. Et d'ailleurs, voir image ci-dessus, on était même allé jusqu'à créer en 2006 un super-héros dédié à cela : Captain Copyright ! De l'autre côté du spectre, l'existence plurielle de Jenny Everywhere n'est pas là pour nous prouver le contraire. Mais elle témoigne qu'une absence de droit d'auteur peut aussi être une formidable source d'énergie créative.

Elle est libre Jenny. Elle est libre Jenny.
Y'en a même qui disent qu'on l'a vue partout...


Vous souhaitez ardemment à votre tour dessiner Jenny mais vous vous dites que vous n'êtes pas assez doué(e) ? Nous avons un lien magique pour vous, celui d'un billet blog qui propose en téléchargement l'intégralité des fascicules du mythique cours par correspondance Famous Artist Cartoon Course. L'auteur du billet annonce que ces documents sont, croit-il, dans le domaine public. Nous n'en sommes pas certain mais, dans le doute, ne vous abstenez pas ;)


[1] D'ailleurs, fichtre, même l'expression « super heroes » est une marque déposée !

[2] Remarque : La bande dessinée américaine étant née dans les années 1930, un certain nombres de super-héros des temps pionniers sont quand même déjà dans le domaine public. Certains sites les répertorient méthodiquement, par exemple ici ou .

[3] J'en profite pour souligner l'énorme taux d'erreurs 404 rencontrés lors des recherches pour cet article faisant référence à des pages et sites créés en 2002/2003. Il y a une véritable fragilité du Web à ce niveau-là.

[4] Un deuxième historique tout premier portrait de Jenny Everywhere croquée par Steven Wintle.

[5] Elle possède toutefois un compte Twitter ainsi qu'un article Wikipédia (mais pas encore en français, à bon entendeur...).

[6] Dans cette vidéo YouTube (oui, elle est aussi sur YouTube), vous pouvez voir une énième version de Jenny Everywhere se créer en temps réel sous nos yeux ébahis.

[7] Nous envisageons de proposer un « atelier Jenny Everywhere » lors de la prochaine édition du Festival du domaine public. Mais si vous souhaitez d'ores et déjà vous y mettre, rendez-vous sur The Shifter Archive pour déposer vos œuvres et n'hésitez pas à vous signaler dans les commentaires.

[8] On le retrouve aussi dans ce petit court métrage qui vaut ce qu'il vaut.

Gravatar de Romaine Lubrique
Original post of Romaine Lubrique.Votez pour ce billet sur Planet Libre.

Articles similaires

Goffi : Parlons XMPP - épisode 3 - le cœur et les extensions (suite)

mercredi 1 juillet 2015 à 14:16
(pour lire les épisodes précédents, suivez l'étiquette correspondante).
 
En plus de cette partie centrale, des fonctionnalités peuvent être ajoutées, d'où le X de XMPP (pour eXtensible).
 
Les extensions sont rédigées sous la forme de « XEP » (XMPP Extension Protocol), idée héritée — si je ne m'abuse — de Python. C'est de cela qu'on parle quand on voit les cryptiques XEP-0XXX dans les fonctionnalités gérées d'un serveur ou d'un client. Pas besoin évidemment de savoir cela pour utiliser un client XMPP, mais il peut être utile de lire une extension (elles se trouvent sur https://xmpp.org/xmpp-protocols/xmpp-extensions/) pour bien comprendre à quoi sert une fonctionnalité. Deux parties sont particulièrement utiles sans avoir à entrer dans les détails d'implémentation : la partie « abstract » (résumé) tout en haut qui indique ce que la XEP fait, et la section « introduction » (la toute première section) qui explique un peu plus les raisons et les cas d'utilisations de l'extension.
 
résumé de la XEP-0045
 
Une XEP peut décrire une fonctionnalité, une procédure (par exemple la XEP-0001 explique le cycle de vie des XEPs elles-mêmes), un héritage historique (c'est à dire le fonctionnement de quelque chose créé avant la XMPP Standard Foundation), une information (comme des bonnes pratiques), voire une blague (si si, y'a des histoires de toto dans les XEPs aussi !). Elle peut avoir plusieurs statuts (expliqués dans la XEP-0001, je ne sais pas s'il existe une version traduite en français quelque part). Il est intéressant de noter que beaucoup de XEPs sont « experimentales », et donc techniquement pas (encore) des standards, mais souvent implémentées tout de même. De telles XEPs peuvent changer fortement avant le passage au statut de « brouillon » (« Draft »), puis de standard final.
 
Pourquoi je vous parle de tout ça ? Pour que vous compreniez bien une chose: XMPP ce n'est pas que de la messagerie instantanée !
 
Voici quelques exemples d'extensions intéressantes:
 
  • Extended Stanza Addressing (Adressage de « stanzas » étendue, XEP-0033): permet d'envoyer un message à plusieurs destinataires à la fois, ou de faire des copies carbones ou des copies carbones invisibles (comme le … oui oui vous voyez où je veux en venir)
  • Multi-User Chat (Discussions multi-utilisateurs, XEP-0045): les discussions de groupes, à la IRC.
  • Ad-Hoc Commands (commandes de circonstance, XEP-0050): un système générique pour gérer tout type de commandes. Lié aux permissions des utilisateurs, c'est un outil absolument génial !
  • vcard-temp (Cartes virtuelles, version temporaire, XEP-0054): la façon historique de gérer des cartes de visites, une sorte de profil public. Une nouvelle extension va la remplacer à terme (la XEP-0292)
  • Jabber Search (Recherche Jabber/XMPP, XEP-0055): pour chercher des jid, utilisé en général par les annuaires.
  • Publish/Subscribe (Publication/Abonnement, XEP-0060): un très gros morceau, qui permet la publication de tout type d'information, et sa récupération en fonction de permissions, avec un système de notification en temps réel.
  • XHTML-IM (XEP-0071): pour publier avec un sous-ensemble de XHTML, c'est à dire avec une mise en forme (écrire en gras ou mettre une image par exemple).
  • Gateway Interaction (Communication avec les passerelles, XEP-0100): permet de gérer les passerelles, c'est à dire des liens avec des réseaux extérieurs
  • Personal Eventing Protocol (protocole d'événements personnels, XEP-0163): une sorte de Publish/Subscribe simplifié
  • Jingle (XEP-0166): Négociation de session pair à pair (P2P), avec un grand nombre d'applications possibles, la plus connue étant la visioconférence.
  • Serverless Messaging (Communication sans server, XEP-0174): permet, comme indiqué, de se passer des serveurs
  • Message Archive Management (gestion des archives des messages, XEP-0313): permet de récupérer des messages ou autre (ça fonctionne aussi avec publish/subscribe) selon certains critères comme une date. Utilisé notamment pour avoir votre historique de conversations sur votre serveur (et ainsi y accéder depuis tous vos clients).
 
Et dites-vous bien qu'on ne vient que de gratter la surface.
 
Plusieurs de ces extensions seront expliquées dans de futurs articles.
À noter aussi qu'on utilise souvent des noms courts pour désigner les extensions par exemple « MAM » pour « Message Archive Management ». Ces noms sont normalement indiqués en fin de XEP, dans les appendices (« Document information »): c'est le « short name » (nom court).
 
Avec toutes ces extensions, on va se retrouver avec des clients ou serveurs qui gèrent l'une ou l'autre, comment se mettre d'accord ? Eh bien grâce à une autre extension (mais tellement indispensable et couramment implémentée qu'on peut presque la considérer comme standard de base): « Service Discovery » (découverte de services, XEP-0030, nom court : « disco »)).
 
Le principe est simple, chaque client ou serveur ou composant (un composant est un service qui vient se greffer à un serveur, voir plus bas) dit qui il est, ce qu'il sait faire, ou les éléments associés.
 

qui il est

Une adresse XMPP (le jid) peut être utilisée par beaucoup de monde: un serveur, un client, un « bot » (robot, nom qu'on utilise pour un programme qui automatise des tâches, agissant souvent comme un client), une passerelle, etc.
 
Quand un client (ou autre) en voit une, il est utile de savoir à quoi on parle, par exemple pour afficher de telle ou telle façon dans l'interface (c'est grâce à cela que votre client peut afficher une passerelle d'une autre façon que les clients normaux).
 
C'est l'identité de disco qui permet ça, et elle donne une catégorie (par exemple « client » ou « serveur »), un type (dans client par exemple ça peut être « bot », « web », « game » — jeu —), et un nom libre (par exemple « ejabberd »). Vous avez une liste des différentes catégories et les types associés ici : https://xmpp.org/registrar/disco-categories.html.
 

ce qu'il sait faire

 
XMPP grâce à son côté extensible, est très riche en fonctionnalités, aussi il est indispensable de savoir ce que le logiciel avec lequel on discute est capable de faire. Ce sont les « features » (fonctionnalités) indiquées par disco, c'est pour cette raison que parfois quand vous discutez avec quelqu'un une icône est grisée, par exemple la visioconférence: cela indique que le client en face indique qu'il ne sait pas la faire, ou plus exactement n'indique pas qu'il sait la faire.
 
Ces fonctionnalités sont liées à des espaces de nommage (namespaces) qui sont indiqués dans les XEPs concernées, vous avez aussi une liste qui permet de retrouver une partie des XEPs depuis un espace de nommage ici : https://xmpp.org/resources/schemas.
 

les éléments associés

 
En plus de l'identité et des fonctionnalités disponibles, une entité XMPP peut avoir des éléments associés. Ce peut être un serveur qui indique que des salons de discussions sont disponibles à telle adresse, ou une passerelle vers tel réseau.

 

essayons

Pour que cela soit plus clair, prenons un exemple. « jp », l'interface en ligne de commande de Salut à Toi, permet d'obtenir le disco d'une entité avec la commande « jp info disco », essayons avec le serveur jabber.fr :
 
 
% jp info disco jabber.fr
Features:
 
http://jabber.org/protocol/commands
http://jabber.org/protocol/disco#info
http://jabber.org/protocol/disco#items
http://jabber.org/protocol/stats
iq
jabber:iq:register
jabber:iq:time
jabber:iq:version
msgoffline
presence
presence-invisible
urn:xmpp:time
vcard-temp
--
Identities:
 
ejabberd (server/im)
--
Extensions:
 
http://jabber.org/network/serverinfo
 
--
Items:
 
[chat.jabberfr.org]
[irc.jabberfr.org]
[j2j]
[presence.jabberfr.org]
[proxy.jabberfr.org]
[users.jabberfr.org]
 
 
On voit ici que jabber.fr sait gérer la version historique des vcards (vcard-temp, XEP-0054) ou les commandes ad-hoc (http://jabber.org/protocol/commands, XEP-0050), qu'on discute avec un serveur (server/im) qui s'appelle « ejabberd ». On voit également que plusieurs services sont disponibles, par exemple chat.jabberfr.org. Regardons de plus près :
 
% jp info disco chat.jabberfr.org
Features:
 
http://jabber.org/protocol/disco
http://jabber.org/protocol/muc
http://jabber.org/protocol/muc#unique
jabber:iq:browse
jabber:iq:last
jabber:iq:register
jabber:iq:time
jabber:iq:version
urn:xmpp:ping
vcard-temp
--
Identities:
 
Public Chatrooms (conference/text)
--
Items:
 
[...]
JabberFR (13) [jabberfr@chat.jabberfr.org]
[...]
 
 
On voit qu'on a affaire à un service de salons de discussions (conference/text), qui utilise le protocole « Multi-User Chat » (discussions multi-utilisateurs, http://jabber.org/protocol/muc), qui est à ce jour le seul disponible pour les discussions de groupes (nous y reviendrons). Les éléments « Items » contiennent ici la liste des salons, avec le nom, le nombre d'occupants, et le jid correspondant, j'ai tronqué la liste qui était très longue.
 
Dans les informations de jabber.fr, vous avez peut-être remarqué la section « extensions », il s'agit d'une XEP (la XEP-0128) qui permet d'étendre disco pour tout type d'informations, dans le cas d'ejabberd ici, c'est pour indiquer les adresses de contact du serveur, mais elles ne sont pas renseignées pour jabber.fr.
 
Ci-dessous, la fenêtre disco de Gajim:
 
disco chez Gajim
La première fois que j'ai essayé XMPP, avec Psi au début des années 2000, j'ai été un peu intimidé par le menu « service discovery », qui permet d'afficher quasi directement les informations que nous venons de voir. Ce genre de menu est souvent, à mon sens, affiché un peu trop « brut » dans les clients XMPP : utiliser disco directement (c.-à-d. en dehors de ce qui est automatisé par le client) relève déjà de l'utilisation avancée.
 
 
En bonus, je vais rapidement évoquer l'extension « software version » (version logicielle, XEP-0092) qui permet, comme son nom l'indique, de savoir à quel logiciel on parle, et le système d'exploitation utilisé. jp permet d'afficher ces informations avec « jp info version », essayons sur jabber.fr :
 
% jp info version jabber.fr
Client name: ejabberd
Client version: 2.1.13
Operating System: unix/linux 3.2.0
 
On connaît désormais la version d'Ejabberd utilisée, pratique quand on veut savoir si une fonctionnalité est présente, ou un bogue corrigé. Et cela fonctionne avec toute entité qui implémente la XEP, pas uniquement les serveurs:
 
% jp info version chat.jabberfr.org
Client name: MU-Conference
Client version: 0.9-svn (Jan 27 2014)
Operating System: Linux 3.2.0-4-amd64
 
Voilà, connaître les extensions permet de vraiment savoir ce qu'on peut faire avec un client ou un serveur. La prochaine fois je pense m'attaquer aux discussions de groupes, et voir ce qui change par rapport à IRC.

Gravatar de Goffi
Original post of Goffi.Votez pour ce billet sur Planet Libre.