# articles

feed_id: http://hoa.ro/article12/ta-page-charge-ce-n-est-pas-rassurant
title: Ta page charge, ce n'est pas rassurant
uri: Ta-page-charge-ce-n-est-pas-rassurant
url: http://hoa.ro/article12/ta-page-charge-ce-n-est-pas-rassurant
content:
<p>Cet article est une extension de "Ta page charge, ce n'est pas sale." chez <a href="http://www.hteumeuleu.fr/ta-page-charge-ce-n-est-pas-sale/" title="Ta page charge. Ce n’est pas sale.">hteumeuleu.fr</a>. Il explique avec justesse pourquoi les barres de chargement (et consorts) sont une mauvaise chose sur le web ; avec une certaine ironie d'ailleurs, puisqu'elles alourdissent les pages.</p>

<p>C'est tout à fait exact, bien sûr. Mais je voulais étendre la portée de ce billet parce que le web n'est plus seulement une agrégation de sites vitrines interconnectés. On construit aujourd'hui de véritables applications, sur le web. Bon, ça ne date pas d'hier, mais le mot ActiveX me donne des boutons...</p><p>L'auteur de l'article original nous explique qu'une page de chargement est plus frustrante qu'autre chose pour l'utilisateur qui n'a alors la main sur rien et ne peut qu'attendre. Et nous le savons, personne n'aime attendre. Encore moins lorsque l'on est sur Internet où tout va si vite.</p>

<p>En revanche, dans les métiers de l'informatique et des web applications en général, on est souvent confronté à des fonctionnalités qui sont leeeentes. Parfois même, la boutade qui dit qu'on aurait le temps d'aller chercher un café en attendant... n'en est pas une. Ce problème trouve sa cause dans une pléiade de possibilités : fonctionnalité mal codée, non optimisée ; la demande farfelue d'un client ; des serveurs surchargés ; un poste client inadapté ; une sollicitation trop importante du réseau ; etc.</p>

<p>Mais là, <strong>c'est le drame</strong>. Le client qui vous paie, cher, n'admettra jamais que l'export PDF sa base de données de 2Go soit aussi lent. Il voit son navigateur mouliner dans la semoule, pendant 1 minutes, puis 2. Et puis, il se dit que ça a planté alors il recommence. Et il recommence à nouveau sur l'ordinateur de son collègue pour vérifier que ça ne vient pas du sien. Et là, gagné, c'est le serveur qui lâche.</p>

<p><center><img src="media/bf2857d2.not-sure.jpg" data-original-source="http://hoa.ro/data/images/memes/not-sure.jpg" alt="not-sure.jpg" title="not-sure" /></center></p>

<p>C'est un cas extrême, d'accord. Vous allez me dire qu'on n'aura jamais à implémenter une fonctionnalité pareille dans une webapp. Mais quoiqu'il en soit, vous aurez toujours des actions lourdes à faire, qui prendront du temps. Un exemple plus réaliste : l'import OPML dans le <a href="https://github.com/mitsukarenai/Projet-Autoblog" title="">projet Autoblog</a>.</p>

<p><em>Alors comment éviter ces comportements, frustrer les utilisateurs et ramasser des anomalies qui n'en sont pas ?</em></p>

<p>La réponse est l'inverse de ce qu'y est écrit dans l'introduction : les <strong>barres de chargements</strong> ! Elles animent la page charge. Elles permettent à l'utilisateur de suivre l'avancement. Elles permettent surtout de constater l'application ne nous a pas lâché, et qu'elle continue à faire son job.</p>

<p>Ca ne s'applique pas qu'au web d'ailleurs. Qui attend 5 minutes en voyant : <em>L'application Windows.exe ne répond pas.</em> ? Qui tue une application en voyant une barre de chargement avancer ?</p>

<p>Eh oui. Une page qui charge, ce n'est pas sale. Mais une barre de chargement, c'est rassurant. Utilisez-les avec parcimonie et intelligence, sur des fonctionnalités qui sont susceptibles d'être lourdes, vos utilisateurs seront ravis.</p>

<p>PS : Si jamais la cyber-psychologie est une discipline, je crois que ce billet en est !</p>


feed_id: http://hoa.ro/article10/privacybox-ferme-ses-portes
title: PrivacyBox ferme ses portes
uri: PrivacyBox-ferme-ses-portes
url: http://hoa.ro/article10/privacybox-ferme-ses-portes
content:
<p>PrivacyBox est un service en ligne allemand qui permet d'autoriser ses utilisateurs à être contacté de manière complètement anonyme. Je l'utilisé d'ailleurs dans ma page de contact. Malheureusement, après 5 années des bons et loyaux services, PrivacyBox nous annonce qu'il va disparaître ; encore un, parmi les bons.</p>

<p>Parce que je pense qu'il est important de toujours laisser la possibilité de l'anonymat, je vais remplacer ce service par un simple formulaire, faute de mieux.</p><p>Voici ce qu'on peut lire sur le site de <a href="https://privacybox.de/" title="Pricacy Box">PrivacyBox</a> - j'ignore depuis combien de temps et pour combien de temps :</p>

<pre>PrivacyBox est désormais en fin de vie

Le service PrivacyBox a été lancé en 2008 par la German Privacy Foundation 
e.V. (GPF) et a réuni de nombreux utilisateurs depuis lors. Aujourd'hui 
l'outil est dépassé, à la fois techniquement et conceptuellement.

Pour le moment la GPF ne prévoit pas de développer une nouvelle version. 
Il n'y a pas encore de date fixée pour la fermeture du service PrivacyBox, 
mais nous vous informerons suffisamment à l'avance. Malheureusement, 
nous ne pouvons plus répondre aux demandes de support.

Nous voulons remercier tous les utilisateurs de PrivacyBox pour leur 
confiance, et nous excuser pour la gêne occasionnée.</pre>

<p>(traduction rapide et approximative)</p>

<p>Voilà. Du coup, pour le moment, j'ai fait un <a href="http://contact.hoa.ro" title="Contact">formulaire de contact</a> tout simple en PHP, comme on apprend à en faire dans les livres pour débutants. N'importe qui peut accéder au formulaire (en HTTPS auto-signé, désolé) et me contacter sans que je sache qui c'est. On est quand même loin de PrivacyBox, puisque l'utilisateur doit accéder à mon serveur web pour me contacter. Mais c'est mieux que rien.</p>

<p><center>
  <img src="media/233f07c1.captcha.jpg" data-original-source="http://hoa.ro/data/images/img-divers/captcha.jpg" alt="captcha.jpg" title="captcha-wtf" />
</center></p>

<p>Par contre ce genre de formulaires, ça attire tous les bots aux alentours rien qu'à l'odeur. Plutôt que de mettre en place un captcha <a href="http://caca.zoy.org/wiki/PWNtcha" title="PWNtcha" onclick="window.open(this.href);return false;">inefficace</a> et indéchiffrable, je tente une astuce que j'ai lue chez l'ami <a href="http://tontof.net/?2013/05/05/17/34/36-spiced-ham-ahhhhh" title="Spiced Ham ahhhhh !">Tontof</a>.</p>

<p>Le principe est simple, il suffit d'ajouter un champs texte appelé "message" dans votre formulaire, mais qui est caché en JavaScript :</p>

<pre><code>document.getElementById('message').style.display = 'none';
</code></pre>

<p>Les bots, qui ne sont pas réputés pour faire dans la finesse, vont évidemment remplir ce champ alors que les humains ne le feront pas : le champ est invisible au rendu. Il ne reste plus qu'à valider le formulaire si le champ "message" est vide.</p>

<p>Je saurais rapidement si c'est efficace, ou non. En tous cas, c'est astucieux.</p>

<p>Si vous avez des idées pour améliorer l'aspect anonyme ce formulaire, ou si vous connaissez des services similaires à PrivacyBox, <a href="http://git.hoa.ro/arthur/anonymous-email" title="Git">n'hésitez pas</a>.</p>


feed_id: http://hoa.ro/article8/public-gitlab-concurrent-open-source-de-github
title: Public GitLab - Concurrent open source de Github
uri: Public-GitLab-Concurrent-open-source-de-Github
url: http://hoa.ro/article8/public-gitlab-concurrent-open-source-de-github
content:
<p>Le célèbre service Github, incontournable pour beaucoup de développeurs, fête aujourd'hui ses <a href="https://github.com/blog/1470-five-years" title="Five years">5 ans d'existence</a>. Le service fête aussi son succès et sa croissance impressionnante, surtout après la levée de $100.000.000 l'été dernier. Github compte aujourd'hui 3,5 millions d'utilisateurs, soit deux fois plus qu'en juillet dernier.</p>

<p>Mais aussi pratique et ergonomique que soit Github, il n'en reste pas moins qu'un service en ligne, avec un business model. Je reste convaincu que <strong>l'open source et l'auto-hébergement sont à privilégier et à promouvoir</strong>.</p>

<p>Je vais donc vous présenter mon dernier projet en date : <a href="https://github.com/ArthurHoaro/Public-GitLab" title="Public GitLab"><strong>Public GitLab</strong></a> !</p><p>GitLab est un super projet open source codé en Ruby on Rails dans lequel on retrouve les fonctionnalités et l'ergonomie de Github. Vous pouvez voir à quoi ça ressemble sur la <a href="http://demo.gitlabhq.com/users/sign_in" title="">démo officielle</a>. Tout y est : la gestion des repositories Git, le bug tracker, les merge requests, le wiki, les fichiers en Markdown avec coloration syntaxique, etc.</p>

<p><img src="media/8baec6e8.gitlab.png" data-original-source="http://hoa.ro/data/images/gitlab.png" alt="gitlab.png" title="gitlab" /></p>

<p>Le seul problème, et les développeurs de GitLab font de la résistance là dessus, c'est qu'il n'y a pas de repo publics. Ils considèrent que c'est un outil destiné destiné aux entreprises (i.e. à un groupe de personnes restreint), et pour une raison qui m'échappe, refusent d'implémenter un mode public.</p>

<p>L'outil n'est donc pas adapté pour l'hébergement de projets open source, ni pour les particuliers (comme moi :)).</p>

<p>J'ai donc un peu tweaké GitLab pour que mes repositories soient publics, et que n'importe qui puisse s'inscrire pour rapporter un bug. J'ai mis mes bidouilles au propre, et voilà <strong><a href="https://github.com/ArthurHoaro/Public-GitLab" title="Public GitLab">le fork Public-GitLab</a></strong>, pour tout le monde.</p>

<blockquote>
  <p>Vous pouvez visiter tout ça sur <a href="http://git.hoa.ro" title="">git.hoa.ro</a>.</p>
</blockquote>

<p>Bien sûr, rien de m'empêche de créer quand même des repo privés, qui ne sont accessibles qu'au membres habilités ; et je n'ai pas besoin de payer Github pour ça !</p>


feed_id: http://hoa.ro/article5/codiad-ide
title: Retour d'expérience sur l'IDE en ligne Codiad
uri: Retour-d-expérience-sur-l-IDE-en-ligne-Codiad
url: http://hoa.ro/article5/codiad-ide
content:
<p>L'année dernière, l'ami Idleman nous présentait sur <a href="http://blog.idleman.fr/?p=1693" title="Idleman - Codiad">son blog</a> un éditeur de texte en ligne, répondant au doux nom de <a href="http://codiad.com/" title="Official website">Codiad</a>. Sur le coup, je n'ai pas tout de suite vu l'intérêt mais je l'ai installé, plus par curiosité technologique qu'autre chose.</p>

<p>Ça va maintenant faire quelques mois que je l'utilise régulièrement. Je commence maintenant à bien le connaître, et j'avais envie de faire un retour dessus. Autant le dire dès maintenant : de mon point de vue, il est encore meilleur que ce qu'il n'y paraît.</p><p>Je ne vais rentrer dans une longue présentation détaillée, puisque vous pourrez tester si ça vous donne envie. Opération qui est d'ailleurs on ne peut plus simple puisque Codiad fonctionne en PHP et sans base de données.</p>

<h2>L'éditeur</h2>

<p>J'apprécie l'éditeur en lui même dans lequel on retrouve un parfum de <a href="http://www.sublimetext.com/" title="Sublime Text 2">Sublime Text</a> (que j'utilise en desktop). La coloration syntaxique est claire et prend en charge pas mal de langages, même si on pourrait facilement allonger la liste.</p>

<p>Dans la pratique, l'outil répond suffisamment vite et bien pour qu'on oublie même que l'on est dans une interface web ; et ça tient la route, même avec des fichiers de 1000 lignes, en sachant que <a href="http://www.online.net/fr/serveur-dedie/dedibox-sc" title="Dedibox SC">mon serveur</a> n'est pas une bête de course.</p>

<p><img src="media/e291c5d4.codiad.png" data-original-source="http://hoa.ro/data/images/codiad/codiad.png" alt="codiad.png" title="" /></p>

<p>Quelques remarques quand même, puisque après 6 mois d'utilisation sur un outil nouveau, tout ne peut pas être tout rose. Sur des cas spécifique la coloration syntaxique peut être mise en défaut (par exemple avec un &lt;&lt;&lt;END).</p>

<p>Et il m'est arrivé 2 ou 3 fois, sur de gros fichier d'avoir un décalage entre ce qui était affiché, et ce qui était réellement dans le fichier. Typiquement, j'ai supprimé en ligne qui n'avait en fait pas été supprimé mais altéré dans le fichier. C'est vraiment très rare, mais quand on ne le sait pas on se demande d'où sort cette SYNTAX ERROR !</p>

<p>Sinon, je n'ai jamais rien perdu ou corrompu ; je fais maintenant confiance à l'outil autant qu'à un éditeur de texte bureau.</p>

<h2>Le terminal</h2>

<p>Codiad est plus qu'un simple éditeur de code en ligne, grâce au terminal qu'il embarque. Il s'agit ni plus ni moins que d'une console SSH à votre serveur web, avec l'utilisateur Apache (ou autre selon le serveur web). Et ça ouvre un grand nombre de possibilités !</p>

<p>Vous pourrez facilement imaginer votre propre usage de ce terminal, mais voici un cas pratique, que j'utilise assez régulièrement.</p>

<p>J'ai envie de tester le petit programme <a href="https://github.com/ldleman/dropcenter" title="Dropcenter Github">DropCenter</a> d'Idleman ; un outil d'upload de fichier simple en drag'n'drop. Généralement, à chacun sa méthode : DL + upload FTP, connexion SSH puis wget / git clone, etc.</p>

<p>Dans Codiad, je crée un nouveau projet* dans mon Workspace, j'ouvre le terminal et</p>

<pre><code>git clone https://github.com/ldleman/dropcenter.git
</code></pre>

<p>Une petit screenshot :</p>

<p><img src="media/e40fbf77.codiad-term-git.png" data-original-source="http://hoa.ro/data/images/codiad/codiad-term-git.png" alt="codiad-term-git.png" title="" /></p>

<p>C'est tout. L'outil que vous voulez tester est maintenant crée et accessible depuis n'importe où sur le web. Et on peut aller plus loin :</p>

<ul>
<li>En deux clics on peut paramétrer les fichiers de configuration avec l'éditeur </li>
<li>Si l'outil a besoin d'une base de donnée, on peut se préparer un script générique qui crée une nouvelle base de données et l'utilisateur associé.</li>
</ul>

<p>En bref, je trouve que <a href="https://github.com/Codiad/Codiad" title="Codiad Github">Codiad</a> est un super outil qui simplifie la vie ; le tout en libre et auto-hébergé, bien sur (<a href="http://www.tldrlegal.com/license/mit-license" title="MIT Licence - TL;DR legal">MIT license</a>).</p>

<p>PS: Petite astuce au passage. Si vous aviez créé à la main un répertoire dans votre dossier workspace, vous pouvez y accéder depuis Codiad en créant un projet avec le même nom sur la GUI.</p>

<p><strong>EDIT :</strong> Je viens de le mettre à jour (après 3 mois, il serait temps !), avec la surprise de plein de bonnes nouveautés : possibilité de donner un nom aux projets (indépendant du path), création de projet depuis un repo Git, un système de plugins, quelques améliorations d'interface... Ca fait plaisir de voir que le projet est <em>vivant</em> !</p>

<p><strong>EDIT2 :</strong> Attention, le terminal est maintenant un <a href="https://github.com/Fluidbyte/Codiad-Terminal" title="Github">plugin de Codiad</a>.</p>


feed_id: http://hoa.ro/article4/installation-de-windows-la-galere
title: Installation de Windows : la galère
uri: Installation-de-Windows-la-galère
url: http://hoa.ro/article4/installation-de-windows-la-galere
content:
<p>Hier soir, j'ai eu la merveilleuse idée de vouloir réinstaller un Windows (je suis sous Fedora depuis peu). Après des heures de galère, de multiple formatages de clé USB et toutes sortes de noms d'oiseaux qui fusaient à travers la pièce, j'ai finalement réussi.</p>

<p>J'ai tellement enchaîné les fails, que j'ai envie de vous conter tout ça. Le pire dans cette histoire, c'est qu'à la base je voulais seulement faire une petite partie de Battlefield 3...</p><p>Enfin, revenons à nos moutons. Ca fait quelques années maintenant que je n'ai plus de lecteurs CD, et je n'ai pas ressenti le besoin d'en acheter un nouveau. On s'en passe très bien.</p>

<p>Plein de bonnes volonté donc, je libère 150Go sur un disque 2To, et je monte un ISO de Windows 7 qui traînait sur un disque avec <a href="http://unetbootin.sourceforge.net/" title="UNetbootin website">UNetbootin</a>. Ma clé USB n'étant pas de dernière jeunesse, ça prend déjà un moment. Soit.</p>

<p>Je redémarre et boot sur la fameuse clé. J'ai alors la surprise de découvrir que le programme d'installation de Windows ne prends pas en compte ni ma souris, ni mon clavier - alors que même mon BIOS en est capable ! Un peu agacé, je vais alors fouiller dans mes cartons pour retrouver un vieux clavier en PS2 (<a href="media/dce49cdb.ps2.jpg" data-original-source="http://hoa.ro/data/images/img-divers/ps2.jpg" title="image">pour les plus jeunes</a>).</p>

<p>On recommence la manoeuvre, le clavier fonctionne bien. Et là, surprise ! Ce n'est pas qu'il ne reconnaissait pas mon clavier/souris, c'est simplement qu'il avait désactivé <strong>tous</strong> mes ports USB. Oui, y compris celui avec le clé contenant Windows, sur lequel je venais de booter. Génial.</p>

<p>Dans le doute et avec de maigres espoirs, j'ai essayé de créer le clé avec <a href="http://www.commentcamarche.net/download/telecharger-34087347-windows-usb-dvd-tool" title="CCM">Windows USB DVD tool</a> (on reperd 20 minutes), mais pas mieux.</p>

<p>Nouvelle tactique, j'essaye alors avec un ISO de Windows 8 que j'avais choppé pour le tester. Miracle, après la demi-heure qu'il a pris pour créer la clé, le programme d'installation ne désactive pas mes ports USB. Chouette, me dis-je, dans 15 minutes on est bon !</p>

<p>Et quelle erreur. Windows me dit alors qu'il ne peut pas partitionner l'espace libre que je lui avait libéré ; aucune autre info ou indication sur le problème. Soit, reboot sur Fedora et formatage NTFS avec GParted.</p>

<p>J'ai alors pu découvrir de nouveaux termes, et enrichir mon vocabulaire. Windows 8 m'informe gentillement qu'il ne peut pas s'installer sur une partition MRB et qu'il a besoin d'un disque GPT. <em>Dafuq?</em></p>

<p>J'ai rapidement tenté de <a href="http://askubuntu.com/questions/84501/how-can-i-change-convert-a-ubuntu-mbr-drive-to-a-gpt-and-make-ubuntu-boot-from" title="How can I change/convert a Ubuntu MBR drive to a GPT, and make Ubuntu boot from EFI?">convertir ma partition de MRB à GPT</a>, mais pour ne rien vous cacher, je commençais très sérieusement à être à court de patience. Ne comprenant pas grand chose à première vue à la commande <em>gdisk</em>, j'ai finalement abandonné ; par peur aussi de perdre les 1To+ de données qui traînaient sur le reste du disque.</p>

<p>Solution radicale, donc. J'ai remis Fedora sur la clé (oui, Linux est capable de s'exécuter sur un clé USB ! Et ça marche du premier coup !) et j'ai repartitionné mon SSD pour faire une petite place de 35Go à Windows 8.</p>

<p>Enfin bref, une sacré galère. Je ne ferais pas ça tous les jours !</p>

<p><strong>EDIT</strong> : Suppression de la conclusion un peu trop trollesque, ça n'était pas le but.</p>


feed_id: http://hoa.ro/article3/google-arrete-reader
title: Google arrête Reader
uri: Google-arrête-Reader
url: http://hoa.ro/article3/google-arrete-reader
content:
<p>La nouvelle est tombée ce matin sur blog officiel de Google : Google Reader ne sera plus à partir du 1er juillet 2013. Une mauvaise nouvelle pour commencer la journée. Maintenant, il reste 3 mois pour choisir et mettre une place une alternative.</p>

<p>Je dois admettre que je ne l'ai pas vu venir celle-ci. Même si Google est connu pour ses nettoyage de printemps dans ses services, il s'agit généralement de services inconnus pour le commun des mortels. Même si GReader ne connait pas une croissance sensationnelle, et que les flux RSS ne seront pas le web de demain pour Mme Michu, il y a quand même beaucoup d'utilisateurs !</p><p>Bon, je ne vais pas tergiverser pendant des pages sur la décision de Google. C'est le principe d'un service web. Quand tu t'inscris, tu acceptes le fait qu'il puisse fermer un jour. Et quand ce jour arrive, tu peux simplement fermer ta gueule. C'est la beauté du <em>cloud</em>.</p>

<p>Je fais parti des <em>gros</em> utilisateurs :</p>

<pre>Statistiques des 30 derniers jours

Nombre d'abonnements : 260
Éléments lus : 3 444

Depuis le 12 mai 2008, vous avez lu 168 507 éléments.
</pre>

<p>Mitsu <a href="http://identi.ca/notice/100099975" title="Mitsu Identi.ca">se demandait pourquoi</a> tant de gens utilisaient ce service. Je dirais pour deux raisons principales : la synchronisation (avec des apps Android/iOS par exemple) et la facilité d'utilisation du truc.</p>

<p>La synchronisation des flux et des éléments lus n'est pas (à ma connaissance) envisageable avec des agrégateurs en client lourd, comme Thunderbird et tant d'autres.</p>

<p>Il faut aussi savoir que l'administration d'un agrégateur RSS demande quelques efforts. C'est un outil vraiment consommateur de ressources, surtout avec 260 flux différents à mettre à jour régulièrement. Je peux vous dire que mon petit serveur ramasse sévère quand il doit récupérer, parser, et traiter ces fichiers XML depuis toutes ces sources différentes.</p>

<p>Mais il faut retenir la leçon, et se tourner vers l'auto-hébergement. Il n'y a alors plus de contrainte liée à un service externe, comme une fermeture inattendue, au hasard. Même si ça demande un petit effort supplémentaire, j'aurais tendance à soutenir ce choix dans TOUS les cas, avec tous les services.</p>

<p>La solution au problème technique : un peu de tri dans ces flux et une bonne adaptation de la fréquence de mise à jour des flux devraient suffire à faire fonctionner ça correctement.</p>

<p>Je n'ai pas encore choisi l'outil que je vais utiliser. Au premier coup d'oeil, Tiny Tiny RSS à l'air assez complet, mais je n'ai pas poussé les tests.</p>

<p>Enfin, comme le rappelle justement <a href="http://maxime.sh/2013/03/google-reader-pas-de-panique-mais-lisez-ceci/" title="Maxime.sh">Maxime</a>, on a 3 mois pour se décider : inutile de changer dans les 24h.</p>

<p>Il propose également un groupe de discussion pour répondre au besoin de synchronisation qui existait avec Google Reader. Vous pouvez <a href="https://docs.google.com/forms/d/1Q8ypAqk5hJkabi9vbXMok6GxflhdJfaZQKaI9KTLqFk/viewform" title="mailing list">vous inscrire à la mailing list</a> si le sujet vous intéresse. Nous verrons bien s'il en sort quelque chose de concret.</p>


feed_id: http://hoa.ro/article1/ceremonie-d-inauguration
title: Cérémonie d'inauguration !
uri: Cérémonie-d-inauguration
url: http://hoa.ro/article1/ceremonie-d-inauguration
content:
<p>C'est toujours avec une certaine émotion que l'on écrit le premier billet d'un blog tout beau, tout neuf que l'on a crée avec ses petites mains. En introduction, je voudrais donc vous présenter les motivations qui m'ont poussée à finalement créer <a href="http://hoa.ro" title="hoa.ro">hoa.ro</a> et aussi justifier mes choix techniques : <a href="http://www.pluxml.org/" title="PluXML">PluXml</a> et <a href="http://http://sebsauvage.net/wiki/doku.php?id=php:shaarli" title="Shaarli">Shaarli</a>.</p><h2>Arthur Hoaro : site personnel</h2>

<p>Certains m'ont déjà lu, puisque j'écris de façon irrégulière sur <a href="http://aryo.fr" title="aryo.fr">aryo.fr</a>, un blog où on cause un peu de tout. A côté de ça, je tiens un <a href="http://wiki.hoa.ro/" title="Arthur Hoaro Wiki">wiki</a> sur divers sujets techniques et participe à mon échelle à des projets open source comme le <a href="https://github.com/mitsukarenai/Projet-Autoblog" title="Github Autoblog">Projet Autoblog</a> (en cours de développement). J'héberge aussi plusieurs service perso sur mon domaine hoa.ro, comme ma webmail (<a href="http://roundcube.net/" title="Site officiel RoundCube Mail">RoundCube</a>).</p>

<p>Tout ça pour dire que j'ai estimé qu'il était temps de créer un site personnel pour rassembler tout ça !</p>

<h2>Pourquoi PluXml ?</h2>

<p>Le blog (et les "pages statiques") sont donc générées avec le moteur de blog PluXml. Un CMS de blog plutôt complet qui gère ses données avec des fichiers XML. Je n'ai rien contre les SGBD, au contraire, mais c'est sa simplicité et sa communauté qui m'ont amené à ce choix. Et après les quelques jours que j'ai passé à coder tout ça, je ne regrette absolument pas !</p>

<p>Quelles autres technologies étaient en lice ? <a href="http://lehollandaisvolant.net/blogotext/fr/" title="Blogotext">Blogotext</a> de Timo, qui me fait de l’œil depuis un moment et <a href="http://docs.getpelican.com/en/3.1.1/" title="Pelican">Pelican</a>, le générateur de blog statique (tiens, que des technos françaises).</p>

<p>Pour Pelican, ça a été vite réglé. Même si le système de blog statique paraît intéressant, la gestion des commentaires via Disqus n'était pas envisageable pour moi. J'ai quand même hésité à désactiver les commentaires, mais j'aurais été bloqué par la suite si je changeais d'avis.</p>

<p>Pour Blogotext, je l'ai installé et testé. Je n'ai pas grand chose à redire, ça correspond à ce que je cherchais. Il y a quand même eu deux choses qui m'ont gêné :</p>

<ul>
<li>pas de gestion de plugins</li>
<li>la licence trop restrictive à mon goût pour un logiciel (<a href="http://creativecommons.org/licenses/by-nc/2.0/fr/" title="CC-BY-NC">CC-BY-NC</a>)</li>
</ul>

<p>Bref, tout ça pour dire que PluXML ne présentait aucun de ces quelques points négatifs, et qu'il est bien foutu. En plus, j'avais <a href="http://psytours.fr" title="psytours">déjà</a> eu affaire à lui. A la limite le seul désavantage que je lui vois (et qui est vu comme un avantage par beaucoup), c'est son stockage en XML alors que les SGBD facilitent certaines opérations de maintenance et peuvent améliorer les performances ; surtout pour un blog.</p>

<p>Nous y voilà donc, avec PluXML. Après avoir codé ce site, j'ai réussi à faire ce que je voulais sans toucher au noyau. J'ai simplement modifié un ou deux plugins. Par contre, j'ai quand même du faire appel une fois ou deux au moteur (<em>noyau</em>) parce que certaines fonctions d'affichage ne permettent aucune personnalisation (les flux RSS par exemple). Retour assez positif, donc !</p>

<h2>Shaarli</h2>

<p>En plus du blog, j'utilise Shaarli pour publier des liens et ne pas polluer le blog. Ca ne risque pas de mettre en péril ma régularité de publication, j'étais déjà très irrégulier !</p>

<p>Au niveau technique, pas grand chose à dire. Je l'avais testé et modifié il y a quelques temps déjà. J'ai pu constater sur <a href="https://github.com/sebsauvage/Shaarli" title="Github Shaarli">Github</a> que Sebsauvage avait corrigé le bug que je lui avait remonté. J'ai adapté Shaarli pour l'intrégrer au design d'hoa.ro. Bon, d'accord, j'ai pesté quelques fois contre les templates un peu bordéliques, mais je n'ai pas eu de problème particulier.</p>

<p>J'ai déjà bien fait chauffer le clavier pour un article d'introduction. Si vous voulez plus d'infos, je vous laisse retrouver la page <a href="http://hoa.ro/static4/a-propos" title="A propos - Hoa.ro">A propos</a>.</p>


feed_id: http://hoa.ro/article6/fever
title: Lecteur RSS - Feed a Fever
uri: Lecteur-RSS-Feed-a-Fever
url: http://hoa.ro/article6/fever
content:
<p>Suite à la <a href="http://hoa.ro/article3/google-arrete-reader" title="Billet">fermeture de Google Reader</a>, je suis parti en quête d'un remplaçant disponible en auto-hébergement. C'était le critère principal, d'abord pour s'affranchir des fermetures inopinées, mais aussi pour protéger mes données personnelles et ma vie privée. Après un petit périple, mon choix s'est arrêté sur Fever. Il ne conviendra pas à tout le monde, car il n'est pas libre et coûte $30. Mais je vous propose aujourd'hui un petit retour sur tout ça : ce que j'attends d'un lecteur RSS, ce que propose Fever et mon ressenti général.</p><h2>Je suis exigeant</h2>

<p>Déjà, je dois l'avouer, je suis exigeant. Le lecteur de flux RSS est une des applications web sur laquelle je passe le plus de temps sur mon navigateur. C'est un agrégateur de contenu, et l'ergonomie liée à la visualisation de ce contenu est primordiale.</p>

<p>Voici globalement ce que j'attends du lecteur idéal :</p>

<ul>
<li>Une bonne expérience utilisateur : navigation possible au clavier, pas de pagination (AJAX), des dossiers, un marquage comme lu automatique, etc.</li>
<li>Rétention des éléments lus avec une durée plus ou moins longue (je n'ai pas les serveurs de Google).</li>
<li>Possibilité de sauvegarder les éléments.</li>
<li>Dispose d'une API.</li>
</ul>

<p>J'en ai essayé un certain nombre... <a href="http://projet.idleman.fr/leed" title="">Leed</a>, <a href="https://github.com/tontof/kriss_feed" title="KrissFeed">KrissFeed</a>, <a href="http://tt-rss.org/redmine/projects/tt-rss/wiki" title="TTRSS">TinyTinyRSS</a>, <a href="http://selfoss.aditu.de/" title="">selfoss</a> (pas mal d'ailleurs) et 2-3 autres dont j'ai oublié le nom. Aucun de ceux là n'a su répondre à tous mes besoins.</p>

<p>Et puis, un mois après l'annonce de la fermeture de Google Reader, je suis tombé un peu par hasard sur <a href="http://feedafever.com/" title="Fever">la page de Fever</a>. Le design est alléchant, les features semblent bonnes et il y a même une API (sur les items uniquement). Seul problème, il coûte $30 et ne propose pas de démo. De plus, il annonce clairement <em>"No refund"</em>.</p>

<p>Un pari à $30 ? Allons-y !</p>

<h2>Fever a de la gueule</h2>

<p>Commençons par une petite série de screenshots, histoire de donner une idée :</p>

<p><img src="media/a62131ab.fever-feeds-full.jpg" data-original-source="http://hoa.ro/data/images/fever/fever-feeds-full.jpg" alt="fever-feeds-full.jpg" title="" /></p>

<p>Ou avec la liste des flux masquée :</p>

<p><img src="media/37147373.fever-feeds.jpg" data-original-source="http://hoa.ro/data/images/fever/fever-feeds.jpg" alt="fever-feeds.jpg" title="" /></p>

<p>L'ajout de flux, avec quelques options pour chaque flux :</p>

<p><img src="media/25a7c691.fever-add-feed.jpg" data-original-source="http://hoa.ro/data/images/fever/fever-add-feed.jpg" alt="fever-add-feed.jpg" title="" /></p>

<p>Des options plus générales :</p>

<p><img src="media/09615daa.fever-settings-behavior.jpg" data-original-source="http://hoa.ro/data/images/fever/fever-settings-behavior.jpg" alt="fever-settings-behavior.jpg" title="" /><img src="media/a6933c30.fever-settings-share.jpg" data-original-source="http://hoa.ro/data/images/fever/fever-settings-share.jpg" alt="fever-settings-share.jpg" title="" /></p>

<h2>Petit tour des features</h2>

<p>Globalement, Fever répond à peu près à tout ce que j'attends d'un lecteur : catégories, ajout de flux, import OPML, export, durée de rétention des items paramétrable (je suis à 10 semaines), possibilité de sauvegarder des items, update par cron ou JavaScript, etc.</p>

<p>Par contre, il y a deux petites features auxquelles je ne m'attendais pas vraiment et qui sont une agréable surprise.</p>

<p>D'abord les "sparks", qui permettent d'y ranger tous les flux qui sont trop verbeux : les journaux "officiels", les sites de news, Gizmodo, etc. Les flux classés comme "spark" n'apparaissent plus dans la liste des items non lus, et évitent de noyer les "petits" blogs sous une tonne d'informations pas toujours pertinentes.</p>

<p>Les sparks permettent aussi d'alimenter la fonctionnalité phare de Fever qui sont les sujets <em>"Hot"</em>. L'idée, c'est de recouper les liens entre les différents flux d'information pour en ressortir les sujets principaux. En soi... je ne dirais pas que c'est super utile. Par contre, depuis que j'ai importé tous les Shaarlis, c'est génial ! Voyez plutôt, LE sujet chaud sur une semaine :</p>

<p><img src="media/9c3a6e16.fever-hot-week.jpg" data-original-source="http://hoa.ro/data/images/fever/fever-hot-week.jpg" alt="fever-hot-week.jpg" title="" /></p>

<p>Aller, pour le plaisir, le top 5 des articles les plus partagé dans la sharliosphère depuis un mois (joli néologisme !) :</p>

<ul>
<li>46.0°C : <a href="http://bluetouff.com/2013/07/21/carla-bruni-sarkozy-anatomie-dune-cyber-catastrophe-a-410-000-euros-pour-le-contribuable/" title="Carla" onclick="window.open(this.href);return false;">Carla Bruni Sarkozy : Anatomie d’une cyber catastrophe à 410 000 euros pour le contribuable</a></li>
<li>45.3°C : <a href="http://nexen.mkdir.fr/shaarli-tv/" title="ShaarliTV" onclick="window.open(this.href);return false;">ShaarliTV</a></li>
<li>45.3°C : <a href="http://forum.ovh.com/showthread.php?t=89592" title="Le serveur dédié à 2.99 €" onclick="window.open(this.href);return false;">Le serveur dédié à 2.99 €</a></li>
<li>43.9°C : <a href="http://www.miximum.fr/tutos/1546-enfin-comprendre-git" title="Pour arrêter de galérer avec Git" onclick="window.open(this.href);return false;">Pour arrêter de galérer avec Git</a></li>
<li>43.3°C : <a href="http://korben.info/snowden.html" title="« J’ai fait ce que j’ai cru bon »" onclick="window.open(this.href);return false;">« J’ai fait ce que j’ai cru bon »</a></li>
</ul>

<h2>Navigation fluide</h2>

<p>Ensuite, au niveau de l'UX, c'est assez rêvé en fait. TOUT peut se faire au clavier. Quelques exemples :</p>

<ul>
<li>Flèches directionnelles pour naviguer entre les catégories et les flux.</li>
<li>Le classique J/K pour suivant/précédent (pourquoi, d'ailleurs ?).</li>
<li>u : afficher/masquer les éléments non lus.</li>
<li>f : masquer les flux.</li>
<li>a : marquer comme lu tout ce qui est dans la catégorie courante.</li>
<li>d : un petit shaare (paramétrable)</li>
</ul>

<p>Etc, etc. La quasi totalité des actions ont un raccourci clavier associé. Ça rend la navigation vraiment agréable. Ah, et bien sûr, pas de pagination mais un défilement en AJAX.</p>

<h2>Conclusion</h2>

<p>Vous l'aurez compris, c'est pour moi un pari réussi. Ça fait plus de 3 mois que j'utilise Fever, je maîtrise maintenant les raccourcis et les subtilités de l'interface et... c'est un vrai plaisir.</p>

<p>Mais quand même, il faut bien présenter quelques points négatifs :</p>

<ul>
<li>Ce n'est pas libre.</li>
<li>Ca coûte quand même $30, ce n'est pas rien.</li>
<li>Il n'y a pas vraiment de support : ça a été développé par une personne, qui annonce clairement qu'elle est débordée et que Fever n'est pas sa priorité.</li>
<li>J'ai un petit bug qui fait que des fois, je ne peux pas aller sur le dernier item en défilant (vraiment mineur...).</li>
</ul>

<p>Attention aussi, je suis passé sur un <a href="http://www.online.net/fr/serveur-dedie/dedibox-classic" title="Dedibox">quad core</a> et je rafraichis mes 300 flux toutes les 20 minutes. Avec un plus petit serveur, il est possible que ça soit un peu plus difficile d'avoir ce genre d'utilisation.</p>

<p>Voilà, je pense avoir fait le tour. Le but n'est pas de faire de la pub, mais simplement de décrire un peu un outil dont on ne trouve pas grand chose sur le net.</p>

<p>PS : Les screenshots sont vraiment dégueulasses, désolé.</p>


feed_id: http://hoa.ro/article14/duckduckgo
title: DuckDuckGo ne peut pas encore remplacer Google
uri: DuckDuckGo-ne-peut-pas-encore-remplacer-Google
url: http://hoa.ro/article14/duckduckgo
content:
<p><a href="https://duckduckgo.com" title="DDG">DuckDuckGo</a> est un moteur de recherche moderne, sérieux, avec une équipe derrière qui semble plutôt dynamique. Depuis un mois environ je l'ai utilisé par défaut, en fervent remplaçant de Google. Un pas de plus vers la décentralisation de mes données personnelles !</p>

<p>Dans DDG, il y a plein de bonnes choses vraiment appréciables pour l'utilisateur final. Toutefois, au risque de m'attirer les foudres de ceux qui affectionnent particulièrement ce moteur de recherche, je ne trouve pas le moteur de recherche à la hauteur. Pas encore du moins.</p><p>Parmi les bonnes choses, il y a évidemment les <a href="https://duckduckgo.com/bang.html" title="!bang"><em>!bang</em></a> ! C'est un plaisir à utiliser, ça fait gagner du temps, et ça permet parfois de faire des choses marrantes. Non sérieusement, ne serait-ce qu'un <em>"!wtfr heuristique"</em> quand on cherche la définition du mot, c'est agréable. Et la liste de possibilités est longue.</p>

<p>Les options proposées par DDG sont également appréciables : personnalisation du thème, de la disposition, des filtres, de la confidentialité, etc. Finalement, c'est un peu tout ce que l'on aimerait voir sur n'importe quel service web.</p>

<p>Bon, fini les éloges, passons maintenant au cœur du service, au moteur de recherche en tant que tel. Je trouve qu'il n'assure pas. Le problème principal que je rencontre, c'est que DDG ne prend pas suffisamment en compte l'ensemble des mots-clés qui lui sont transmis. J'ai l'impression qu'il les traite individuellement et ne cherche pas à faire le lien entre eux.</p>

<p>Mais c'est très abstrait tout ça. Prenons un exemple concret. Je veux installer PostgreSQL sur mon serveur CentOS. Je tape naturellement "postgresql centos". Résultats :</p>

<ol>
<li><a href="http://www.postgresql.org/" title="PostgreSQL">postgresql.org</a> </li>
<li><a href="http://www.centos.org" title="CentOS">centos.org</a></li>
</ol>

<p>Oui oui, les pages d'accueil des deux produits, individuellement. La page de postgre ne fait pas mention de CentOS et inversement. Et ici la recherche est simple. Quand je cherche quelque chose d'un peu plus pointu, et que le comportement est similaire... Eh bien je fini en <em>"!g ma recherche"</em>.</p>

<p>Au final, à force de faire très souvent des recherches en <em>!g</em> au second essai, je ne peux que constater que DDG n'est pas encore assez mature pour que je l'adopte définitivement. Je repasse donc sur Google (ou <a href="https://github.com/broncowdd/googol" title="googol - Github">Googol</a>... :) ) pendant un temps, et je reviendrai voir comment ça a évolué à l'avenir.</p>

<p>Petite question finale qui me vient à l'esprit : ça existe un moteur de recherche libre/ouvert ?</p>


feed_id: http://hoa.ro/article15/markdown-a-besoin-d-etre-standardise
title: Markdown a besoin d'être standardisé
uri: Markdown-a-besoin-d-être-standardisé
url: http://hoa.ro/article15/markdown-a-besoin-d-etre-standardise
content:
<p>J'adore le Markdown. C'est un langage de formatage simple, lisible et parfaitement adapté au web. J'en mange 5 fois par jour, matin midi et soir sur ce blog, sur Github, sur GitLab, sur <strike>mon Wiki</strike> (en fait ça n'est pas du Markdown mais un type de <em>markup language</em>), sur Stack Overflow, etc. Le hic, c'est que le Markdown original n'a codifié qu'un nombre limité d'éléments HTML standards. Du coup, la plupart des services qui l'utilisent y ajoutent une surcouche ; le fameux Flavored Markdown.</p>

<p>Mais vous vous en doutez, sinon ça serait trop simple, cette surcouche ne reprend généralement pas les mêmes conventions en fonction des services. Faisons un petit tour d'horizon.</p><h2>Markdown standard</h2>

<p>Je fais un rappel rapide de ce qu'est Markdown, pour ceux qui ne connaitraient pas. Cet outil permet donc de formater du texte très simplement. C'est un peu le même principe que le BBCode à la grande époque des forums, sauf qu'on ne s'arrache plus les cheveux.</p>

<p>Un petit exemple :</p>

<pre><code># Titre principal

## Sous titre   

Ceci est une super liste :

 * Elément 1
 * Elément 2    

[Lien](http://hoa.ro "Titre : Tu m'emmerdes avec ton exemple")
</code></pre>

<p>Enfin bref, vous pouvez retrouver toute la syntaxe sur la <a href="http://daringfireball.net/projects/markdown/syntax" title="">page de documentation</a> et encore plus dans l'image-mémo ci-dessous.</p>

<p><img src="media/71df917b.github-md.jpg" data-original-source="http://hoa.ro/data/images/img-divers/github-md.jpg" alt="github-md.jpg" title="Github MD" /></p>

<h2>Flavored Markdown</h2>

<p>L'image précédente n'est pas là tout à fait par hasard. Vous pouvez voir en bas de celle-ci quelques éléments clés du Github Flavored Markdown (que je vais appeler le GitFlav dans la suite, parce que c'est plus court).</p>

<p>Ainsi, comme vous pouvez le constater, sur Github vous pouvez écrire votre code après un triple backquote et le nom du langage. Par contre, vous ne pourrez faire ça QUE sur Github (ou un service qui implémente arbitrairement la même règle).</p>

<p>Sur ce même service, vous avez également la possibilité d'afficher des cases cochées/décochées. Pourquoi pas.</p>

<p>Une fois sur Stack Overflow, si vous voulez définir le langage utilise dans votre bout de code, il vous en coutera un :</p>

<pre><code>&lt;!-- language: lang-js --&gt;
</code></pre>

<p>C'est l'exemple le plus parlant, mais il y a très certainement d'autres subtilités.</p>

<p><em>Note :</em> La liste des différences entre GitFlav et l'original est <a href="https://help.github.com/articles/github-flavored-markdown" title="GitFlav">ici</a> (et elle est longue). De plus, à ma connaissance, les sources de GitFlav ne sont pas disponibles.</p>

<h2>Normalisation</h2>

<p>En bref, chaque fois qu'apparaît un besoin spécifique sur Markdown, mais non moins global, chacun y va à son coup de spécification. Un autre exemple, tout simple : Markdown ne prévoit pas dans sa norme le <em>strike</em> (barré). Basique, mais non implémenté. Que fait-on alors ? On forke et on rajoute un strike entre deux signes égals ? Ou deux dollars ?</p>

<p>Il est clair que le langage Markdown aurait un bon besoin de dépoussiérage, de normalisation et d'évolution. Vous saviez que la dernière version, la 1.0.1 date de 2004 ? Les usages ont tout de même un peu évolués en 10 ans.</p>

<p>Je pense qu'aujourd'hui les mieux placés pour porter ce changement sont les deux semi-géants de l'Internet cités précédemment : Github et Stack Overflow. Après tout, Twitter a bien révolutionné le monde des framework CSS, pourquoi un meilleur Markdown ne serait-il pas possible ?</p>

<p><em>Note : Image <a href="http://colibri-libre.org/liens/?jDUMuA" title="">via le Colibri</a>.</em></p>


feed_id: http://hoa.ro/article18/services-web
title: TOUS les services web fermeront un jour
uri: TOUS-les-services-web-fermeront-un-jour
url: http://hoa.ro/article18/services-web
content:
<p>A l'heure avancée du web 2.0, ou le minitel 2.0 (centralisé) comme l'appellent certains, les services web pullulent sur internet. Un service est tout simplement un logiciel accessible en ligne fourni par un site web, qu'il soit une entreprise ou une âme généreuse. En tant qu'utilisateur final, il est facile de s'appuyer sur ces outils en raison de leur simplicité. Je pense que c'est une erreur, et voilà pourquoi.</p><h2>La solution facile</h2>

<p>Pourquoi y a-t-il autant de service en ligne aujourd'hui, et pourquoi sont-ils autant populaire ? La réponse est très simple. Ils ne sont que la réponse au besoin d'immédiateté qu'a créée l'information moderne.</p>

<p>Un service est une boîte noire. Sans le moindre effort, vous n'avez qu'à copier/coller un code, suivre un lien, donner une information personnelle, et la boîte noire se charge pour vous de ce que vous auriez mis des heures à réaliser. On peut prendre l'exemple très connu et répandu : Google Analytics, le service de statistiques.</p>

<p>Je pense que cet exemple est excellent, parce Piwik existe. Piwik c'est un logiciel open source qui fait globalement exactement la même chose que Google Analytics, qu'il est open source et qu'il faut héberger. Quel est la part de sites qui utilisent le service Google ? D'après <a href="http://w3techs.com/technologies/details/ta-googleanalytics/all/all">W3techs</a>, plus 55% des sites internet utilisent Google Analytics !</p>

<p>En clair, plus de 55% des sites web préfèrent utiliser un service externe, une boîte noire gérée par une entreprise, plutôt qu'ils gèrent eux même. Je rappelle que la qualité du rendu est vraiment très similaire. La solution facile du service est donc celle privilégiée par les acteurs du web...</p>

<h2>Fermeture inévitable</h2>

<p>Tout cela est assez basique et connu de la plupart d'entre nous. En revanche, saviez-vous que le service que utilisez ou avez prévu d'utiliser allait fermer ? Non, je n'exagère pas. Un service est par essence éphémère et destiné à fermer tôt ou tard. Cela peut être dans un an comme dans 5, 10, ou même 30 ans. Internet est un monde qui change extrêmement vite. Finalement, il s'est démocratisé il y a moins de 15 ans.</p>

<p>Puisque les explications théoriques ne sont pas ma spécialité, prenons des exemples concrets. Commençons par un service web, géré par une entreprise, comme il en existe des milliers. Prenons par exemple l'excellent éditeur d'images en ligne <a href="http://pixlr.com/editor/" title="pixlr">Pixlr</a> (j'en avais parlé <a href="http://aryo.fr/2011/09/test-5-editeurs-dimages-en-ligne/">ici</a>). Cet outil est donc fourni par Autodesk, une entreprise de génie mécanique. Hors vous connaissez la loi des marchés, il arrivera <strong>forcément</strong> un jour où l'outil coûtera trop cher par rapport à ce qu'il rapporte, où l'entreprise fermera, où la technologie sera dépassée et nuira à l'image de l'entreprise, etc.</p>

<p>J'ai pris un exemple marginal, et peu critique (j'utilise moi-même Pixlr lorsque je suis sûr un PC où je ne peux rien installer). Mais c'est vrai pour TOUS les services web. <a href="http://productforums.google.com/forum/#!topic/chat/7fddac4ZSMA">Je</a> <a href="http://www.ghacks.net/2011/04/16/google-video-closing-down-what-you-need-to-know/">n'ai</a> <a href="http://productforums.google.com/forum/#!topic/websearch/A3WY3R6Nu44">pas</a> <a href="http://www.computerworld.com/s/article/9220880/Google_kills_Buzz">besoin</a> <a href="http://www.begeek.fr/le-service-latitute-de-google-sera-ferme-le-9-aout-prochain-97516">de citer</a> <a href="http://facepunch.com/showthread.php?t=1133493">le géant</a> <a href="http://hoa.ro/article3/google-arrete-reader">Google</a>. En clair, s'appuyer sur un service dans la conception d'un outil, est un risque énorme ; et souvent inutile. Un exemple qui me vient à l'esprit sont ces startups qui ne proposent qu'un enregistrement Facebook/Google. Elles se rendent dépendantes d'une API qui de toute façon évoluera ou fermera un jour.</p>

<p>J'ai parlé d'entreprise, mais je propose aussi un service : <a href="http://rssbridge.org">rssbridge.org</a>. Là, il n'y a aucun enjeu financier. Par contre, si je me fais écraser par un bus demain ou que je décide d'aller vivre en ermite au Népal, le problème est le même.</p>

<h2>Soyez intelligent</h2>

<p>Dans cet article, je n'essaye pas de montrer que les services web sont le mal absolu. Ils peuvent même être très utiles dans certains cas. Il faut juste qu'avant de l'utiliser, vous vous posiez cette question : <em>quand</em> (et non pas "si") <em>le service fermera, que se passera-t-il ?</em></p>

<p>Si la réponse est que ça n'a pas d'importance, aucun problème. Sinon cherchez une solution alternative. Il y en a toujours.</p>

<p>En bref, utilisez les services web intelligemment, et n'appuyez pas tous vos espoirs dessus. Sans quoi, vous allez au devant d'ennuis ultérieurs inutiles.</p>

<p>EDIT : Je n'en parle pas parce que ça n'est pas le sujet du billet, mais la protection de vos données et de celles de vos utilisateurs est également à prendre en compte.</p>


feed_id: http://hoa.ro/services-web
title: TOUS les services web fermeront un jour
uri: 2014-02-27-TOUS-les-services-web-fermeront-un-jour
url: http://hoa.ro/services-web
content:
<p>A l'heure avancée du web 2.0, ou le minitel 2.0 (centralisé) comme l'appellent certains, les services web pullulent sur internet. Un service est tout simplement un logiciel accessible en ligne fourni par un site web, qu'il soit une entreprise ou une âme généreuse. En tant qu'utilisateur final, il est facile de s'appuyer sur ces outils en raison de leur simplicité. Je pense que c'est une erreur, et voilà pourquoi.</p><h2>La solution facile</h2>

<p>Pourquoi y a-t-il autant de service en ligne aujourd'hui, et pourquoi sont-ils autant populaire ? La réponse est très simple. Ils ne sont que la réponse au besoin d'immédiateté qu'a créée l'information moderne.</p>

<p>Un service est une boîte noire. Sans le moindre effort, vous n'avez qu'à copier/coller un code, suivre un lien, donner une information personnelle, et la boîte noire se charge pour vous de ce que vous auriez mis des heures à réaliser. On peut prendre l'exemple très connu et répandu : Google Analytics, le service de statistiques.</p>

<p>Je pense que cet exemple est excellent, parce Piwik existe. Piwik c'est un logiciel open source qui fait globalement exactement la même chose que Google Analytics, qu'il est open source et qu'il faut héberger. Quel est la part de sites qui utilisent le service Google ? D'après <a href="http://w3techs.com/technologies/details/ta-googleanalytics/all/all">W3techs</a>, plus 55% des sites internet utilisent Google Analytics !</p>

<p>En clair, plus de 55% des sites web préfèrent utiliser un service externe, une boîte noire gérée par une entreprise, plutôt qu'ils gèrent eux même. Je rappelle que la qualité du rendu est vraiment très similaire. La solution facile du service est donc celle privilégiée par les acteurs du web...</p>

<h2>Fermeture inévitable</h2>

<p>Tout cela est assez basique et connu de la plupart d'entre nous. En revanche, saviez-vous que le service que utilisez ou avez prévu d'utiliser allait fermer ? Non, je n'exagère pas. Un service est par essence éphémère et destiné à fermer tôt ou tard. Cela peut être dans un an comme dans 5, 10, ou même 30 ans. Internet est un monde qui change extrêmement vite. Finalement, il s'est démocratisé il y a moins de 15 ans.</p>

<p>Puisque les explications théoriques ne sont pas ma spécialité, prenons des exemples concrets. Commençons par un service web, géré par une entreprise, comme il en existe des milliers. Prenons par exemple l'excellent éditeur d'images en ligne <a href="http://pixlr.com/editor/" title="pixlr">Pixlr</a> (j'en avais parlé <a href="http://aryo.fr/2011/09/test-5-editeurs-dimages-en-ligne/">ici</a>). Cet outil est donc fourni par Autodesk, une entreprise de génie mécanique. Hors vous connaissez la loi des marchés, il arrivera <strong>forcément</strong> un jour où l'outil coûtera trop cher par rapport à ce qu'il rapporte, où l'entreprise fermera, où la technologie sera dépassée et nuira à l'image de l'entreprise, etc.</p>

<p>J'ai pris un exemple marginal, et peu critique (j'utilise moi-même Pixlr lorsque je suis sûr un PC où je ne peux rien installer). Mais c'est vrai pour TOUS les services web. <a href="http://productforums.google.com/forum/#!topic/chat/7fddac4ZSMA">Je</a> <a href="http://www.ghacks.net/2011/04/16/google-video-closing-down-what-you-need-to-know/">n'ai</a> <a href="http://productforums.google.com/forum/#!topic/websearch/A3WY3R6Nu44">pas</a> <a href="http://www.computerworld.com/s/article/9220880/Google_kills_Buzz">besoin</a> <a href="http://www.begeek.fr/le-service-latitute-de-google-sera-ferme-le-9-aout-prochain-97516">de citer</a> <a href="http://facepunch.com/showthread.php?t=1133493">le géant</a> <a href="http://hoa.ro/google-arrete-reader">Google</a>. En clair, s'appuyer sur un service dans la conception d'un outil, est un risque énorme ; et souvent inutile. Un exemple qui me vient à l'esprit sont ces startups qui ne proposent qu'un enregistrement Facebook/Google. Elles se rendent dépendantes d'une API qui de toute façon évoluera ou fermera un jour.</p>

<p>J'ai parlé d'entreprise, mais je propose aussi un service : <a href="http://rssbridge.org">rssbridge.org</a>. Là, il n'y a aucun enjeu financier. Par contre, si je me fais écraser par un bus demain ou que je décide d'aller vivre en ermite au Népal, le problème est le même.</p>

<h2>Soyez intelligent</h2>

<p>Dans cet article, je n'essaye pas de montrer que les services web sont le mal absolu. Ils peuvent même être très utiles dans certains cas. Il faut juste qu'avant de l'utiliser, vous vous posiez cette question : <em>quand</em> (et non pas "si") <em>le service fermera, que se passera-t-il ?</em></p>

<p>Si la réponse est que ça n'a pas d'importance, aucun problème. Sinon cherchez une solution alternative. Il y en a toujours.</p>

<p>En bref, utilisez les services web intelligemment, et n'appuyez pas tous vos espoirs dessus. Sans quoi, vous allez au devant d'ennuis ultérieurs inutiles.</p>

<p>EDIT : Je n'en parle pas parce que ça n'est pas le sujet du billet, mais la protection de vos données et de celles de vos utilisateurs est également à prendre en compte.</p>


feed_id: http://hoa.ro/fever
title: Lecteur RSS - Feed a Fever
uri: 2014-02-27-Lecteur-RSS-Feed-a-Fever
url: http://hoa.ro/fever
content:
<p>Suite à la <a href="http://hoa.ro/google-arrete-reader" title="Billet">fermeture de Google Reader</a>, je suis parti en quête d'un remplaçant disponible en auto-hébergement. C'était le critère principal, d'abord pour s'affranchir des fermetures inopinées, mais aussi pour protéger mes données personnelles et ma vie privée. Après un petit périple, mon choix s'est arrêté sur Fever. Il ne conviendra pas à tout le monde, car il n'est pas libre et coûte $30. Mais je vous propose aujourd'hui un petit retour sur tout ça : ce que j'attends d'un lecteur RSS, ce que propose Fever et mon ressenti général.</p><h2>Je suis exigeant</h2>

<p>Déjà, je dois l'avouer, je suis exigeant. Le lecteur de flux RSS est une des applications web sur laquelle je passe le plus de temps sur mon navigateur. C'est un agrégateur de contenu, et l'ergonomie liée à la visualisation de ce contenu est primordiale.</p>

<p>Voici globalement ce que j'attends du lecteur idéal :</p>

<ul>
<li>Une bonne expérience utilisateur : navigation possible au clavier, pas de pagination (AJAX), des dossiers, un marquage comme lu automatique, etc.</li>
<li>Rétention des éléments lus avec une durée plus ou moins longue (je n'ai pas les serveurs de Google).</li>
<li>Possibilité de sauvegarder les éléments.</li>
<li>Dispose d'une API.</li>
</ul>

<p>J'en ai essayé un certain nombre... <a href="http://projet.idleman.fr/leed" title="">Leed</a>, <a href="https://github.com/tontof/kriss_feed" title="KrissFeed">KrissFeed</a>, <a href="http://tt-rss.org/redmine/projects/tt-rss/wiki" title="TTRSS">TinyTinyRSS</a>, <a href="http://selfoss.aditu.de/" title="">selfoss</a> (pas mal d'ailleurs) et 2-3 autres dont j'ai oublié le nom. Aucun de ceux là n'a su répondre à tous mes besoins.</p>

<p>Et puis, un mois après l'annonce de la fermeture de Google Reader, je suis tombé un peu par hasard sur <a href="http://feedafever.com/" title="Fever">la page de Fever</a>. Le design est alléchant, les features semblent bonnes et il y a même une API (sur les items uniquement). Seul problème, il coûte $30 et ne propose pas de démo. De plus, il annonce clairement <em>"No refund"</em>.</p>

<p>Un pari à $30 ? Allons-y !</p>

<h2>Fever a de la gueule</h2>

<p>Commençons par une petite série de screenshots, histoire de donner une idée :</p>

<p><img src="media/a62131ab.fever-feeds-full.jpg" data-original-source="http://hoa.ro/data/images/fever/fever-feeds-full.jpg" alt="fever-feeds-full.jpg" title="" /></p>

<p>Ou avec la liste des flux masquée :</p>

<p><img src="media/37147373.fever-feeds.jpg" data-original-source="http://hoa.ro/data/images/fever/fever-feeds.jpg" alt="fever-feeds.jpg" title="" /></p>

<p>L'ajout de flux, avec quelques options pour chaque flux :</p>

<p><img src="media/25a7c691.fever-add-feed.jpg" data-original-source="http://hoa.ro/data/images/fever/fever-add-feed.jpg" alt="fever-add-feed.jpg" title="" /></p>

<p>Des options plus générales :</p>

<p><img src="media/09615daa.fever-settings-behavior.jpg" data-original-source="http://hoa.ro/data/images/fever/fever-settings-behavior.jpg" alt="fever-settings-behavior.jpg" title="" /><img src="media/a6933c30.fever-settings-share.jpg" data-original-source="http://hoa.ro/data/images/fever/fever-settings-share.jpg" alt="fever-settings-share.jpg" title="" /></p>

<h2>Petit tour des features</h2>

<p>Globalement, Fever répond à peu près à tout ce que j'attends d'un lecteur : catégories, ajout de flux, import OPML, export, durée de rétention des items paramétrable (je suis à 10 semaines), possibilité de sauvegarder des items, update par cron ou JavaScript, etc.</p>

<p>Par contre, il y a deux petites features auxquelles je ne m'attendais pas vraiment et qui sont une agréable surprise.</p>

<p>D'abord les "sparks", qui permettent d'y ranger tous les flux qui sont trop verbeux : les journaux "officiels", les sites de news, Gizmodo, etc. Les flux classés comme "spark" n'apparaissent plus dans la liste des items non lus, et évitent de noyer les "petits" blogs sous une tonne d'informations pas toujours pertinentes.</p>

<p>Les sparks permettent aussi d'alimenter la fonctionnalité phare de Fever qui sont les sujets <em>"Hot"</em>. L'idée, c'est de recouper les liens entre les différents flux d'information pour en ressortir les sujets principaux. En soi... je ne dirais pas que c'est super utile. Par contre, depuis que j'ai importé tous les Shaarlis, c'est génial ! Voyez plutôt, LE sujet chaud sur une semaine :</p>

<p><img src="media/9c3a6e16.fever-hot-week.jpg" data-original-source="http://hoa.ro/data/images/fever/fever-hot-week.jpg" alt="fever-hot-week.jpg" title="" /></p>

<p>Aller, pour le plaisir, le top 5 des articles les plus partagé dans la sharliosphère depuis un mois (joli néologisme !) :</p>

<ul>
<li>46.0°C : <a href="http://bluetouff.com/2013/07/21/carla-bruni-sarkozy-anatomie-dune-cyber-catastrophe-a-410-000-euros-pour-le-contribuable/" title="Carla" onclick="window.open(this.href);return false;">Carla Bruni Sarkozy : Anatomie d’une cyber catastrophe à 410 000 euros pour le contribuable</a></li>
<li>45.3°C : <a href="http://nexen.mkdir.fr/shaarli-tv/" title="ShaarliTV" onclick="window.open(this.href);return false;">ShaarliTV</a></li>
<li>45.3°C : <a href="http://forum.ovh.com/showthread.php?t=89592" title="Le serveur dédié à 2.99 €" onclick="window.open(this.href);return false;">Le serveur dédié à 2.99 €</a></li>
<li>43.9°C : <a href="http://www.miximum.fr/tutos/1546-enfin-comprendre-git" title="Pour arrêter de galérer avec Git" onclick="window.open(this.href);return false;">Pour arrêter de galérer avec Git</a></li>
<li>43.3°C : <a href="http://korben.info/snowden.html" title="« J’ai fait ce que j’ai cru bon »" onclick="window.open(this.href);return false;">« J’ai fait ce que j’ai cru bon »</a></li>
</ul>

<h2>Navigation fluide</h2>

<p>Ensuite, au niveau de l'UX, c'est assez rêvé en fait. TOUT peut se faire au clavier. Quelques exemples :</p>

<ul>
<li>Flèches directionnelles pour naviguer entre les catégories et les flux.</li>
<li>Le classique J/K pour suivant/précédent (pourquoi, d'ailleurs ?).</li>
<li>u : afficher/masquer les éléments non lus.</li>
<li>f : masquer les flux.</li>
<li>a : marquer comme lu tout ce qui est dans la catégorie courante.</li>
<li>d : un petit shaare (paramétrable)</li>
</ul>

<p>Etc, etc. La quasi totalité des actions ont un raccourci clavier associé. Ça rend la navigation vraiment agréable. Ah, et bien sûr, pas de pagination mais un défilement en AJAX.</p>

<h2>Conclusion</h2>

<p>Vous l'aurez compris, c'est pour moi un pari réussi. Ça fait plus de 3 mois que j'utilise Fever, je maîtrise maintenant les raccourcis et les subtilités de l'interface et... c'est un vrai plaisir.</p>

<p>Mais quand même, il faut bien présenter quelques points négatifs :</p>

<ul>
<li>Ce n'est pas libre.</li>
<li>Ca coûte quand même $30, ce n'est pas rien.</li>
<li>Il n'y a pas vraiment de support : ça a été développé par une personne, qui annonce clairement qu'elle est débordée et que Fever n'est pas sa priorité.</li>
<li>J'ai un petit bug qui fait que des fois, je ne peux pas aller sur le dernier item en défilant (vraiment mineur...).</li>
</ul>

<p>Attention aussi, je suis passé sur un <a href="http://www.online.net/fr/serveur-dedie/dedibox-classic" title="Dedibox">quad core</a> et je rafraichis mes 300 flux toutes les 20 minutes. Avec un plus petit serveur, il est possible que ça soit un peu plus difficile d'avoir ce genre d'utilisation.</p>

<p>Voilà, je pense avoir fait le tour. Le but n'est pas de faire de la pub, mais simplement de décrire un peu un outil dont on ne trouve pas grand chose sur le net.</p>

<p>PS : Les screenshots sont vraiment dégueulasses, désolé.</p>


feed_id: http://hoa.ro/ceremonie-d-inauguration
title: Cérémonie d'inauguration !
uri: 2014-02-27-Cérémonie-d-inauguration
url: http://hoa.ro/ceremonie-d-inauguration
content:
<p>C'est toujours avec une certaine émotion que l'on écrit le premier billet d'un blog tout beau, tout neuf que l'on a crée avec ses petites mains. En introduction, je voudrais donc vous présenter les motivations qui m'ont poussée à finalement créer <a href="http://hoa.ro" title="hoa.ro">hoa.ro</a> et aussi justifier mes choix techniques : <a href="http://www.pluxml.org/" title="PluXML">PluXml</a> et <a href="http://http://sebsauvage.net/wiki/doku.php?id=php:shaarli" title="Shaarli">Shaarli</a>.</p><h2>Arthur Hoaro : site personnel</h2>

<p>Certains m'ont déjà lu, puisque j'écris de façon irrégulière sur <a href="http://aryo.fr" title="aryo.fr">aryo.fr</a>, un blog où on cause un peu de tout. A côté de ça, je tiens un <a href="http://wiki.hoa.ro/" title="Arthur Hoaro Wiki">wiki</a> sur divers sujets techniques et participe à mon échelle à des projets open source comme le <a href="https://github.com/mitsukarenai/Projet-Autoblog" title="Github Autoblog">Projet Autoblog</a> (en cours de développement). J'héberge aussi plusieurs service perso sur mon domaine hoa.ro, comme ma webmail (<a href="http://roundcube.net/" title="Site officiel RoundCube Mail">RoundCube</a>).</p>

<p>Tout ça pour dire que j'ai estimé qu'il était temps de créer un site personnel pour rassembler tout ça !</p>

<h2>Pourquoi PluXml ?</h2>

<p>Le blog (et les "pages statiques") sont donc générées avec le moteur de blog PluXml. Un CMS de blog plutôt complet qui gère ses données avec des fichiers XML. Je n'ai rien contre les SGBD, au contraire, mais c'est sa simplicité et sa communauté qui m'ont amené à ce choix. Et après les quelques jours que j'ai passé à coder tout ça, je ne regrette absolument pas !</p>

<p>Quelles autres technologies étaient en lice ? <a href="http://lehollandaisvolant.net/blogotext/fr/" title="Blogotext">Blogotext</a> de Timo, qui me fait de l’œil depuis un moment et <a href="http://docs.getpelican.com/en/3.1.1/" title="Pelican">Pelican</a>, le générateur de blog statique (tiens, que des technos françaises).</p>

<p>Pour Pelican, ça a été vite réglé. Même si le système de blog statique paraît intéressant, la gestion des commentaires via Disqus n'était pas envisageable pour moi. J'ai quand même hésité à désactiver les commentaires, mais j'aurais été bloqué par la suite si je changeais d'avis.</p>

<p>Pour Blogotext, je l'ai installé et testé. Je n'ai pas grand chose à redire, ça correspond à ce que je cherchais. Il y a quand même eu deux choses qui m'ont gêné :</p>

<ul>
<li>pas de gestion de plugins</li>
<li>la licence trop restrictive à mon goût pour un logiciel (<a href="http://creativecommons.org/licenses/by-nc/2.0/fr/" title="CC-BY-NC">CC-BY-NC</a>)</li>
</ul>

<p>Bref, tout ça pour dire que PluXML ne présentait aucun de ces quelques points négatifs, et qu'il est bien foutu. En plus, j'avais <a href="http://psytours.fr" title="psytours">déjà</a> eu affaire à lui. A la limite le seul désavantage que je lui vois (et qui est vu comme un avantage par beaucoup), c'est son stockage en XML alors que les SGBD facilitent certaines opérations de maintenance et peuvent améliorer les performances ; surtout pour un blog.</p>

<p>Nous y voilà donc, avec PluXML. Après avoir codé ce site, j'ai réussi à faire ce que je voulais sans toucher au noyau. J'ai simplement modifié un ou deux plugins. Par contre, j'ai quand même du faire appel une fois ou deux au moteur (<em>noyau</em>) parce que certaines fonctions d'affichage ne permettent aucune personnalisation (les flux RSS par exemple). Retour assez positif, donc !</p>

<h2>Shaarli</h2>

<p>En plus du blog, j'utilise Shaarli pour publier des liens et ne pas polluer le blog. Ca ne risque pas de mettre en péril ma régularité de publication, j'étais déjà très irrégulier !</p>

<p>Au niveau technique, pas grand chose à dire. Je l'avais testé et modifié il y a quelques temps déjà. J'ai pu constater sur <a href="https://github.com/sebsauvage/Shaarli" title="Github Shaarli">Github</a> que Sebsauvage avait corrigé le bug que je lui avait remonté. J'ai adapté Shaarli pour l'intrégrer au design d'hoa.ro. Bon, d'accord, j'ai pesté quelques fois contre les templates un peu bordéliques, mais je n'ai pas eu de problème particulier.</p>

<p>J'ai déjà bien fait chauffer le clavier pour un article d'introduction. Si vous voulez plus d'infos, je vous laisse retrouver la page <a href="http://hoa.ro/a-propos" title="A propos - Hoa.ro">A propos</a>.</p>


feed_id: http://hoa.ro/chez-mozilla-la-securite-avant-la-liberte
title: Chez Mozilla, la sécurité avant la liberté
uri: Chez-Mozilla-la-sécurité-avant-la-liberté
url: http://hoa.ro/chez-mozilla-la-securite-avant-la-liberte
content:
<p>Le 10 février, Mozilla <a href="https://blog.mozilla.org/addons/2015/02/10/extension-signing-safer-experience/">a annoncé sur son blog</a> qu'ils allaient prochainement introduire une nouvelle feature au sein de son navigateur Firefox : <em>la signature des extensions</em>. L'idée en soi est plutôt bonne ; jusqu'à la lecture du paragraphe qui nous explique que la signature des extensions sera <em>obligatoire</em> après la période de transition. Il ne sera alors plus possible d'installer des extensions qui n'auront pas été signées sur la plateforme de développement de Mozilla. Qui a dit Apple App Store ? Voyons pourquoi c'est la plus mauvaise idée venant de Mozilla que j'ai entendu depuis longtemps.</p><p>La première raison est parfaitement évidente. Firefox est un navigateur qui s'est construit grâce à son ouverture et à sa liberté utilisateur. Le verrouiller ne peut pas être considéré comme une bonne chose, surtout lorsque l'objet du verrou est également ce qui fait la force de ce navigateur : les extensions.</p>

<p>En ne prenant en compte que des considérations pratiques, s'il y a une seule raison qui m'empêche d'aller voir chez la concurrence, ce sont les extensions de Firefox. Et plus particulièrement <a href="https://addons.mozilla.org/fr/firefox/addon/tree-style-tab/">celle-ci</a>. Parlant de cette extension, j'ai déjà du la mettre plusieurs fois à jour récemment à partir du site du <a href="http://piro.sakura.ne.jp/xul/_treestyletab.html.en">site du développeur</a> parce qu'elle n'était pas à jour sur le <em>"Mozilla Store"</em>. Je ne sais pas à quoi était dû la latence, mais toujours est-il qu'avec ce système de signature j'aurais pu me garder ma version buguée quelque temps.</p>

<p>Cela dit, ne tombons pas dans le procès d'intention, et étudions d'un peu plus près ce qu'on nous dit concrètement à propos de cette... <em>feature</em>.</p>

<h3>1. C'est devenu indispensable pour la sécurité du navigateur et des utilisateurs.</h3>

<p>D'une part, si je comprends que cette sécurité puisse être utile pour ma tante incapable de résister à l'envie d'installer toutes les toolbars et autres crapwares qui croisent sa route, je pense être un utilisateur un peu plus avisé. Le fait de ne même pas me laisser une option pour installer des addons non-signés est déconcertant.</p>

<p>D'autre part, durant le mois de janvier passé, de nombreuses voix se sont élevées pour rappeler au pouvoir en place que la surenchère de sécurité au détriment des libertés individuelles est inadmissible et contre-productive. Je pense notamment à <a href="https://www.laquadrature.net/fr">la Quadrature</a>. Je trouve que l'analogie est particulièrement juste ici, dans une moindre mesure évidemment.</p>

<h3>2. Vous pouvez toujours installer des extensions non-signées... sur les versions beta et alpha.</h3>

<p>Je sais qu'il y en a parmi vous qui sont des adeptes du bleeding edge, mais de mon côté je préfère avoir du <em>stable</em> quand on parle de quelque chose aussi central que le navigateur. Ça n'est pas ce que j'appelle une solution.</p>

<p>Mais surtout, dans quel monde est-il envisageable de développer une extension lorsque l'on ne peut pas la tester le même environnement que celui utilisé par les utilisateurs ? La question a été posée dans les commentaires, et je trouve la réponse délicieuse.</p>

<blockquote>
  <p><em>"There will be unbranded builds of Beta and Release where developers will be able to test their add-ons. The only differences between those builds will be the signature checking and the branding (name and logo)."</em></p>
</blockquote>

<p>Clairement, ils vont proposer eux même un fork de Firefox qui fait sauter la sécurité et la marque Firefox. C'est beau.</p>

<h3>3. Il y aura une période de transition de deux releases (12 semaines en tout) durant laquelle les extensions non-signées ne génèreront qu'un avertissement dans Firefox.</h3>

<p>Sous entendu, lorsque le système de signature sera mis en place, <strong>TOUTES les extensions</strong> de l'écosystème Firefox devront être mises à jour (et signée) dans un délai de 12 semaines. Au delà : extension non autorisée. Et bien sûr les anciennes version : poubelle.</p>

<h3>Conclusion</h3>

<p>Il n'y a pas grand chose de plus à en tirer sinon qu'on nous sort la carte de la sécurité utilisateur à toutes les sauces. Je ne sais pas trop quelle mouche les a piqué mais ce verrouillage non optionnel est ridicule. Même Android (Google) permet d'installer des applications en dehors de son <em>Play Store</em>.</p>

<p>J'espère sincèrement un rétro-pédalage de leur part, ou au pire, s'arrêter à l'idée de la période de transition : une extension non signée génère un warning, un peu comme un certificat SSL non signé.</p>

<p>Sinon, un n-ième fork verra probablement le jour, et il se pourrait bien que ça soit le bon pour moi ; faute d'une meilleure alternative en tout cas.</p>

<p>PS : La phase de transition est prévue pour le deuxième trimestre 2015.</p>


feed_id: http://hoa.ro/cyanogenmod-c-est-fini-lineageos-fork
title: CyanogenMod, c'est fini... enfin, pas tout à fait
uri: CyanogenMod-c-est-fini-enfin-pas-tout-à-fait
url: http://hoa.ro/cyanogenmod-c-est-fini-lineageos-fork
content:
<p>Le 23 décembre, le blog de Cyanogen Inc. publiait une courte note titrant « Les services Cyanogen s'arrêtent ». Le célèbre OS open source pour smartphone Android, CyanogenMod, est étroitement lié à la société du même nom. Sans le support de Cyanogen Inc., plusieurs questions se posent donc aujourd'hui concernant l'avenir de la plateforme. Essayons de faire le tour de la question.</p><h2>CyanogenMod et Cyanogen Inc.</h2>

<p>Je vous propose un rapide historique de l'histoire de Cyanogen. Dès les premières versions d'Android, un groupe de développeurs trouve une faille de sécuríté permettant l'escalade de permissions, et donc de gagner un accès root sur un appareil Android. C'est à partir de là qu'est né un système d'exploitation alternatif basé sur la partie open source d'Android développée par Google (AOSP). Ce système c'est CyanogenMod.</p>

<p>L'accès root combiné à la maîtrise des sources de l'OS ont permis de pousser les options de personnalisation d'Android (initialement assez austères), d'assurer les mises à jour de téléphones abandonnés par les constructeurs, de virer les lourdes surcouches constructeurs souvent accompagnées de publicités, etc. Bref, grâce à ces possibilités, le gain de popularité de CyanogenMod a été fulgurant.</p>

<p>Un succès qui a entraîné la création en 2013 de Cyanogen Inc., une société destinée à commercialiser CyanogenMod, ayant très rapidement levé 7 millions de dollars. L'entreprise obtiens rapidement des résultats par l'intermédiaire de partenariats avec des constructeurs, comme pour le célèbre OnePlus ; mais également avec éditeurs logiciels, comme avec Microsoft en incluant ses services (Bing, Skype, Outlook, etc.) par défaut dans son système d'exploitation.</p>

<h2>Cyanogen Inc. shutdown</h2>

<p>Face à ce succès, on peut se demander ce qui pousse la société à cesser ses activités aujourd'hui. Il s'agit en fait d'une <em>très</em> mauvaise décision, pour ne pas dire malhonnête, prise par son PDG <em>Kirt McMaster</em>.</p>

<p>En 2014, Cyanogen Inc. se lie d'un partenariat avec le constructeur OnePlus pour équiper ses téléphones de CyanogenMod. Au vu du succès du OnePlus, on pourrait croire à un beau succès.</p>

<p>Sauf que quelques mois plus tard, Cyanogen Inc. s'associe à une autre entreprise, au travers d'un partenariat <strong>exclusif</strong>, le constructeur indien MicroMax. La société indienne attaque alors en justice OnePlus pour l'utilisation de l'OS sur lequel il a l'exclusivité sur le marché indien, et obtient l'interdiction de la commercialisation du OnePlus en Inde pendant plusieurs mois.</p>

<p>Autant dire que le capital confiance accumulé par l'entreprise et son PDG avait autant de valeur que le cadeau de noël offert au cousin par alliance que l'on croise pour la 3ème fois de sa vie.</p>

<p>Quoiqu'il en soit, en ce mois de décembre 2016, Cyanogen Inc. annonce sa décision de cesser ses activités.</p>

<h2>La suite</h2>

<p>Toutefois, n'oublions pas que le code source de CyanogenMod est libre et qu'une majorité de ses contributeurs ne sont pas liés à Cyanogen Inc. L'équipe de développement a donc publié une note expliquant la route qu'allait prendre le système d'exploitation. Cette note aujourd'hui indisponible peut être <a href="http://web.archive.org/web/20161224185551/https://www.cyanogenmod.org/blog/a-fork-in-the-road">retrouvée ici<sup><small>(en)</small></sup></a>.</p>

<p><strong>CyanogenMod est mort, vive <strike>le Roy</strike> LineageOS.</strong></p>

<p>En effet, suite à la débâcle de Cyanogen Inc., de l'avenir incertain de l'entreprise, l'équipe a préférer se dédouaner complètement de celle-ci en passant par un rebranding - c'est-à-dire un fork. Fini donc Cyanogen.</p>

<p>Rien ne devrait être perdu en passant à <em>LineageOS</em> puisque CyanogenMod n'incluait pas de contenu au sources propriétaires (sauf peut être au travers de ses partenariats avec les constructeurs). Il faut tout de même s'attendre à un petite période de flottement puisque, rappelons-le, toute l'infrastructure serveur de CyanogenMod est aujourd'hui indisponible.</p>

<p>Quoiqu'il en soit, n'installez plus de nouvelle version de CyanogenMod et faites attention à l'endroit où vous récupérez vos binaires, ces périodes sont toujours propices au petits malins mal intentionnés.</p>

<p><a href="http://lineageos.org/">LineageOS sera disponible par ici.</a></p>


