PROJET AUTOBLOG


Le blog de Seboss666

Site original : Le blog de Seboss666

⇐ retour index

Où en est F-Droid aujourd’hui ?

samedi 9 septembre 2017 à 10:30

Je vous ai présenté il y a un an le « magasin » d’application F-Ddroid, alternative au Google Play Store qui propose quasi exclusivement des applications open-source, parfois bien plus légères, efficaces, et respectueuses que la multitude habituelle. Je continue de l’utiliser personnellement, mais j’ai pu voir quelques évolutions qui, individuellement, ne m’avaient pas choqué, mais qui commencent à se voir.

La première chose qui ne m’avait pas plus choqué que ça, j’évoquais à l’époque VLC dont la version proposée n’était pas une version stable, entre temps la proposition de mise à jour a disparu. Puis est venu WordPress, pareil, plus de mise à jour proposée via F-Droid, le Play Store ayant de toute façon pris la relève, ce n’est pas grave en soi. Et puis ce fut le tour de Firefox. Tout ça fut plutôt silencieux puisque la boutique de Google est là pour faire le taf.

Et puis il y a eu la refonte du site. Exit WordPress, bonjour Jekyll. En soit rien de forcément transcendant (un site statique est tout de même moins gourmand qu’un site dynamique), si ce n’est que TOUS les liens que j’avais postés se sont vus exploser en vol (rappel, je sais quand un lien pète sur mon site), et qu’aucune redirection n’a été mise en place pour assurer un tant soit peu le référencement. Quand j’ai commencé à vouloir réparer, il n’y avait même pas de moteur de recherche pour pouvoir retrouver mes petits ! Ce moteur de recherche est arrivé bien plus tard et j’ai pu remplacer quelques liens. Pas tous. Et j’ai cherché pourquoi. Et j’ai trouvé. Et c’est pas jouasse.

J’ai commencé par VLC. Ca m’a permis de comprendre un peu mieux comment cherche à fonctionner F-Droid : aucun soft n’est proposé s’il n’est pas possible pour eux de le recompiler eux-même. Problème, apparemment, il faut quelque chose de récent pour compiler VLC pour Android, et les gars d’F-Droid utilisent un serveur à base de Debian Stable, qu’on sait réputé pour l’ancienneté des logiciels utilisés. Ambiance…

Pour Firefox, F-Droid faisait déjà une exception, ils ne compilaient pas eux-même mais proposaient juste un « mirroir » du fichier APK que distribuait Mozilla. C’était la seule exception qu’ils ont fini par dégommer, mais pourquoi ils ne cherchent pas à compiler eux-même, mystère; mais je pense qu’on retombe dans le même souci que pour VLC, d’autant plus avec la transformation du panda roux en cours vers les composants Quantum. La seule « solution » proposée par certains, utiliser ffupdater, un petit utilitaire qui va récupérer l’APK sur le site officiel. Pas super user-friendly tout ça, ni très intégré, aucune mise à jour automatique n’est proposée.

Pour l’application WordPress c’est pas mieux, mais pour le coup tout n’est pas nécessairement de leur faute : si les sources sont disponibles, et si intrinsèquement c’est pas impossible de compiler, l’application nécessite des composants non-libres dont la licence empêche leur distribution au plus grand nombre, et donc empêche F-Droid de faire son travail. Les implications sont dépendantes du type d’installation que vous utilisez : la version toujours disponible sur F-droid ne peut plus se connecter qu’à un blog auto-hébergé et plus à wordpress.com, mais les fonctionnalités sont du coup bien en arrière, et rien n’en garantit la stabilité ou la sécurité. A vous de voir.

Dans le même esprit, si Telegram est toujours disponible, le message bien en rouge pour vous faire peur indique que tout n’est pas libre. Mon dieu mais quelle horreur, à chaque installation un chaton mort !

Tout n’est pas non plus noir dans le tableau, certaines pépites comme GadgetBridge et Termux sont toujours de la partie, et comme je l’ai dit, il est possible de trouver des applications tout à fait fonctionnelles sans annexes inutiles ni autorisations délirantes. J’y ai par exemple trouvé CSipSimple, pour gérer ma ligne de téléphone « fixe » Free (pour m’appeler chez moi, quand je suis pas chez moi, magie). L’application F-Droid elle-même est mise à jour régulièrement, cherchant notamment à mieux présenter les applications.

Mais combien de temps ça va tenir ? En effet, le principal contributeur a décidé de lever le pied, et il touchait à vraiment beaucoup de choses sur le projet. Certes il y a des gens pour prendre la relève, mais est-ce qu’elle sera aussi efficace ?

Cette volonté de proposer uniquement des logiciels qu’on peut compiler soi-même est louable, mais ça exclue directement ceux qui sont un peu entre-deux, et pire, cette forme d’extrémisme à ne pas adapter ses propres outils et venir pleurer que ça ne compile pas n’est pas fait pour aider les choses (alors qu’un Ubuntu LTS permet un support plus facile des technos récentes, en étant tout aussi stable, sur la même durée, sur la partie x86 s’entend). Pour certains paquets, comme Firefox, continuer à les afficher n’est pas une bonne chose d’un point de vue sécurité, car la version n’est plus maintenue.

Tout ça ne participe pas à rendre l’outil populaire, puisqu’il manque beaucoup de logiciels populaires sur d’autres systèmes et qui attirerait certainement du monde. Là, on est obligé de continuer à s’appuyer sur le Play Store de Google pour fonctionner, ou à bricoler comme des cochons (rappelez-vous ce que j’ai fait pour récupérer les firmwares du Mi Band 2) ce qui n’est pas l’objectif recherché d’un magasin d’applications. Déjà qu’on doit bricoler dans les options pour l’installer ainsi que les applications qu’il propose…

Bref, c’est toujours pas ça, de mon point de vue il y a même plusieurs régressions (pas le site web, lui il est revenu à quelque chose d’exploitable, mais les applications, parfois en lien avec des décisions un peu débiles). On a pourtant cruellement besoin d’un outil de ce genre qui fonctionne proprement, et qui soit attirant surtout, quand le reste du monde Android est dans un état plus que douteux quand on y regarde d’un peu plus près…

Utiliser Lsyncd pour synchroniser deux dossiers

mercredi 6 septembre 2017 à 18:30

J’ai vaguement évoqué ce petit logiciel lors de mon billet de réflexion sur le passage à plusieurs serveurs pour un hébergement de site web. Sachant que j’ai eu l’occasion de revenir dessus récemment, je me suis dit qu’il était pertinent de ne pas passer par une simple astuce diverse et donc de lui consacrer un billet dédié.

Lsyncd est un service qui tourne en arrière plan, et lance au besoin une synchronisation entre deux dossiers, qui peuvent se trouver sur la même machine ou, dans le cas qui m’intéresse le plus, deux machines différentes.

C’est une solution fréquemment proposée lorsqu’il s’agit de synchroniser deux serveurs qui hébergent un Drupal, mais la solution est valable pour pratiquement tout type d’application. En effet, si vous avez deux serveurs qui doivent délivrer le même site web, il est absolument nécessaire que leur contenu soit identique. Et ici, l’idée est de se passer de NFS pour limiter les appels lents via le réseau.

Pourquoi le préférer à une solution classique type rsync via une tâche planifiée ? Ben déjà une tâche planifiée c’est toutes les minutes, et il faut ruser pour réduire ce délai. Vous pouvez donc très souvent avoir des contenus différents entre vos machines, ce qui est dommageable (images qui ne s’affichent pas, cache d’agrégation JS/CSS différent…). Ici, lsyncd va travailler avec inotify, que j’ai déjà pu évoquer dans un lien en vrac pour le coup, qui est un mécanisme qui permet de déclencher un évènement en fonction d’une modification du système de fichier. Donc ici dès qu’on change quelque chose, il déclenche le rsync.

Si j’ai travaillé sur des ressources intégralement en anglais au boulot, j’ai découvert par la suite que certains francophones en ont parlé. Pour une utilisation basique, je vais donc éviter de faire de la redite et vous conseiller cet article qui parle de son utilisation sous Debian.

Et si on veut que les deux serveurs communiquent entre eux, il suffit de faire la même configuration en changeant la destination en fonction du serveur. Une cross-synchronisation qui marche pas mal dans mon cas, et que j’ai donc voulu réutiliser lorsqu’on a demandé à ajouter un nouveau site destiné, à terme, à remplacer l’actuel (« vieux » Drupal 7 coincé avec du PHP 5.4, pour un nouveau Drupal 8 avec PHP 7.0).

Si l’on suit la documentation, on découvre pas mal de possibilités d’options qui permettent d’adapter le fonctionnement à notre environnement. Malgré tout, dans mon cas, et ce qui me pousse à écrire aujourd’hui, elle ne donne pas toutes les clés.

Surveiller plusieurs dossiers, pas si intuitif

C’est dans une issue Github que j’ai trouvé la piste pour la solution qui me convient, ce n’est pas inscrit dans la documentation, si ça se trouve les drogués au LUA trouveront ça très logique.

Voilà le fichier que j’avais :

----
-- User configuration file for lsyncd.
--
settings {
        logfile = "/home/logs/lsyncd/lsyncd.log",
        statusFile = "/home/logs/lsyncd/lsyncd-status.log",
        statusInterval = 1,
        insist = true
}

sync {
        default.rsync,
        delay=0,
        source="/home/sites_web/client/www1",
        target="2.2.2.2:/home/sites_web/client/www1",
        rsync = {
                archive = true,
                perms = true,
                owner = true,
                rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no",
                _extra = {"-a"}
        }
}

C’est bien, mais ça ne fonctionne que pour un seul dossier (et ses sous-dossiers évidemment), je ne vais pas trop m’étendre sur le sujet, je vous laisse chercher les options qui vous paraissent obscures. Ce qui m’intéresse surtout c’est la méthode pour passer à plusieurs dossiers, puisqu’on ne peut pas définir plusieurs sources et plusieurs destinations.

J’en suis arrivé à utiliser la configuration suivante :

----
-- User configuration file for lsyncd.
--
settings {
        logfile = "/home/logs/lsyncd/lsyncd.log",
        statusFile = "/home/logs/lsyncd/lsyncd-status.log",
        statusInterval = 1,
        insist = true
}

source_list = { 
        "/home/sites_web/client/www1",
        "/home/sites_web/client/www2",
 }

        
for _, source in ipairs( source_list ) do

sync {
default.rsync,
        delay=0,
        source=source,
        target="2.2.2.2:" .. source,
        rsync = {
                archive = true,
                perms = true,
                owner = true,
                rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no",
                _extra = {"-a"}
        }
}
end

Qu’est-ce qui change ? J’ai créé une liste de sources, la destination étant identique d’un point de vue de l’arborescence et il n’y a qu’un seul serveur. Et ensuite je fais une boucle sur ces sources, et j’applique la même configuration d’origine avec comme seule modification le target, qui contient une concaténation de l’IP du serveur cible et de la variable source (et la syntaxe de cette concaténation n’est pas triviale).

Quand j’ai dit que c’était pas intuitif, c’est que je me suis planté sur la création de la liste, et quand on lit la définition de la boucle for, pour moi « _, source » n’est pas quelque chose d’évident.

Enfin bref, ça fonctionne, j’ai pu réappliquer sur mes deux fronts pour que ça soit identique, ça l’est, c’est cool 🙂

 

Un mois d’Août pas reposant

dimanche 3 septembre 2017 à 10:30

Hello les gens, nouveau mois, nouveau bilan de santé, en ce mois de vacances pour la grande majorité des cas, mais pas du mien (c’est un choix ceci dit, ma priorité est ailleurs). Il y a du mieux, du moins bien, du logique, bref, la vie quoi.

Visites toujours en berne, mais…

On est toujours sur une pente descendante sur les visites enregistrées par Piwik, La fin des vacances et les publications fréquentes se font sentir, mais le pic de descente est vraiment marquant depuis l’ajout du filtre de EasyList sur l’image. Couplé avec le mois d’août, j’arrive même pas à être choqué.

Malgré tout, j’ai réussi à retrouver un rythme de publication un peu plus soutenu que ces derniers mois, j’ai même fait un petit graphique 🙂

Pierre m’a aussi relancé sur Goaccess, je serai peut-être motivé, bientôt…

Technique : toujours pas migré, mais…

Je n’ai pas fait grand chose en effet. Si j’ai fait un clean au niveau Redis récemment, le plus gros changement finalement est un petit réglage de MariaDB issu de mes derniers apprentissages sur le SGBD (plusieurs cas de soucis de performances chez des clients qui m’ont poussé à me muscler) : innodb_flush_log_at_trx_commit, passé à 2 au lieu de 1. C’est simple, tout est instantané ou presque. Le plus gros apport est au niveau de Piwik, la génération de rapports est instantanée.

Soit j’écrirai un article sur tout ce que j’ai appris de MySQL ces derniers mois, soit je vous trouverai des ressources francophones déjà partagées par d’autres (j’espère que ça sera facile et relativement complet, parce que pour l’instant c’est majoritairement de l’anglais).

J’ai également ajouté une fonction au thème enfant, pour retarder l’exécution du Javascript (defer en anglais), en me basant sur cet article en anglais. Globalement ça semble fonctionner comme il faut, je vous laisse juger et n’hésitez pas à me remonter s’il y a un pépin.

Futur : toujours flou mais…

Sur un autre plan, j’ai commencé à tester Qwant depuis quelques semaines en remplacement de Duckduckgo (je l’ai peut-être déjà dit d’ailleurs). Le test semble très concluant, il est possible que j’en fasse également un retour. J’ai toujours dans les cartons une vidéo sur Stylish, que je vais devoir reconsidérer : en effet, l’extension ne sera pas mise à jour pour Firefox 57 qui casse tout pour mieux reconstruire. Mais il y a un remplaçant, il faudra que je teste un peu. J’en ai d’ailleurs parlé la semaine dernière.

Je commence également à envisager de changer de thème pour le blog. J’essaie encore de me décider sur ce que j’en attend, parce que celui-ci me convient déjà très bien. Mais techniquement en dessous un petit refresh ne ferait pas de mal. J’avoue que c’est pas pour tout de suite, il me faut déjà mon environnement de test.

Quelques liens en vrac et en français, 22° édition

mercredi 30 août 2017 à 18:30

Le mois d’Aout est déjà bientôt terminé, et avec le temps pourri, pas question de perdre son temps au soleil. Qu’à cela ne tienne, à défaut de terminer mes propres articles plus ou moins bien écrits, voici les « productions » françaises que j’ai pu lire dernièrement qui je pense valent le coup d’être lues et partagées.

Une brève histoire des hackers

Hacker, en voilà un terme compliqué à définir, d’autant plus qu’il a été torturé et mal utilisé sous couvert de sensationnalisme. Et pour en comprendre un peu les origines, afin de se réapproprier le terme dans ce qui se rapproche le plus de la vérité, il faut repartir à ses origines.

Qu’est devenu la million dollar homepage ?

Symbole de la fabrication du web gratuit au début des années 2000, la million dollar homepage part d’un concept simple : 1 million de pixels, 1 dollar par pixel, pour afficher de la publicité. Ce projet un peu moribond mais toujours en ligne est aussi un témoignage de ce qui était déjà une sacrée agression visuelle (remember la raison que j’évoque à propos de mon usage d’un bloqueur de publicités).

Comment détecter un mail de hameçonnage/phishing ?

Quand on a pas mal d’années au compteur en matière d’utilisation du mail et du web, on voit venir les arnaques à des kilomètres. Mais pour les gens moins avertis, ce n’est pas toujours évident, et bien qu’il soit sponsorisé, cet article est tout à fait pertinent dans sont role d’éducation et de sensibilisation à la pratique pour s’en prémunir.

Boite noire auto, repérer les bons et les mauvais conducteurs ?

Puisque tout le monde veut surveiller la population pour en tirer un bénéfice, les assureurs automobiles ont réussi leur lobbying pour imposer des boites noires officielles dans les véhicules (en dehors des données déjà collectées par les ordinateurs de bord qui ne sont pas normalisées, mais déjà parfois exploitées à des fins douteuses par les constructeurs). La raison officielle est toujours la même, réduire votre facture si vous êtes un « gentil ». au final vous paierez plus cher, la nature du paiement sera juste différente.

MySQL, mysqldump et PHP : convertir de latin1 vers UTF8

Une fois n’est pas coutume, c’est le petit nouveau de l’équipe, Jean Félix, que j’accompagne dans sa formation qui a du traiter ce sujet épineux de la remise en conformité UTF8 d’une base de données, pour éviter les multiples conversions et donc les horreurs qui vont potentiellement avec. Et la solution a été trouvée en français, pour une fois, si c’est pas cool ça 🙂

Les attaques SSL/TLS

Pour rappel, le SSL/TLS qui est exploité pour faire du HTTPS sur le web permet de garantir la confidentialité d’une communication entre le serveur et le client en chiffrant cette communication. Les attaques consistent à permettre le déchiffrement d’une telle communication, et cet article de Korben nous dresse un petit historique sélectif des possibilités, en partenariat avec Radware à l’occasion de la Hacker’s Challenge.

Comment le selfie d’un singe a ruiné la vie d’un photographe

Cette histoire pourrait faire l’objet d’un film ou d’un bouquin tellement elle parait ahurissante. Mais non, elle est bien réelle, et une cour de justice aux USA a bien eu à débattre du droit d’auteur et du droit à l’image d’un singe d’un pays étranger. Le grand gagnant ? Tous ceux qui ont pu faire de l’argent en racontant cette histoire, parce que l’auteur, lui, a tout perdu, jusqu’au goût de son métier…

Optimiser les performances de MySQL

Ces derniers mois, j’ai eu très souvent à tenter de régler plus finement le carburateur de cette technologie très répandue sur le web qu’est MySQL/MariaDB, et si cet article n’est pas non plus d’une complétude totale, les points qu’il aborde sont dans tous les cas nature à vous apporter également un gain en performance.

Trois méthodes pour découvrir le processus exécuté sur un port particulier sur Linux

Je connaissais déjà netstat et ss, que j’avais eu l’occasion de présenter à l’occasion d’un billet sur la surveillance réseau. Je connaissais moins lsof pour cet usage par contre, c’est cool d’avoir partagé ça au final.

Met au point ton speech spécial French Tech pour lever des fonds

L’initiative French Tech est en soi une bonne idée, il est vrai qu’un peu de visibilité ne fait jamais de mal, et trouver des financements, depuis 2008, est un sacré challenge pour une boite qui débute (le buzzword associé est startup). Mais à voir ce qui a été mis en valeur pour l’instant, on sent le grand n’importe quoi du concept, et pour refléter ça, rien de tel qu’un site parodique, un peu à l’image du pipotron, mais spécial french tech. Chaque pitch généré est sauvegardé et peut être partagé partout 🙂

Installation de Proxmox VE en RAID1 logiciel

L’installation standard de Proxmox demande un disque unique pour lui seul et ne permet pas de configurer un RAID à l’installation. Fort heureusement c’est tout de même possible, et j’ai déniché cet article très didactique dans les tréfonds de mes marque-pages. D’autant plus que ces dernières années la stabilité d’un LVM au dessus d’un RAID logiciel n’est vraiment plus un problème.

Bloquer les appels indésirables sur Android

dimanche 27 août 2017 à 18:30

Récemment mon numéro de téléphone mobile s’est retrouvée sur une liste de prospection (associée à la maison de ma mère à Saint-Quentin Lamotte, comme propriétaire de la maison, ce qui ne devrait pourtant pas être possible, mais passons), et je suis maintenant régulièrement harcelé par téléphone par certains numéros inconnus au bataillon plusieurs fois par jour. C’est chiant, très désagréable, fort heureusement, il y a moyen de s’y remédier.

J’ai d’abord voulu passer par une application. En effet, je ne suis pas le seul touché et certains proposent des solutions, sauf que dans mon cas, ça bloquait également toutes les notifications d’application, ce qui n’était pas ce que je cherchais. Également, l’application d’origine de Google ne permet pas de bloquer un contact directement depuis l’historique ou le carnet d’adresse. Mais il y a l’option bien pratique que les robots n’aiment pas du tout. J’ai donc créé un contact poubelle dans lequel j’ajoute tous les numéros que j’identifie au fur et à mesure :

La petite case à cocher qui change la vie

Sur ce contact, j’active donc une option qui indique de renvoyer directement sur la messagerie. Et ça fait le taf. Alors pour les numéros inconnus, ça vous importunera nécessairement au moins une fois. Mais une recherche sur votre moteur favori vite fait pour confirmer que c’est bien un robot de démarchage et paf, l’ajout au contact se fait en deux coups de doigts et la paix règne à nouveau sur le téléphone.

Paradoxalement, c’est une option qui est intégrée à Windows Phone, que j’ai eu l’occasion de mettre en place sur le téléphone qui m’avait servi de crash test et que j’ai donné à un ami. Je pense également que iOS permet ça aussi, et pire, c’était intégré dans d’anciennes versions d’Android, un peu comme le mode UMS pour la connexion USB retirée depuis au « profit » d’MTP dont le respect des spécifications est plus qu’aléatoire par les fabricants, rendant son exploitation sous Linux bien compliquée. Et Android oblige, c’est un bordel sans nom dès que les constructeurs commencent à utiliser leur propre application, qui elle peut inclure une telle fonctionnalité.

Je rêve également de pouvoir faire un système de liste blanche, où seulement les contacts connus peuvent contacter le téléphone. Il serait intéressant aussi de pouvoir proposer une version « sortante », histoire d’éviter aux chérubins de composer n’importe quel numéro à l’arrache, et permettre d’éviter les factures inopinées. J’imagine aussi qu’il y a une application pour ça, mais il faut avouer que j’ai pas encore cherché. Et si mieux, ça pouvait être open-source et sur F-Droid, ça serait le pied. Sanity à l’air d’inclure le blocage, mais pas mis à jour depuis 2011, je déconseille donc de l’installer sur un téléphone récent 🙁