• Ha chevron_right

      Brève sur DuckDuckGo

      motius · pubsub.gugod.fr / hashtagueule · Sunday, 19 June, 2016 - 22:00

    Bonjour à tous ! À la suite d'une recherche  infructueuse sur beaucoup de moteurs de recherche (Qwant, Google, Yahoo, et DuckDuckGo), j'ai remarqué que les résultats de mon mot-clef obscur que DDG me présentait étaient les mêmes que ceux de Yahoo. Coïncidence ? Je ne crois pas ! Il y a déjà eu des ...

    Bonjour à tous !

    À la suite d'une recherche  infructueuse sur beaucoup de moteurs de recherche (Qwant, Google, Yahoo, et DuckDuckGo), j'ai remarqué que les résultats de mon mot-clef obscur que DDG me présentait étaient les mêmes que ceux de Yahoo.

    Coïncidence ? Je ne crois pas !

    Coincidence-i-think-not

    Il y a déjà eu des histoires de résultats volés entre moteurs de recherche, mais ceci n'en est pas une : depuis "quelques années" DDG et Yahoo collaborent : cf. la déclaration de DDG ici et celle de Yahoo .

    Pas vraiment une nouvelle donc, mais une avancée dans l'univers DuckDuckGo (qui est vaste et probablement intéressant).

    Bonne journée et à très bientôt !

    Motius

    • Ha chevron_right

      StartCom contre attaque

      raspbeguy · pubsub.gugod.fr / hashtagueule · Tuesday, 14 June, 2016 - 22:00 · 3 minutes

    Depuis l'ouverture de l'autorité de certification Let's Encrypt en décembre dernier, que de joie et d'allégresse ont été répandues en célébration de cette facilité nouvelle pour créer ses certificats. Tous les sysadmins amateurs, y compris nous, ont migré vers ce service qui permettait, une fois con...

    Depuis l'ouverture de l'autorité de certification Let's Encrypt en décembre dernier, que de joie et d'allégresse ont été répandues en célébration de cette facilité nouvelle pour créer ses certificats. Tous les sysadmins amateurs, y compris nous, ont migré vers ce service qui permettait, une fois configuré, de ne plus se soucier d'une corvée que la validation de certificats impose d'habitude.

    Par le fait, Let's Encrypt a gagné énormément d'utilisateurs en très peu de temps, au dépends d'autres autorités de certification, dont StartCom et son service StartSSL, qui fournit également des certificats gratuits reconnus par la plupart des navigateurs. Aujourd'hui, StartCom riposte avec un nouveau service automatisé.

    StartCom a envoyé un mail à ses utilisateurs pour annoncer la nouvelle.

    StartCom, a leading global Certificate Authority (CA) and provider of trusted identity and authentication services, announces a new service – StartEncrypt today, an automatic SSL certificate issuance and installation software for your web server.

    StartEncrypt is based the StartAPI system to let you get SSL certificate and install the SSL certificate in your web server for free and automatically, no any coding, just one click to install it in your server.

    Compare with Let’s Encrypt, StartEncrypt support Windows and Linux server for most popular web server software, and have many incomparable advantages as:

    (1) Not just get the SSL certificate automatically, but install it automatically;

    (2) Not just Encrypted, but also identity validated to display EV Green Bar and OV organization name in the certificate;

    (3) Not just 90 days period certificate, but up to 39 months, more than 1180 days;

    (4) Not just low assurance DV SSL certificate, but also high assurance OV SSL certificate and green bar EV SSL certificate;

    (5) Not just for one domain, but up to 120 domains with wildcard support;

    (6) All OV SSL certificate and EV SSL certificate are free, just make sure your StartSSL account is verified as Class 3 or Class 4 identity.

    StartEncrypt together with StartSSL to let your website start to https without any pain, to let your website keep green bar that give more confident to your online customer and bring to online revenue to you. Let’s start to encrypt now.

    Pour résumer, StartEncrypt supporte également les certificats plus "professionnels" (comprendre plus onéreux) dont les certificats EV, qui permettent d'avoir un témoin dans le navigateur indiquant la société qui possède le certificat (cette catégorie de certificats indique que la vérification d'identité est plus stricte, mais sur le plan algorithmique, la sécurité est la même), ainsi que les wildcard (nombre de sous-domaines illimités).

    Du point de vue technique, l'utilitaire fourni par StartCom est un binaire opaque, en licence propriétaire, et il est donc impossible de vérifier les effet du programme, d'autant plus qu'il s'exécute en root et que l'une des fonctionnalités est de toucher directement aux configurations du serveur web, comme ce que propose Let's Encrypt, et donc les chances de casser une installation existent (que ce soit à cause de cochonneries volontaires ou de bugs d'innatention ce qui arrive plus souvent que ce que l'on veut bien croire).

    Précisons que si on tient à rester sous StartSSL, il existe une API qui permettait d'automatiser ce travail bien avant StartEncrypt, et dont des implémentations par des tiers sont trouvables, même si je n'en ai pour le moment testé aucune.

    • Ha chevron_right

      xonsh, le shell pythonique

      raspbeguy · pubsub.gugod.fr / hashtagueule · Friday, 3 June, 2016 - 22:00 · 2 minutes

    Une petite news en provenance du PyCon, la convention centrée sur Python. Xonsh est un nouvel interpréteur de lignes de commandes, et s'inscrit dans la longues liste des programmes dont la prononciation du nom va nuire à de nombreuses oreilles et va faire l'objet d'intenses discussions autour de la ...

    Une petite news en provenance du PyCon, la convention centrée sur Python. Xonsh est un nouvel interpréteur de lignes de commandes, et s'inscrit dans la longues liste des programmes dont la prononciation du nom va nuire à de nombreuses oreilles et va faire l'objet d'intenses discussions autour de la machine à café.

    Un nouveau shell est né. C'est le genre de nouvelles qui, chez les sysadmins, fait pousser des hourras pour les uns et fait ricaner doucement les autres. Un petit points sur quelques unes de ses caractéristiques.

    Nombreux sont les administrateurs frustrés par les efforts  de frappe de texte lorsqu'il s'agit d'utiliser Bash, et qui préfèrent carrément se faire des scripts Python à la place. En effet, si vous vous souvenez de mon tutoriel Let's Encrypt, vous verrez des commandes Bash assez longues (et encore, ce n'est rien comparé à d'autres).

    Xonsh promet d'allier la robustesse de Bash et l'aisance de Python. Car oui, en Python, on tape en une ligne ce que d'autres langages permettent de faire en 10, pour peu que l'on dispose des bonnes bibliothèques. Xonsh dispose apparemment de plus de commandes internes, ce qui lui permet par exemple d'effectuer des calculs tout simplement en les tapant dans le prompt, sans autre forme de procès, par exemple :

    root@marvin ~ # 1 + 2 \* 3
    7

    On retrouve aussi une grande prise en charge des expressions régulières, utiles pour le glob des noms de fichiers par exemple. De quoi mettre les bons vieux utilitaires comme grep, sed, cut et awk à la retraite...

    Je vous laisse découvrir ci-dessous une démonstration de l'utilisation de Xonsh.

    On ne pourra s'empêcher de se rappeler, et les contributeurs de Xonsh le citent eux-même, le shell Fish, censé être beaucoup plus amusant à utiliser à grand coup de couleurs et d'auto-complétion à tout-va. Même si ce shell est très agréable à utiliser, son seul point fort est sa dorure extérieure. Pour ce qui était du scripting, il utilise des standards pas franchement catholiques, dans le sens qu'ils étaient fondamentalement opposés à ceux de Bash, et qu'il n'a pas réussi à imposer. Car dans le domaine des outils très fréquemment utilisés comme le shell, il n'y a que deux solutions : soit réussir à instaurer ses standards, soit se soumettre à ceux existants. Vous savez, les standards sont des choses très délicates, car par définitions, ils doivent rester très peu nombreux...

    Enfin bon, ici, il s'agit de Python, quand même, une technologie qui a fait ses preuves...

    • Ha chevron_right

      Fablab vs. Hackerspace

      raspbeguy · pubsub.gugod.fr / hashtagueule · Thursday, 19 May, 2016 - 22:00 · 4 minutes

    Quand on parle de DIY, on ne peut pas louper la grande vague des fablabs, hackerspace, et autres champignons de la même farine. Il s'agit des initiatives destinées à donner au peuple le moyen d'apprendre la technique, de se regrouper, de construire, de réparer, d'améliorer et de recycler à peu près ...

    Quand on parle de DIY, on ne peut pas louper la grande vague des fablabs, hackerspace, et autres champignons de la même farine. Il s'agit des initiatives destinées à donner au peuple le moyen d'apprendre la technique, de se regrouper, de construire, de réparer, d'améliorer et de recycler à peu près n'importe quoi. Ce que peu de personnes savent, c'est qu'il existent plusieurs philosophies au sein de ce groupe de joyeux bricoleurs, des philosophies qui sont parfois tellement différentes que cela tourne parfois au conflit politique et social.

    Depuis quelques semaines, je m'intègre au sein de l'activité de ces ateliers communautaires. J'ai pris connaissances des enjeux de chaque parti, j'ai noté les tensions qui peuvent les opposer, et dans chacun deux, il y a des ensembles d'éléments qui me plaisent et d'autres qui me déplaisent.

    Avant que vous ne continuiez la lecture de cet article, un avertissement. Une petite partie de ce texte reflétera ma prise de position et mon expérience personnelle. Je préfère personnellement les hackerspaces, mais si vous êtes partisan de l'autre école, s'il vous plaît, n'en soyez pas vexé. Comme toujours, si vous estimez que j'ai tort, vous pouvez toujours commenter ou venir nous en parler autour d'une bière virtuelle sur IRC.

    Le Fablab, un espace rangé, discipliné.

    Le Fablab, un espace rangé, discipliné.

    Fablabs : la pointe du matériel au service de l'individu

    C'est probablement le type d'atelier communautaire le plus médiatisé. Probablement parce qu'il promeut un modèle industriel original.

    On y fait quoi ?

    Avant tout, un Fablab est un atelier. Sa vocation est de permettre à n'importe quel bricoleur de réaliser son projet matériel. En gros vous arrivez avec votre idée, et vous ressortez avec sous le bras.

    Un Fablab est parfois amené à effectuer des prestations pour des entreprises, contre espèces sonnantes et trébuchantes. Il arrive même que le Fablab ait des horaires d'ouverture dédiés aux entreprises, et donc fermé à tous les autres utilisateurs.

    Quel statut ?

    Un Fablab, pour être considéré comme tel, doit se plier à la charte commune des fablabs du monde entier, charte mise au point par un éminent professeur du MIT. En contrepartie, le Fablab bénéficie de la reconnaissance des autres Fablabs et dispose de la base de conaissance du grand réseau commun mondial des Fablabs.

    Quelles conditions ?

    Le Fablab dispose en général de matériel relativement neuf et de bonne qualité, ce qui implique généralement des frais à l'utilisation pour l'utilisateur ; selon moi, ces utilisateurs sont des clients plus que des contributeurs du Fablab.

    Le Hackerspace : un fouilli sans nom, un nid humain.

    Le Hackerspace : un fouilli sans nom, un nid humain.

    Hackerspaces : bienvenue à bord, matelot.

    Les Hackerspaces ont une définition volontairement plus floue et plus libre.

    On y fait quoi ?

    Au Hackerspace, on peut y faire absolument toute activité constructive, dans une multitude de domaines : informatique et électronique bien sûr, mais également mécanique, menuiserie, art, musique, parfois même jardinage, cuisine... Certains Hackerspaces sont un peu spécialisés dans certains domaines. L'idée étant que si vous savez faire un truc, vous êtes cordialement invité à mener un atelier ponctuel ou récurrent, afin d'initier des nouvelles personnes.

    On y aide également des personnes extérieures et d'autres associations, notamment en organisant des install party, en construisant des meubles et des installations diverses.

    L'activité d'un Hackerspace est aussi militante : outre la tendance des membres d'un hackerspace à favoriser et inciter à l'usage du libre (ce qui est une très bonne habitude), il peut aussi avoir une conviction politique en son sein. Comprenez-moi bien, un Hackerspace accueille les gens de tout bord politique avec le même intérêt. Il arrive que la question de la politisation de l'association se pose, en particulier pour son fonctionnement interne.

    Quel statut ?

    Un Hackerspace est avant tout une association, et les personnes qui le fréquentent en sont des membres, qui ont donc un pouvoir de décision au sein de la communauté. Il existe des rassemblement de Hackerspaces, sans empêcher chaque Hackerspace d'être autonome.

    Quelles conditions ?

    Dans un Hackerspace, si la bière peut couler à flot, ce n'est pas le cas de l'argent. Ici, toutes les actions sont bénévoles, l'intégralité du budget vient des (très maigres) cotisations des membres et des éventuels dons, financiers ou matériels. En général, les ustensiles utilisés sont vieux, récupérés et recyclés. La mentalité du Hackerspace est donc de faire du neuf avec du vieux plutôt que d'avoir des outils derniers cris pour être plus efficace.

    Exemple de récup : un réflecteur de lampe bricolé à partir du capot d'un vieux PC

    Exemple de récup : un réflecteur de lampe bricolé à partir du capot d'un vieux PC

    Alors, dois-je aller au Fablab ou au Hackerspace ?

    Si vous cherchez un endroit ou bricoler, si vous avez dans votre ville accès "uniquement" à l'un ou l'autre, alors allez-y sans vous poser de question, car vous êtes chanceux ! Il existe encore de nombreux endroits, notamment en campagne, ou il n'y a ni l'un ni l'autre. Si vous avez le choix entre un Fablab ou un Hackerspace à l'endroit ou vous êtes, cela dépend de votre besoin. Voici un récapitulatif des orientations des uns et des autres si on devait résumer grossièrement leurs motivations :

    • Le Fablab incite à l'innovation, tandis que le Hackerspace vise à lutter contre l'obsolescence programmée.
    • Le Fablab pousse à rendre les gens autonomes, tandis que le Hackerspace croit plutôt à l'entraide au sein d'une communauté.
    • Le Fablab vise le domaine de l'industrie, tandis que le Hackerspace préfère le bricolage amateur.

    Happy hacking !

    • Ha chevron_right

      David Revoy

      raspbeguy · pubsub.gugod.fr / hashtagueule · Monday, 2 May, 2016 - 22:00 · 1 minute

    Aujourd'hui un nouveau coup de cœur sur un de ces artistes qui utilisent le libre comme outil de production, y compris dans la licence de leurs œuvres. David Revoy est un artiste et informaticien français. Il a à son actif plusieurs projets déjà bien connus, comme la direction artistique du court-mé...

    Aujourd'hui un nouveau coup de cœur sur un de ces artistes qui utilisent le libre comme outil de production, y compris dans la licence de leurs œuvres.

    David Revoy est un artiste et informaticien français. Il a à son actif plusieurs projets déjà bien connus, comme la direction artistique du court-métrage Sintel, un des splendides projets Blender. Il a également travaillé sur des jeux vidéos, et il a notamment eu l'occasion de travailler pour Valve.

    Capture du court métrage Sintel

    Sintel, sorti en 2010

    La raison qui me pousse à parler de lui, outre le fait toujours appréciable qu'il publie toutes les œuvres dont il a la propriété morale en licence Creative Common, c'est le projet dans lequel il se concentre le plus en ce moment, c'est à dire son webcomic Pepper & Carrot, prenant place dans un univers fantasy remarquable, et racontant les aventure rafraîchissantes de la jeune et gentille sorcière Pepper et de son chat Carrot.

    Extrait d'une planche de Pepper & Carrot.

    Extrait d'une planche de Pepper & Carrot.

    L'univers dispose d'un magnétisme rarement atteint à mon sens. On sent l'influence manga dans le style, ce qui en fait assurément une œuvre fort intéressante. L'héroïne est tout-à-fait attachante, même si je ne suis peut être pas objectif, j'ai toujours eu un coup de cœur pourlespetitessorcières.

    Pour cette bande dessinée, David n'a utilisé que des outils libres sous GNU/Linux, notamment Krita, Inkscape et Gmic. Krita permet de faire du dessin bitmap, Inkscape pour le dessin vectoriel et Gmic pour la post-production.

    Si vous êtes comme moi sous le charme de cette sympathique petite sorcière, je vous invite à rétribuer l'artiste via sa page Patreon (j'aimerais qu'il existe un moyen plus orthodoxe librement parlant, mais bon, Rome ne s'est pas construite en un jour).

    À bientôt pour d'autres découvertes, et n'hésitez pas à partagez vos propres coups de cœur en commentaires ou sur IRC.

    • Ha chevron_right

      Groin d'Or #1 : Marco Marsala

      raspbeguy · pubsub.gugod.fr / hashtagueule · Thursday, 14 April, 2016 - 22:00 · 4 minutes

    EDIT : Il s'est révélé que le fait décrit dans cet article est une intox. Cependant, nous vous laissons ce contenu, car même si Marco Marsala est un sale menteur qui a voulu "promouvoir" sa boîte, les conclusions que nous en avons tiré restent valable, et il n'est pas inutile de remettre les pendule...

    EDIT : Il s'est révélé que le fait décrit dans cet article est une intox.Cependant, nous vous laissons ce contenu, car même si Marco Marsala est un sale menteur qui a voulu "promouvoir" sa boîte, les conclusions que nous en avons tiré restent valable, et il n'est pas inutile de remettre les pendules à l'heure.

    Mesdames, mesdemoiselles, messieurs, voici l'occasion de vous dévoiler une nouvelle récompense créée par Hashtagueule afin de mettre en valeur les pires erreurs/aberrations de l'informatique. Sans plus attendre, voici la première remise du Groin d'Or.

    Aujourd'hui, le lauréat du Groin d'Or est Marco Marsala. Cet homme tenait une entreprise d'hébergement italienne appelée Network Solution slr, et possédait environs 1500 clients. Je parle au passé, parce qu'hélas, cette entreprise n'existe plus aujourd'hui, à cause de circonstances tragiques que nous allons expliquer.

    Ce brave homme utilisait l'outil de déploiement massif de configuration Ansible. Pour faire simple, il s'agit d'un programme qui permet d'automatiser des opérations de maintenance et de déploiement sur un grand nombre de serveurs à la fois. L'usage d'un tel logiciel est parfaitement adapté à sa configuration, il a donc raison de le faire. Malheureusement, il l'a très mal utilisé. Je ne veux pas dire qu'il n'a pas su se servir d'Ansible en particulier, mais il a transgressé les lois de sécurité du royaume de la production.

    Dimanche dernier, Marco a posté une question sur le site bien connu de question/réponse pour les experts en administration système Server Fault. Voici sa question traduite en français :

    Je dirige une petite société d'hébergement avec plus ou moins 1535 clients et j'utilise Ansible pour automatiser certaines opérations devant être exécutées sur tous les serveurs. La nuit dernière, j'ai exécuté par mégarde, sur tous les serveurs, un script Bash contenant rm -rf {foo}/{bar}, ces variables n'étant pas définies suite à un bug en amont de cette ligne.

    Tous les serveurs ont été effacés, ainsi que les sauvegardes externes, vu que les volumes distants ont été montés juste avant par le même script (il s'agit d'un script de maintenance des sauvegardes).

    Comment puis-je maintenant me rétablir d'un rm -rf / aussi vite que possible ?

    Il s'agit d'une très bonne question, Marco. Si bonne que les seules solutions existantes sont si complexes, donc si chères, que tu ne pourra pas te les offrir.

    La situation semble si irréaliste, du fait de la négligence de cet administrateur système de pacotille, que la question a été prise par beaucoup pour un troll. Comme il aurait pu s'y attendre, Marco s'est pris des réponses cinglantes et acérées dans la figure :

    Pas besoin de conseils techniques, trouve toi un avocat.

    Tu viens d'atomiser ta société.

    Désolé de te le dire, mais ta boîte est morte en pratique.

    Il en résulte que Marco a bel et bien fait couler sa boîte, et il va vraisemblablement se retrouver avec un gros paquets d'ennuis financiers et juridiques, de la part de ses clients, qui se retrouvent le bec dans l'eau, avec leurs données perdues, leurs sites de vente hors ligne, ce qui peut également entraîner leurs propres entreprises dans le naufrage.

    Ce premier Groin d'Or est amplement mérité.

    Maintenant les enfants, que peut-on retenir de cette étude de cas ? Eh bien, il faut retenir ces quelques préceptes de la production :

    • Faites des sauvegardes : beaucoup, dupliquées, isolées. Ne vous amusez pas à placer tous vos œufs dans le même panier. Copiez vos sauvegardes sur des serveurs différents, et si possible, à des endroit géographiques différents. Limitez les communications avec ces serveurs de sauvegardes au strict minimum.
    • N'utilisez jamais en production quelque chose qui n'a pas été testé avec rigueur. Vous ne pouvez vous permettre aucun bug sur vos serveurs de production, c'est pour ça que l'on a inventé les stades de développement et de pré-production.
    • Un grand pouvoir implique de grandes responsabilités. Ici, plus vous avez de clients, plus vous aurez d'ennuis quand la situation sera intenable.

    La remise du Groin d'Or est maintenant terminée, à plus tard pour découvrir le prochain lauréat.

    EDIT 2 : Les clients de Marco Marsala ont du quand même faire une tête bizarre en voyant apparaître la nouvelle dans la presse.

    • Ha chevron_right

      Edward Snowden collabore pour... de la musique ?

      raspbeguy · pubsub.gugod.fr / hashtagueule · Thursday, 14 April, 2016 - 22:00 · 1 minute

    Oui, on a des nouvelles d'Edward Snowden. Mais franchement, je vous avoue que je ne m'attendais pas à ça. Le français Jean-Michel Jarre, compositeur de musique électronique français, un dinosaure de la musique électronique (67 ans, premier single sorti en 1971) a réussi à obtenir un contact avec Edw...

    Oui, on a des nouvelles d'Edward Snowden. Mais franchement, je vous avoue que je ne m'attendais pas à ça.

    Le français Jean-Michel Jarre, compositeur de musique électronique français, un dinosaure de la musique électronique (67 ans, premier single sorti en 1971) a réussi à obtenir un contact avec Edward Snowden via le journal The Guardian afin de lui proposer une collaboration pour un morceau de son nouvel album. Et le plus amusant dans l'histoire, c'est que Snowden a accepté.

    Jarre s'est dit sensible à ressemblance entre le combat de Snowden et la résistance pendant la Seconde Guerre mondiale, dans laquelle sa propre mère s'était engagée. Snowden, quant à lui, s'est dit grand amateur de musique électronique.

    Voilà, pas grand chose à dire d'autre à part l'étonnement de l'affaire. Bien entendu, les détails des rendez-vous entre Jarre et Snowden sont gardés secrets, pour des raisons qu'il n'est plus à préciser.

    On attendra donc avec impatience la sortie de ce morceau Exit qui fera partie de l'album Electronica volume II: The Heart Of Noise le 6 mai prochain. Bien sûr, achetez cet album dans une boutique sans DRM et sans empreinte audio, cela va de soi.

    • Ha chevron_right

      Simone Giertz : L'art du DIY

      raspbeguy · pubsub.gugod.fr / hashtagueule · Wednesday, 6 April, 2016 - 22:00 · 1 minute

    Un article bref, j'ai un tutoriel assez long en préparation, j'espère qu'il vous plaira. Oui, j'ai mis cet article dans la catégorie Art. Ce que je vais vous présenter est bel et bien de l'art. Simone Giertz est une nouvelle youtubeuse suédoise. Sa première vidéo date d'il y a environ 1 an, mais sa ...

    Un article bref, j'ai un tutoriel assez long en préparation, j'espère qu'il vous plaira.

    Oui, j'ai mis cet article dans la catégorie Art. Ce que je vais vous présenter est bel et bien de l'art.

    Simone Giertz est une nouvelle youtubeuse suédoise. Sa première vidéo date d'il y a environ 1 an, mais sa popularité décolle seulement depuis quelques mois, ce qui fait que je peux encore en parler en tant que découverte sans sembler trop mainstream.

    Youtube + Suède, vous allez me dire que ça s'annonce mal, hein ? Bonne surprise, sa chaîne est pour le moins originale.

    Touche à tout notable, la jeune vidéaste de 25 ans est tombée dans le merveilleux domaine de la construction de robots, principalement à base d'Arduino et de ruban adhésif. La particularité de ses robots est, selon la conceptrice elle-même, que ce sont des robots "merdiques". C'est ici que cela devient intéressant. La jeune femme prend tellement de plaisir et met tant de bonne humeur dans la construction de ses robots qui ne servent à rien que cela en devient artistique.

    Voyez plutôt par exemple sa machine à rouge à lèvre :

    Simone exerce une activité créatrice dans laquelle elle éprouve du bonheur et provoque des réactions sur les autres. C'est ma définition de l'art.

    Je vous invite également à jeter un œil à sa page Github, peuplée de quelques projets farfelus, que je vous laisse découvrir.

    À très vite !

    • Ha chevron_right

      Se débarrasser de Google sur Android

      raspbeguy · pubsub.gugod.fr / hashtagueule · Wednesday, 6 April, 2016 - 22:00 · 12 minutes

    La vie privée sur Internet, c'est important, je crois que vous commencez à vous faire une bonne idée de notre opinion à ce sujet. Quand on vous en parlait sur Hashtagueule, certains auraient été tentés d'y voir uniquement une allusion aux ordinateurs. C'est vrai qu'on ne vous a parlé pour ainsi dire...

    La vie privée sur Internet, c'est important, je crois que vous commencez à vous faire une bonne idée de notre opinion à ce sujet. Quand on vous en parlait sur Hashtagueule, certains auraient été tentés d'y voir uniquement une allusion aux ordinateurs. C'est vrai qu'on ne vous a parlé pour ainsi dire concrètement que de cette plateforme. Ce serait bien entendu avoir une gigantesque poutre dans l'œil que de croire qu'il ne faut se protéger que sur son PC. En effet, la quantité de données personnelles stockées dans les appareils mobiles est foutrement plus importante que sur nos ordinateurs. Imaginez, vous disposez d'un appareil qui ne vous lâche pas d'une semelle, qui sait exactement où vous vous trouvez, qui établit des liens vers d'autres personnes logées à la même enseigne, qui connait vos petits secrets, vos amis, votre famille, vos amours officiels ou secrets, qui est à la limite capable de détecter votre état de santé et vos paramètres biométriques. Couplez à cela le fait que les logiciels libres sont nettement moins répandus sur smartphone que sur ordinateur, ajoutez-y la législation corrompue et la centralisation des services, pour ne pas dire les portes dérobées qui font bonne figure, et vous vous rendez compte que vous avez un véritable œil de Moscou dans votre poche.

    On va donc aujourd'hui parler mobile, plus particulièrement du domaine Android, cet OS grand public accordant le plus, à mon sens et celui de beaucoup d'autres, de pouvoir à l'utilisateur. Les esclaves propriétaires de téléphones Apple, désolé, nous compatissons, mais nous ne pouvons pas pour le moment vous fournir d'astuces significatives dans le domaine.

    Android est développé par AOSP, un projet dans lequel Google est amplement majoritaire en implication. C'est un fait. Cependant, une partie de cet OS est en licence libre, ce qui permet à des OS basés sur Android (dites ROMs alternatives) de voir le jour. La version Google, quant à elle, est servie avec un ensemble de programmes destinés à se connecter aux services Google, afin de vous prodiguer un accès facile à votre compte Google et les services associés, pour masquer son vrai but, qui est de ramasser de la donnée sur vous. Pour des personnes aimant leurs services auto-hébergés ou qui ne souhaitent pas utiliser ces services, il est possible d'utiliser une ROM alternative pour supprimer les services Google.

    Cependant, si on élimine les services Google, on se prive également de la boutique Google Play, ce qui peut en pénaliser plus d'un. Vous avez toujours la possibilité d'utiliser les dépôts standards F-Droid, mais cela reste un peu pauvre. Une autre solution serait d'installer le store d'Amazon, mais outre le fait que vous vous jetez vous même de Charybde en Scylla, ce n'est pas très conseillé car il y a plus d'applications piégées sur ce store, et moins de "bonnes" applications. Enfin, la solution la plus dangereuse serait de télécharger les apps à partir de sources non vérifiées comme il y en a des centaines sur Internet, ce qui est légalement douteux et catastrophique niveau sécurité, sans parler de l'absence de système de mise à jour. Point n'est besoin d'en dire plus, nous allons voir comment installer des applications du Google Play sans les services Google Play.

    Niveau 0 : Installer une ROM alternative

    Ce n'est pas le but de ce tutoriel, peut être pour une prochaine fois. La description de cette étape sera donc très sommaire, en attendant vous pourrez trouvez de très nombreux tutoriels pour le faire, ici on se concentrera en priorité sur la valeur ajoutée Hashtagueule.

    Il vous faut d'abord choisir une ROM. Il y en a des dizaines, plus ou moins spécialisées. L'une des ROMs alternatives est CyanogenMod. Pour le moment, ma ROM de prédilection reste Dirty Unicorn, qui a un développement assez actif, qui intègre relativement rapidement des dernères nouveautés de la version Google d'Android, et qui a beaucoup de possibilités faciles d'accès de personnalisation d'interface. Pour information, cette ROM tourne impeccablement sur mon Nexus 5.

    En partant d'un mobile sous Android Google, les étapes sont toujours les même :

    1. rootage de l'appareil ;
    2. installation d'un bootloader ;
    3. copie de la ROM dans la mémoire de l'appareil ;
    4. flash de la ROM.

    Avant ces étapes, assurez vous de sauvegarder tout ce qu'il y a à sauvegarder, et notez votre identifiant Android, vous en aurez besoin plus tard. Pour ce faire, vous pouvez taper la combinaison *#*#8255#*#* sur le clavier du téléphone. Un texte va s'afficher, votre identifiant Android est à la ligne "Device ID", écrit sous la forme "android-votreidentifiant" (ce qui compte est après le tiret).

    Vous pouvez également obtenir cet identifiant avec l'application Device ID. À télécharger sur le Google Play Store. Amusant quand on sait qu'on a besoin de ce numéro principalement pour éviter d'utiliser ce store.

    Une fois votre ROM flashée, installez l'application F-Droid sur votre mobile. Cela vous permettra d'obtenir des applications libres, mais également de vous faire votre propre dépôt d'applications.

    Niveau 1 : Télécharger les apps sur l'ordinateur

    À ce niveau, l'important est de comprendre que vous téléchargerez les applications qui vous intéressent sur votre ordinateur en le faisant passer pour un appareil Android auprès de Google. Il y a plusieurs solutions pour y arriver. Personnellement, j'utilise l'extension Firefox APK Downloader dont le rôle est d'ajouter un bouton sur chaque page web du Google Play Store. Vous aurez besoin de configurer l'application en renseignant votre adresse de compte Google, votre mot de passe, et l'identifiant Android que vous avez noté plus tôt.

    Notez le bouton "Download APK" permettant de télécharger directement l'application sur votre PC.

    Notez le bouton "Download APK" permettant de télécharger directement l'application sur votre PC.

    À partir de là, vous pouvez si vous le souhaitez installer directement l'application sur votre appareil à l'aide de la commande de débug d'Android :

    adb install /chemin/vers/l/application/téléchargée.apk

    Mais ce serait passer à côté de fonctionnalités intéressantes :

    • En faisant ainsi, vous êtes obligé de brancher votre téléphone à chaque fois que vous voulez installer une application, ce qui implique d'avoir son câble et de ne pas avoir peur de ruiner le cycle de la batterie de votre appareil. Ou alors vous autorisez le débug par réseau, ce qui est vivement déconseillé car très peu sécurisé (il suffit de connaître l'IP de votre appareil pour que n'importe qui puisse installer n'importe quoi).
    • Pas de système de mise à jour OTA : vous ne serez pas informé des mises à jour pouvant être cruciales, et vous devrez réinstaller manuellement chaque application en passant par l'ordinateur.

    Niveau 2 : Mettre en place votre dépôt

    Il est alors intéressant d'avoir un serveur sur lequel vous allez constituer votre dépôt privé. Pour cela, vous allez avoir besoin des programmes suivants :

    • le gestionnaire de dépôt F-Droid (paquet fdroidserver disponible dans les dépôts Debian) qui va permettre au client F-Droid de se synchroniser sur votre serveur ;
    • googleplayupdater, un petit outil bien pratique qui permet de mettre à jour toutes les applications APK dans un dossier donné ;
    • un serveur web, Nginx est tout indiqué pour ce genre de tâches, sachant que l'on va servir uniquement du contenu statique.

    Sur votre serveur, créez le dossier du dépôt, chez moi il s'agit du dossier /var/apk. Placez-vous dans ce répertoire et effectuez la commande suivante :

    fdroid init

    Cette commande va créer un certain nombre d'éléments, dont le dossier repo et le fichier config.py.

    Intéressons-nous au fichier de configuration. Normalement les commentaires sont assez explicites. Voici à quoi peut ressembler votre fichier de configuration :

    #!/usr/bin/env python2
    
    mvn3 = "mvn"
    
    gradle = "gradle"
    
    repo_maxage = 0
    
    repo_url = "http://bidule.machin.truc"
    repo_name = "Repo perso de Raspbeguy"
    repo_icon = "fdroid-icon.png"
    repo_description = """
    Comme j'utilise Dirty Unicorn tout nu sans les services Google play,
    ben je suis dans l'obligation de magouiller...
    """
    
    archive_older = 3
    archive_url = "https://f-droid.org/archive"
    archive_name = "My First FDroid Archive Demo"
    archive_icon = "fdroid-icon.png"
    archive_description = """
    The repository of older versions of applications from the main demo repository.
    """
    
    keydname = "CN=bidule.machin.truc, OU=F-Droid"
    
    keyaliases['com.example.another.plugin'] = '@com.example.another'
    
    # Wiki details
    wiki_protocol = "http"
    wiki_server = "server"
    wiki_path = "/wiki/"
    wiki_user = "login"
    wiki_password = "1234"
    
    update_stats = False
    
    stats_to_carbon = False
    carbon_host = '0.0.0.0'
    carbon_port = 2003
    
    build_server_always = False
    
    char_limits = {
        'Summary': 50,
        'Description': 1500
    }

    Les lignes 9 à 15 de cet exemple sont les plus importantes. En fait, normalement, vous n'aurez pas à modifier les autres lignes pour que le dépôt fonctionne bien.

    Il vous faut ensuite copier vos APK directement dans le dossier repo. Ensuite, à partir du dossier du dépôt (dans notre cas /var/apk), effectuez la commande suivante, que vous devrez refaire après chaque ajout d'application au dépôt :

    fdroid update --create-metadata

    Il faut maintenant mettre en place le serveur web afin que le dépôt soit accessible depuis votre appareil par le réseau. Créez donc un server block pour Nginx ressemblant à cela, dans le cas de l'utilisation de SSL/TLS, ce que je ne peux que vous recommander :

    server{
      listen 80;
      listen [::]:80;
      server_name bidule.machin.truc;
    
      location ~ ^/.well-known/acme-challenge(/.*)?$ {
          root /etc/letsencrypt/webrootauth;
          default_type text/plain;
      }
    
      return 301 https://$server_name$request_uri;
    }
    
    server {
        listen 443;
        listen [::]:443;
        server_name bidule.machin.truc; 
        access_log /var/log/nginx/fdroid.access.log;
        error_log /var/log/nginx/fdroid.error.log;
        ssl on;
        ssl_certificate /etc/letsencrypt/live/machin.truc/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/machin.truc/privkey.pem;
    
        server_name_in_redirect off;
    
        root  /var/apk;
    
        location ~ ^/.well-known/acme-challenge(/.*)?$ {
            root /etc/letsencrypt/webrootauth;
            default_type text/plain;
        }
    
        location / {
            try_files $uri $uri/ =404;
        }
    }

    Les lignes 1 à 9 concernent la redirection de HTTP vers HTTPS. Vous reconnaîtrez certainement aux lignes 6 à 9 et 29 à 32 les instructions qu'on a introduites pour l'automatisation des renouvellements de certificats Let's Encrypt. Si ça ne vous dit rien, vous pouvez faire une cure de rappel par ici, c'est gratuit et ça vous met plein de belles choses dans la tête.

    Rechargez Nginx, puis il faut maintenant tester sur votre appareil. Dans F-Droid, dans le menu en haut à droite, rendez vous dans la Gestion des dépôts, puis tapez le "+" pour ajouter un dépôt (duh...). Entrez https://bidule.machin.truc/repo en adresse de dépôt et rien pour l'empreinte (vous êtes le seul utilisateur de votre propre dépôt, vous savez déjà la provenance de ce qu'il y a dessus, de plus comme vous êtes déjà en connexion sécurisée, il n'y a plus beaucoup de risques).

    Laissez mouliner quelques secondes, et paf, normalement vous avez un dépôt fonctionnel.

    Screenshot_20160408-005739

    Le dépôt a bien été ajouté.

    Exemple d'app ajoutée dans mon dépôt.

    Exemple d'app ajoutée dans mon dépôt.

    Une fois cette victoire confirmée, rappelez-vous le but initial de la manœuvre : avoir des applications qui se mettent à jour toutes seules comme des grandes.

    Niveau 3 : Automatiser la mise à jour des apps

    C'est ici que googleplayupdater entre en scène.

    Pour disposer de cet outil, clonez le dépôt quelque part sur votre serveur (on se fiche de l’endroit, le programme sera installé ailleurs).

    Installez le programme par la commande :

    python setup.py install

    Notez que vous aurez peut-être à installer au préalable l'outil de déploiement python-setuptools :

    apt install python-setuptools  # si vous utilisez python2
    apt install python3-setuptools # si vous utilisez python3

    Attention, si vous utilisez Python 3 (c'est toujours recommandé de l'utiliser si possible et pas trop enquiquinant), vous devez installer manuellement une dépendance par la commande :

    pip install https://pypi.python.org/packages/source/p/protobuf/protobuf-3.0.0a3.tar.gz#md5=6674fa7452ebf066b767075db96a7ee0

    Ensuite, copiez et renommez le fichier config_example.py dans un endroit adéquat (par exemple /etc/googleplayupdater/config.py) et modifiez-le afin qu'il ressemble à ceci :

    from __future__ import unicode_literals
    
    LANG            = "en_US" # can be en_US, fr_FR, ...
    ANDROID_ID      = "votre_identifiant_android"
    GOOGLE_LOGIN    = 'adresse@machin.truc'
    GOOGLE_PASSWORD = 'mdp_compte_google'
    AUTH_TOKEN      = None
    
    # force the user to edit this file
    if ANDROID_ID == None or all([each == None for each in [GOOGLE_LOGIN, GOOGLE_PASSWORD]]):
        raise Exception("config.py not updated")

    Bien sûr, adaptez les variables ANDROID_ID, GOOGLE_LOGIN et GOOGLE_PASSWORD avec ce que vous avez mis dans la configuration de votre extension Firefox...

    Vous pouvez tester la configuration avec la commande suivante :

    /usr/local/bin/googleplayupdater -c /etc/googleplayupdater/config.py -v /var/apk/repo

    Si vous constatez que tout se passe bien, vous pouvez alors finaliser en créant un script cron update_apk que vous placerez dans /etc/cron.daily/ contenant ce code :

    #!/bin/bash
    
    GPUPD=/usr/local/bin/googleplayupdater
    CONFIG=/etc/googleplayupdater/config.py
    REPO=/var/apk
    LOG_GPU=/var/log/gpupd.log
    LOG_FDROID=/var/log/fdroid.log
    
    echo -e "\n********** $(date)\n" >> $LOG_GPU
    
    $GPUPD -c $CONFIG -v $REPO/repo >> $LOG_GPU 2>&1
    
    cd $REPO
    
    echo -e "\n********** $(date)\n" >> $LOG_FDROID
    
    fdroid update --create-metadata >> $LOG_FDROID 2>&1

    Ainsi, votre dépôt se mettra à jour tous les jours. Et votre appareil vous notifiera dès qu'une mise à jour sera disponible. Et vous n'avez rien de Google sur votre téléphone, c'est magnifique.

    Inconvénients / améliorations possibles

    Certaines application sont butées et requièrent la présence des services Google Play pour fonctionner, le cas le plus décevant étant Signal, que j'ai dû renoncer à utiliser. Peut-être que je trouverai un moyen de le compiler à ma sauce sans les dépendances qui m'embêtent.

    Sinon, on pourrait travailler à trouver un moyen de télécharger les apps directement par le serveur, et ne pas être obligé de passer par Firefox. Ça pourra être l'objet d'un article ultérieur, si je trouve un moyen convainquant de le faire.