@Zeseb :
La météo juste pour le lendemain en général c'est assez fiable. Et en général la tendance au niveau des températures est assez bonne.
Je ne partage pas du tout ce constat. Même quelques heures avant un changement drastique, le site web de Météo France est souvent aveugle aux phénomènes courants (je ne parle pas d'une tempête). :O
Le réveil matin, difficile de sauter la pas !!
Comme je l'ai écrit dans ma réponse à Sammy, ça se fait petit à petit et encore plus facilement en fonction des situations (pas d'enfants, emploi tolérant aux horaires, activité prévue stimulante, etc.). Je conseille de commencer à pratiquer le sans réveil-matin en printemps / été (la lumière qui traverse les volets de bonne heure et la chaleur donnent envie de se bouger). Go go go ? :)
@Sammyfisherjr :
(désolé, mais tu fais vraiment trop long !)
(Ne pas répondre que c'est proportionnel à la taille du zboub ou inversement proportionnel, je sais jamais… ne pas répondre que c'est… ne pas…)
J'essaye d'être complet, de mélanger arguments, imaginaire alternatif, histoire, et, parfois, émotions. Tout ce qui est nécessaire afin que la mayonnaise prenne. :)
Je pense que vouloir aller vite et au plus court est un tort et probablement l'un des éléments qui nous mettent mal sur les sujets majeurs.
=> les montres m'emmerdent ; la mienne est dans ma poche...
Ça fonctionne ? T'as pas la pulsion régulière de vérifier l'heure comme on vérifie les notifications de son téléphone ? J'avais ça, perso.
=> la météo c'est stupide : tu ne vas pas aller bosser parce qu'il pleut ? Non.
Yep. Je lis aussi ça dans l'autre sens : comme on passe l'essentiel de notre temps à subir des activités indésirées, dont un emploi, on essaye de faire en sorte que le cadre de ces activités (et celui des activités désirées, du coup) se déroule le moins mal possible (ou soit optimal), et la météo y contribue… mais elle peut aussi avoir l'effet inverse genre commencer à te déprimer parce que tu crois qu'il va pleuvoir…
1/ la météo sert à combler une sorte d'angoisse compulsive. On est sûr de rien, mais au moins, on va savoir le temps qui est prévu.
C'est ce que j'essayais de formuler. Tu le fais mieux que moi. :) C'est une peur comme une autre, comme celle de l'inconnu ou celle du changement ou…
2/ ça sert aussi à alimenter les conversations. "Salut ! Fait pas beau hein ? Oui mais c'est bon pour les cultures. Ah bin oui, après cette chaleur ça fait du bien." Ce genre de conversation me saoule, mais j'essaie de m'adapter pour ne pas faire trop ours...
Même constat. C'est un sujet sans risque / consensuel puisque la météo ne dépend pas de nous (quoi qu'avec la géoingénérie… mais la personne lambda ne le sait pas). Par contre, j'ai progressé : je regarde encore moins la météo qu'au moment de l'écriture de mon shaarli, même si y'a encore du boulot. \o/
Prolongement : dans un de ses articles de blog, Aaron Swartz suggérait de remplacer les propos « ça va ? » / « météo » inutile par un « sur quoi es-tu en ce moment ? qu'est-ce qui t'intéresse ? ». Je trouve que c'est positif : ça peut mettre en avant des intérêts souvent ignorés, ce qui peut augmenter l'estime de soi du questionné tout en apprenant des choses au questionneur et en créant des vrais liens sociaux. J'ai (un peu) essayé, mais ça tombe assez vite à l'eau compte-tenu de l'écrasante majorité des réponses : « rien », « je regarde la série Netflix machin », « rien… ce soir, ça sera levrette… peut-être ».
=> pour le réveil matin, je suis d'accord sur le constat, mais j'aurais un peu peur du plantage. Genre tu te réveilles tous les jours avant le réveil entre 6h30 et 7h, et le jour où tu ne le mets pas, crac, 9h45 !
Comme j'l'ai écrit : ouais, l'apprentissage est difficile. Trop tôt ou trop tard. Mais, petit à petit, on se cadence et l'on tient dans le temps, sauf les lendemains de beuverie / geekerie, bien entendu. :D En ce qui me concerne, il y a eu deux déclencheurs : apprendre à se faire confiance (au début, je me réveillais """"en sursaut"""" plusieurs fois par nuit) et être motivé par l'activité du jour, souvent un emploi (même avec un réveil, je n'arrivais pas à me lever dans le cadre d'un précédent emploi). Avoir un emploi à moins de cinq minutes à pied qui ne nécessite pas d'être présentable ("j'ai pas eu le temps") et qui tolère une large amplitude horaire, ça aide bien au début.
Bref, je trouve toujours que ça vaut le coup, de ne pas être interrompu pendant son sommeil. Les rêves sont importants dans notre rapport / apport au monde. Essaye encore ? :)
@Mydjey :
Idem, même retour, j'ai demandé à ma banque que le NFC soit désactivé sur ma carte et il l'est.
Ben, pas ici (Banque Popu). Liste des événements :
Il me semble même que je peux l'activer et le désactiver moi-même dans les paramètres quand je met ma carte dans une borne de ma banque (borne de dépôt ou borne de retrait je ne sais pas).
Selon la manière dont s'est implémenté, ça peut me poser problème. La carte dite « NFC désactivée » comporte le sigle NFC et le circuit NFC (j'ai vérifié). Si le circuit NFC peut être activé / désactivé à la demande, ça veut dire qu'il est fonctionnel. Comment être sûr qu'il n'est pas """"en écoute"""" (façon de parler, en NFC, c'est le lecteur qui fourni l'énergie), dans l'attente d'une séquence qui permet de réactiver le circuit NFC ? Est-on sûr que la réactivation est seulement possible depuis un appareil en contact avec la carte / puce électronique ? Renaud Lifchitz, le gus qui a publiquement exposé la fuite des données persos stockées sur les cartes bancaires via NFC disait, en 2012, que le protocole / formatage des données et les fonctionnalités (EMV) sont environ identiques, que l'on communique avec la puce avec ou sans contact…
@Éric Bugnet :
Tu as aussi l'option des monnaies alternatives pour favoriser le commerce local […]
Il y a une monnaie locale dans mon bled, mais je repousse sans cesse le moment de m'y intéresser. Je trouve ça lourd, un intermédiaire supplémentaire pour mes achats…
Niveau flicage (c'est le thème de mon shaarli), ça fait un intermédiaire supplémentaire : l'association gestionnaire qui convertit mon fric (et je ne parle pas des monnaies locales numériques pour lesquelles c'est intermédiaires et traces à gogo). Ça pose les mêmes contraintes que les retraits d'espèces auprès de ma banque : l'association connaîtra mon train de vie (d'autant que les monnaies locales sont souvent fondantes, donc pas accumulables, donc il est un poil plus difficile de lisser les retraits). Cependant, on peut légitimement espérer que cet intermédiaire soit plus éthique qu'une banque vu que c'est l'un de ses objectifs.
Sur l'aspect « favoriser le commerce local », un article de 2017 du Postillon, journal satirique grenoblois fait le point sur les maigres avantages des monnaies locales : lourdeur, intermédiaire supplémentaire, coût, absence d'autonomie puisque obligations de parité avec l'euro et de dépôts de garantie auprès d'une banque qui peut financer n'importe quoi avec, absence d'intérêt s'il n'y a pas une chaîne entre les producteurs initiaux et le consommateur final (dit autrement : si tu convertis euro vers monnaie locale et que ton commerçant fait l'inverse sans opérations supplémentaires, la monnaie locale a aucun intérêt), en fonction des monnaies locales, le commerçant doit payer une taxe, comme pour les cartes bancaires, etc.
@OpenNews :
La boite à troll anti-bio est recouverte sur la river grâce à nos amis "le hollandais volant" et "GuiGui's Show"
Plaît-il ? J'imagine que je me retrouve cité pour mon article Mes notes concernant le numéro 151 des Dossiers du Canard enchaîné « Tout n'est pas vert dans le bio » + référendum qui date de la veille. Reste à savoir pour quelles raisons.
J'ai parcouru les ressources proposées. J'aurais bien lu, mais je ne me sens pas concerné. Les bienfaits du bio ? Ça prêche un converti. L'opportunisme et les pressions de la grande distribution générale ? C'est un point de mon shaarli. L'émission de radio qui rappelle les bases (définition, définition du label AB, premières années de conversion délicates, productivité variable en fonction de ce qu'on cultive qui ne dit rien de la rentabilité à cause du coût des pythos, etc.) ? C'est aussi dans mon shaarli. Même chose pour les articles scientifiques sur productivité / rentabilité / passage à l'échelle / (ré)apprendre le métier de paysan / changement des pratiques de consommation : j'étais au courant, merci bien.
Je ne me serais pas pris une balle perdue ou un tir groupé maladroit ?
@Oros :
J'avais pas vu passer ce shaarli jusqu'à récemment… … …
Mon taf (Alkante) fait parti des membres :-p
\o/
@guigui : t'es sur Rennes ?
Non. Ni maintenant, ni avant. J'étais plutôt sur la pointe.
@Liandri / Libox :
N'oublie pas de le modifier dans
/etc/vzdump.cfg
.
Ho ! Bonne idée. Merci. Reste l'éternel débat implicite versus explicite.
P.-S. : merci pour la rivière, j'avais pas fait le rapprochement avec toi. J'avais même pas capté que c'était une instance de shaarli-api. Je n'ai pas encore capté comment un nouveau shaarli sera ajouté à la rivière (enfin, si, d'après le code source c'est soit une instance qui l'ajoute et ça se réplique partiellement, soit il faut que le shaarli soit dans l'une des importations OPML / JSON indiqués dans la conf', soit faut ajouter un OPML / JSON dans la conf').
@Antichesse :
Combien de preuves, de faits et de débats faudra-t-il avant que les français ne comprennent que l'intégralité de la ligne politique du pays est décidé par l'Union Européenne à Bruxelles par des gens qui ne sont même pas élus !
Point rhétorique : si les faits suffisaient, on serait tous éco-coco-anar, hein.
Dans le cas du coût de la fusion des régions, je suis nuancé : une partie de ce coût vient du fait que les régions n'ont pas joué le jeu de la fusion en gardant un maillage territorial (je dis pas que c'est mal, je dis que ce n'est pas le jeu, donc il est normal de constater d'autres effets que ceux attendus). Sans compter les règles françaises (sur le calcul des rémunérations, par exemple). Sans compter qu'effectuer un bilan après si peu de temps, c'est comme faire le bilan d'une société commerciale en plein redressement / restructuration : le négatif dépasse le positif, car la restructuration engendre des coûts supplémentaires. Trop tôt.
D'une manière générale, je suis en désaccord avec ton analyse liée à l'UE. Les Grandes Orientations Politiques et Économiques sont édictées et adoptées par le Conseil européen et le Conseil de l'Union européenne où siègent… les dirigeants des États membres. Contrairement à ce que tu écris, la Commission a un rôle mineur. Du coup, c'est normal que les GOPEs « se passent vraiment ». Les petits pays de l'Est ont peu de poids aux Conseils, mais ce n'est pas le cas de la France, donc pas d'excuse de ce côté-là. Ces GOPEs sont donc un excellent moyen, pour les dirigeants des États membres, de faire porter le chapeau à l'UE de décisions qu'ils ont infligées à leur pays. Exemples : le jeu de la France à Bruxelles sur les subventions pour la pêche au gros ou sur la défense du Privacy Shield (la passoire qui """"protège"""" les données personnelles des Européens vis-à-vis les géants états-uniens du web) ou sur la garde à vue sans avocat au milieu des années 2000 ou sur la directive 2006/24/CE. C'est de la lâcheté, comme il y en a tant d'autre en politique. Il faudrait également nuancer le côté « pas élus » : les chefs d'État au Conseil européen le sont. Les sinistres du Conseil de l'UE sont nommés par les premiers, qui, dans leur État respectif, font déjà la pluie et le beau temps sans avoir été élus. Je t'ai déjà écrit tout ça dans un autre shaarli, d'ailleurs.
@Orangina Rouge :
T'as fait ça tout tout seul ?
Qu'entends-tu par « ça » ?
Comme je l'ai écrit, les données géographiques (coordonnées géographiques des stations d'atterrissement et tracés des câbles), c'est le travail d'autres personnes. Le fond de carte géographique, c'est le travail d'autres personnes bien que j'y contribue parfois. Le logiciel qui permet de créer des cartes, c'est encore le travail d'autres personnes.
J'ai juste écrit un script qui converti les données géographiques de leur format actuel vers le format pour umap et qui y ajoute un peu de fioriture / mise en forme perso.
Comment ça se fait que personne n'y a pensé avant ? Est-ce que des initiatives auraient pu avoir eu lieu dans d'autres pays, d'autres milieux ?
Parce qu'on avait déjà des cartes des câbles sous-marins d'Internet basées sur Google Maps (les données géographiques viennent de là) et qu'en moyenne, on s'en fiche d'utiliser OpenStreetMap plutôt que Google Maps ? L'initiative a déjà eu lieu : sur Wikipedia, on trouve l'image d'une carte OSM des câbles sous-marins basée sur les mêmes données que la mienne, par exemple.
Ça mérite d'être pérénisé !
Les données géographiques, des instances de logiciel de cartographie, le script pour faire l'essentiel du boulot et les instructions pour construire une carte identique à la mienne sont disponibles. Go, go, go ! ;)
Suite à mon shaarli sur la vidéo « Gauche/droite : revoyons les bases », j'ai échangé avec Johndescs, et je me dis que y'a des éléments intéressants à rapporter en public.
Il y a une différence entre communisme, socialisme, etc.
Peut-être que le shaarli et la vidéo sont flous. Tantôt ça parle de gauche, tantôt de socialisme (alors qu'il s'agit d'un bout de la gauche). En ce qui concerne mon shaarli, je parle bien de toute la gauche donc cocos, écolos, FI, PS et formations dérivées et de toute la droite, donc FN, LREM, LR et formations dérivées. Le critère de tri retenu par l'auteur de la vidéo permet de classer socialisme et communisme à gauche tout en reconnaissant leurs spécificités. Comme deux espèces animales peuvent être des mammifères avec leurs spécificités, d'où la nécessité de les décrire comme des espèces différentes ayant un point commun (mammifères).
Ta définition de la droite, c'est "conservateur" alors que la droite peut inclure un trader, le startupeur, etc. qui ont rien à carrer de dieu, et qui se croient justement là pour disrupter.
Je n'ai pas écrit ça. J'ai écrit que le point commun à droite est l'idée qu'il y a des forces au-dessus de l'espace politique auxquelles la société humaine doit se conformer / proposer un cadre / creuset. Il n'y a pas besoin de discuter de règles communes : tout se fait en privé, de gré à gré entre les personnes. Pour simplifier, on peut nommer ça la liberté, mais c'est réducteur (ça résume un petit bout du courant de pensée) et c'est une façade : la liberté bénéficiera uniquement à la personne en situation de force dans le contexte, l'autre subira la discussion / rapport de force / accord commun.
Pour le catholique intégriste qui refuse des droits aux LGBTQ+, cette force sera Dieu (dans le sens texte sacré + interprétations de l'Église + consignes de l'Église, car tout ça découle de Dieu). Il n'y a pas lieu de discuter d'autres règles que celles de l'Être suprême. Pour le trader ou le startupeur, cette force sera, d'une part, l'ordre naturel. Il n'y a pas lieu de se créer des règles visant à l'égalité entre les humains, car c'est la nature qui décide qui est fort / supérieur ou faible / inférieur, « c'est comme ça ». D'autre part, ce sera le marché économique. Il n'y a pas lieu de se créer des règles (comme le principe de précaution ou la régulation, qui emmerdent le startupeur / trader), car la recherche de l'intérêt individuel (intérêt, ça ne veut pas dire profit, hein) génère forcément l'intérêt général (qui est donc vu comme la somme des intérêts individuels).
On constate donc des motivations diverses (qui n'ont rien à voir avec conservateur ou non) qui conduisent au même point. Disons qu'il s'agit d'un point commun ?
Y'a-t-il un endroit sur terre où il y a plus de règles strictes communes que dans un couvent ? Pourtant, c'est classé à droite. Inversement, il y aurait aucune croyant à gauche ?!
Je n'ai pas assez de culture religieuse pour savoir ce qu'est véritablement la vie dans un couvent en dehors de l'imaginaire collectif des lieux d'éducation des femmes (ce qui est faux / partiel).
En revanche, tu mélanges espace public et espace privé. L'auteur de la vidéo et mon shaarli traitent des règles de vie en commun, pas des règles privées comme dans un couvent ou dans une famille, par exemple. (On notera que le couvent, comme la famille, est souvent un haut-lieu de la religion et de la tradition dans le sens "on été là avant toi, on a toujours fait comme ça, ta bouche"). Il y a toujours des règles, formelles et informelles. Quand tu te rends dans la piaule d'un coco, d'un lepéniste, d'un LR, d'un anar, y'a des règles. Mais ce n'est pas la vie en commun, ça, c'est un espace privé avec des règles privées. Chacun fait bien ce qu'il y veut. Tu noteras que d'autres règles s'appliquent : son droit de propriété ne permet pas à un catholique intégriste de forcer une femme à ne pas avorter ou de proposer un stage promettant de soigner l'homosexualité. Il y a donc des règles plus générales, communes, qui s'appliquent. C'est de celles-là dont je discute. La question est précisément de savoir si l'on veut des règles communes dans l'espace public et leur amplitude (simplement permettre à Dieu / marché économique / tradition / autre d'exister en se plaçant au-dessus de la société ou discuter de tout en se plaçant au-dessus de tout ?) ou si des règles privées conviennent.
De même, je ne sais pas ce qu'est être croyant. Mais, affirmer que cette définition de la gauche empêche des croyants d'être à gauche, c'est une simplification. Pour combiner les deux, il faut encore faire la différence entre l'espace public neutre et l'espace privé et accepter que les règles de Dieu ne régissent pas la société humaine / l'espace public. C'est ce qui pose problème dès que l'on débat de religion en France : sous couvert de ne pas se laisser imposer une morale, la droite souhaite imposer la morale catholique pendant que la gauche bataille pour que toute religion se place au-dessous des règles de la République sur le respect de la femme, des droits de la femme, des droits des LGBTQ+, etc., ce qui, forcément, passe mal auprès des croyants d'en face (catholicisme, islamisme, etc.). On peut toujours opposer la morale à elle-même en mode "les hommes qui organisent leur vie en commun en dehors des règles de Dieu, c'est aussi la volonté de Dieu sinon ça n'arriverait pas". C'est comme ça qu'on a décrété les droits de l'humain en 1789 afin de faire tomber le roi. Lui est divin, mais les droits de l'humain le sont aussi (on disait « naturels » à l'époque) et comme ils s'opposent à la royauté…
Le critère de tri est subjectif, donc pas absolu. L'auteur de la vidéo le fixe arbitrairement, il n'est pas partagé. Il fixe ce qu'il pense que chaque membre qui se réclame d'un groupe veut.
Si le titre de la vidéo contient « revoyons les bases », ce n'est pas pour rien.
On retrouve l'idée du rapport à la chose publique chez Marx / Engels, des penseurs du communisme : employeurs et employés, ce n'est pas juste du vent, comme ça, c'est un type de relation entre des gens qui façonne la société humaine. Du coup, puisque l'économie, ce n'est pas juste des gens qui s'échangent innocemment entre eux des marchandises, mais que ça concerne tout le monde, il faut organiser cette activité de l'humain avec des règles communes qui complètent (ou annulent) les règles de gré à gré.
Inversement, chez Smith et Ricardo, des penseurs de l'économie libérale après la première révolution industrielle, il ne faut pas organiser la vie économique. Le marché économique s'occupera de tout puisque si chaque individu satisfait son intérêt, cela fera émerger la meilleure société possible. Smith explique cela : l'homme est mauvais, on ne peut pas avoir confiance en lui sauf quand il recherche son propre intérêt, car, en cette matière, il est doué. Donc, si on le laisse chercher son propre intérêt avec vigueur, une société idéale naîtra d'elle-même sans qu'il soit besoin d'en discuter. On retrouve ça chez les penseurs des Républiques françaises (Sieyes) et états-unienne de la même époque : le commerce est une affaire privée distincte de la vie publique. Il a ses propres règles naturelles. Le politique doit s'occuper du reste, de ce qui est insignifiant.
Du coup, j'invente rien, en fait. C'est juste qu'on a oublié le sens des mots.
Non, mais y'a des gens qui se collent l'étiquette gauche pour faire la chasse au méchant riche. Des gens se réclament de la droite afin qu'on leur fiche la paix. Des cocos refusent de se nommer ainsi car, dans l'imaginaire collectif, le communisme fait référence à l'URSS. Ça veut rien dire.
Ça ne permet pas de remettre en cause la définition. C'est comme quand un possesseur d'iPhone se revendique geek par cette seule possession : il peut le faire, mais ça ne change pas la définition et cette personne ne fera pas illusion auprès de ceux qui la connaissent. Des avis divergents sont insignifiants : la classification des espèces animales ne change pas quand Jojo prétend qu'un cheval est un reptile.
Tu fais référence à des valeurs : le méchant riche est une périphrase pour désigner l'égalité et avoir la paix est une périphrase pour liberté. Or, je pense justement que le critère de tri "manière d'organiser la société" (on discute ou non de règles communes + on croit que ces règles rendront la société meilleure, c'est pas juste pour faire chier) est un critère plus fiable que des valeurs. Car, remettre en question une seule valeur permet de retirer sa légitimité à quelqu'un genre "t'es propriétaire ? bah t'es pas de gauche !" (exemple exagéré). Inversement, une valeur suffit-elle à me faire basculer dans un groupe ? Et si je suis favorable à la liberté d'entreprendre (plutôt droite) mais aussi au principe de précaution (plutôt gauche) ? Qu'est-ce qui l'emporte ? En triant sur "règles communes", on classe ce discours à gauche (principe de précaution = discussions = normes = règles communes, etc.). Une valeur ou une morale permet d'exclure qui l'on veut, d'où il faut s'en extraire. Droite et gauche partagent des valeurs, mais surtout un désaccord sur la manière d'organiser la société et sur la nécessité même de cette organisation.
Y'a des gens qui n'entreront pas dans les cases.
Soit il reste des cases à découvrir, soit le critère de tri n'est pas pertinent (comme les valeurs, justement), donc il faut en changer.
Ça dépend si tu veux créer les groupes selon tes critères ou selon ce qu'il se passe sur le terrain par les gens qui croient les composer…
J'ai déjà écrit qu'on fait que revenir aux définitions originelles. Peut-être est-ce aux gens qui croient être membre de tel groupe de mieux étudier la question ? Ces définitions constituent le terrain autant que les valeurs. On remonte simplement un cran plus haut, au-dessus du brouhaha, à un discriminant qui semble être plus fiable et pérenne.
À moment donné, les courants de pensées ont une définition, autant que les mots, et si t'utilises mal à propos un mot ou un courant de pensée, ça n'en change pas la définition. Faut-il faire évoluer la définition des courants de pensée comme on fait évoluer l'usage d'un mot en fonction des pratiques ? Vaste sujet… Le problème étant justement que les définitions modernes (gauche / droite = égalité / liberté ou progressisme / conservatisme ou idéalisme / pragmatisme) ne fonctionnent pas. Si tout le monde croit que gauche / droite = égalité / liberté parce que ça arrange les consciences et/ou que ça permet de s'envoyer des fions ("haha gauchiste incurable", "haha t'es pas vraiment de droite"), OK, mais si la gauche apprécie aussi la liberté et que la droite apprécie aussi l'égalité, ça signifie que droite et gauche n'existent pas selon ces critères. Pourtant, on peut les distinguer, ces deux groupes, donc ils existent. Selon quels critères ?
C'est comme les "bons" et les "mauvais" féministes, dont les mauvais sont ceux qui se réclament du féminisme mais en vrai détraquent plus le mouvement qu'autre chose et donne du grain à moudre aux détracteurs.
Tout ça relève de la morale (y'a un shaarli sur ça) et n'est pas le sujet. La bonne et la mauvaise gauche, la mauvaise et la bonne droite, etc. Je t'applique ma morale afin de te considérer immoral, donc de te classer dans le camp du mal, et pouf. Donc, on part sur un débat sans fin sur l'appartenance à un groupe car il n'y a pas d'arguments (juste une projection de mes valeurs sur autrui) et que le critère de tri n'est justement pas pertinent. D'où s'élever en regardant les définitions originelles de ce que sont les courants de pensées de la droite et de la gauche, et en y trouvant un point commun interne (entre deux courants de gauche ou deux de droite) qui est aussi un point de divergence externe (droite / gauche) ?
Résumé : état des lieux du flicage sur le web et réflexion : jusqu'où aller pour limiter son flicage web ? Bloquer la pub et les traqueurs / pisteurs ? Facile avec uBlock Origin. Ne pas laisser son navigateur communiquer à des tiers la page web précise sur laquelle on se trouve (tel article de journal, tel profil sur un site web de rencontres, etc.) ? Facile avec Smart Referer (mais il y a des fuites malgré tout). Éviter le téléchargement automatique d'une partie des contenus tiers auprès des géants du web ? Facile avec LocalCDN (qui remplace la défectueuse Decentraleyes), mais le trou dans la raquette est énorme. Bloquer tous les scripts et les frames / inclusions externes sur un site web ? Faisable avec uBlock Origin (encore faut-il le savoir) ou uMatrix, mais c'est chiant et il faut s'impliquer lourdement (débloquer des contenus externes sur nos sites favoris). Bloquer tous les contenus tiers et autoriser les indispensables site web par site web ? Faisable avec uBlock Origin ou uMatrix, mais c'est totalement invivable, même quand on est motivé. La guerre technique étant asymétriquement en notre défaveur, je pense que le retrait des contenus tiers de nos sites web favoris passe par le dialogue. Contacter l'éditeur du site web. Dialoguer avec nos collègues développeurs web / administrateurs systèmes afin de les informer des conséquences de leur choix / travail de piètre qualité. Ça ne fera pas tout (genre sur les sites web internationaux), mais ça sera déjà ça.
Ce shaarli s'adresse à un public avancé. J'entends par là des personnes qui ont l'envie et le temps de comprendre et qui acceptent le risque de rendre leur navigation web plus ou moins invivable (je préciserai à chaque étape et un retour en arrière facile est toujours possible).
Si tu ne te reconnais pas, dans leur configuration par défaut, les extensions pour Mozilla Firefox uBlock Origin et Smart Referer fonctionnent très bien sans déranger l'utilisateur. Elles sont déjà une bonne base pour défendre ta vie privée. Tu peux y adjoindre Privacy Badger et LocalCDN. Le gain n'est pas flagrant, mais la probabilité d'emmerdements est très faible.
Commençons par un rappel.
Le contenu d'un site web se décompose en plein de morceaux (texte, images, mise en forme, police de caractères, etc.). Chaque morceau peut être stocké (et diffusé) indépendamment des autres.
La problématique à l'origine de ma réflexion est la suivante : je veux que des contenus provenant de « youtube.com » soient chargés automatiquement lorsque que je vais sur Youtube de ma propre initiative, mais qu'ils ne soient pas chargés quand je suis sur un autre site web, comme celui du journal Fakir ou celui de la mairie de mon bled ou mon espace personnel sur le site web de ma banque.
L'objectif principal est de préserver ma vie privée : je ne veux pas que Google Youtube sache que j'ai consulté le site web de Fakir ou celui de ma mairie ou celui de ma banque. Or c'est possible avec le nom du contenu (une liste de lecture « Fakir TV », ça se voit) et/ou avec le Referer, entre autres. J'ai expliqué ce qu'est le Referer et les problèmes de vie privée que cela pose dans un article récent.
L'objectif secondaire est d'arrêter de charger des contenus qui ne m'intéressent pas afin d'économiser des ressources et de gagner du temps. Tous les sites web modernes sont des merdes qui mettent plusieurs secondes à se charger pour un contenu réel environ nul (en proportion).
Ublock Origin, uMatrix et NoScript sont quelques extensions Firefox qui permettent de filtrer la merde des sites web. La publicité, par exemple, mais aussi les traqueurs / pisteurs / profileurs (qui cherchent à collecter le plus d'informations possible), les outils de mesure d'audience, et plein d'autres éléments souvent invisibles.
Voyons le fonctionnement principal de chaque outil dans sa configuration par défaut :
Chaque outil a des fonctionnalités secondaires qui lui sont propres. NoScript protège contre le vol de clic et les attaques XSS basiques. uMatrix peut masquer le Referer. uBlock et uMatrix bloquent certaines indiscrétions supplémentaires comme la fuite d'adresses IP locales en webRTC ou la surveillance des liens (attribut « ping » de la balise XHTML « a »).
On va donc obtenir un résultat différent avec chaque extension. Si je reprends mon exemple de Youtube sur le site web du journal Fakir / mairie / banque : uBlock le laissera passer car il n'apparaît pas dans une liste de filtrage, uMatrix ne le laissera pas passer car il s'agit d'une inclusion, et NoScript le laissera passer car il s'agit d'une inclusion et que Youtube apparaît dans la liste blanche (comme la plupart de l'empire Google).
Par défaut, si l'on bloque / débloque un contenu avec uBlock Origin ou NoScript, même temporairement, ça vaut pour tous les sites web (et tous les onglets). Avec uMatrix, par défaut, l'autorisation vaut pour le site en cours (j'autorise youtube.com sur le site web de Fakir et uniquement sur ce site web). Avec sa configuration par défaut, uMatrix répond mieux au fil rouge de cette réflexion.
Sans surprise, un même type d'élements peut être bloqué par défaut par plusieurs de ces extensions, mais pas toujours. Exemple : les scripts sont bloqués par NoScript (sauf ceux de la liste blanche) et par uMatrix (sauf ceux du domaine de la page web consultée).
Évidemment, il y a des équivalences.
À ce stade, les inclusions et les scripts tiers sont bloqués par au moins l'une de ces extensions. uMatrix étant celle qui va le plus loin par défaut et uBlock Origin le moins loin (pour moi, c'est parfaitement normal, son travail réside ailleurs).
À ce stade, la navigation web peut commencer à devenir pénible car il faut autoriser les scripts et les inclusions tiers sur nos sites web favoris. Mais une fois que c'est fait, normalement c'est OK, ça change peu. C'est donc un bon compromis vie privée / confort, je trouve.
Et si l'on allait plus loin ?
Sur tout site web moderne, le style CSS est récupéré depuis BootstrapCDN, la police de caractères depuis Google et les scripts JavaScript depuis CloudFlare (ce sont des exemples). Tout ça laisse des traces chez les quelques géants du web qui leur permettent de tracer un internaute entre les sites web qu'ils consultent (car ces acteurs sont utilisés partout) et à l'intérieur d'un site web (untel a lu tel et tel article).
Peut-on bloquer tout ça ? Peut-on bloquer ces contenus tiers ?
Depuis plus de quatre ans, j'utilisais l'extension Firefox Decentraleyes. Elle détecte l'utilisation de scripts bien connus et, plutôt que de les faire télécharger par le navigateur web, elle les injecte elle-même dans la page. Dit autrement : cette extension embarque les scripts bien connus et les remplace sur les sites web consultés. Ainsi, le fonctionnement du site web est identique, mais rien a été téléchargé depuis le site web du géant du web.
Depuis plus d'un an, je constate qu'elle est inefficace. À part pour remplacer un jquery téléchargé chez Google, elle est incapable d'agir pour un script téléchargé depuis jsdelivr.net, MaxCDN, jquery.com (!!!), cdnjs.com et autres. J'ai pourtant la dernière version, la 2.0.14 qui est sortie il y a deux semaines.
LocalCDN est une extension Firefox dérivée de Decentraleyes. D'après mes tests, tout ce que j'ai mentionné au point précédent est substitué par une version locale sauf jsdelivr.net. C'est déjà beaucoup mieux. C'est du logiciel libre. Je n'ai pas encore assez de recul afin de dire si ça ne fait pas fuiter des choses en douce et si ça casse rien.
Je ne crois pas trop à ce type de solution pourtant très simple d'utilisation : seuls quelques rares contenus tiers sont pris en charge, donc il reste beaucoup de fuites, et, surtout, la version des scripts change tellement souvent que je suis certain que l'extension est inutile sur les sites web qui suivent les versions, son temps de mise à jour étant plus long que le délai moyen d'apparition d'une nouvelle version d'un script voire celle d'un nouveau script à la mode.
On peut bloquer tous les contenus tiers d'un site web donné avec uBlock Origin. En appliquant la méthode ci-dessus (premier point de la liste « il y a des équivalences ») à l'intersection entre la ligne « Tierce-partie » et la colonne de gauche. Comme avant, il sera possible de débloquer des contenus domaine par domaine sur chaque site web en cliquant sur la couleur verte dans l'intersection entre un domaine et la colonne de droite. L'autorisation est descendante / récursive : autoriser un domaine autorise ses sous-domaines. C'est pratique avec les CDN, ça permet d'autoriser toutes les instances présentes et futures d'un seul coup. Mais, en cas de vol d'un nom ou d'une attaque, du contenu pourra être injecté sur le site web que tu consultes, d'où ne pas autoriser les scripts sur tout un domaine et ses sous-domaines peut être une bonne idée. Aucun problème pour CSS, médias, etc.
Je vois deux limites :
Ben, utilisons uMatrix, alors. Sa présentation matricielle nous permet de voir les types de contenus et les domaines et de bloquer / autoriser tel type de contenu (cliquer sur l'entête des colonnes), tel domaine (cliquer sur l'entête d'une ligne) ou tel type de contenu provenant de tel domaine (cliquer sur l'intersection) pour chaque site web.
Je vois deux limites.
La première est que, par défaut, uMatrix n'a pas les mêmes listes de filtrage qu'Ublock Origin, donc il laisse passer des traqueurs / pisteurs bloqués par uBlock. On peut obtenir le même comportement que celui d'uBlock en important toutes les listes de filtres dans les paramètres (onglet « Ressources ») ainsi qu'en bloquant les styles CSS (et les polices de caractères) et les images tierces. Pour ce faire, il faut cliquer sur l'icône d'uMatrix dans la barre d'outils, passer en vue globale en cliquant sur « * » (en haut, à gauche) puis cliquer sur l'entête de la colonne CSS et celui de la colonne images. Cadenas pour sauvegarder. « * » pour revenir à la vue locale. On pourra débloquer des contenus (images, CSS, police de caractères, médias, etc.) au cas par cas, site web par site web et domaine par domaine comme on l'a vu ci-dessus.
La deuxième limite d'uMatrix est qu'il ne bloque pas encore les traqueurs / pisteurs déguisés. Qu'est-ce ? Au début de ce shaarli, j'ai écrit que certains contenus tiers sont camouflés comme contenu interne au site, comme « medias.liberation.fr » qui se nomme en réalité « medias.liberation.fr.wtxcdn.com ». (Évidemment, comme l'explique l'article pointé, cela diminue le niveau de sécurité face à un contenu injecté…) Il en va de même pour les traqueurs / pisteurs. Regardons le script dont le domaine est « f7ds.liberation.fr ». Son vrai nom est en réalité « atc.eulerian.net. ». Eulerian est une société commerciale qui exerce dans le marketing. Le script est un traqueur / pisteur. Le fait qu'une liste de filtrage bloque le domaine « eulerian.net » sera inefficace puisque cette ressource se nomme « f7ds.liberation.fr ». Depuis février 2020, uBlock Origin prend en compte le nom final, mais pas la version d'uMatrix publiée sur addons.mozilla.fr (la version beta disponible dans le dépôt git le fait). Donc, pour l'instant, si l'on utilise seulement uMatrix, on perd en qualité de blocage de la vraie merde (les traqueurs / pisteurs), ce qui est un mauvais choix, à mon avis : mieux vaut filtrer le plus offensif, donc les atteintes à la vie privée certifiées.
Notons qu'on peut utiliser uBlock Origin pour le blocage et uMatrix pour la visibilité sur les contenus. Le meilleur des deux mondes. Pour cela, on peut désactiver toutes les listes de filtrage d'uMatrix. Comme ça, pas de doublon sur ce périmètre-là, donc gain de temps lors de l'analyse d'une page web. On peut également désactiver les autres protections d'uMatrix afin d'être sûr de tout centraliser dans uBlock, ce qui facilite le diagnostic d'un sur-blocage / comportement étrange. Ça sert à rien à moyen terme puisque uMatrix aura le même comportement qu'uBlock Origin.
Alors utilisons uBlock Origin en bloquant tout contenu tiers et en acceptant de perdre en visibilité sur le type de contenu bloqué (script, CSS, etc.). Ce n'est pas si simple…
Si le véritable nom qui héberge les images et/ou le CSS est en dehors du domaine (statics.liberation.fr = statics.liberation.fr.wtxcdn.com, par exemple), alors le contenu sera bloqué. Même chose si le HTML est en dehors du domaine (exemple : www.gouvernement.fr = sni.www.gouvernement.fr.c.footprint.net) : toute la mise en forme saute.
Ça se passe comme ça sur pleeeeiiiin de sites web. La navigation web devient l'enfer sur terre. Vraiment. Même pour quelqu'un de motivé.
Et ça ne va pas s'arranger. Regarde le nom suivant : www.francebleu.fr = a3d5db99c4f9f11e9bd370659f4f1e30-375828590.eu-west-3.elb.amazonaws.com. Cela identifie une instance chez Amazon AWS. T'es pas sûr de tomber sur la même instance lors de ta prochaine visite. En clair : il faudra peut-être débloquer à nouveau encore et encore France Bleu dans uBlock. C'est chiant et ça encombre la liste des règles d'uBlock Origin, ce qui va nécessairement le ralentir. Perdu.
Tu noteras que ce problème surviendra aussi avec uMatrix dès lors que la version publiée sur addons.mozilla.org bloquera aussi le nom final plutôt que le nom de façade.
Dit autrement : il va devenir très compliqué de bloquer les contenus tiers.
Au moins, ça permet de se rendre compte qu'on a vraiment merdé, que le web est devenu n'importe quoi. Mais vraiment. Tu veux aller peinard sur le site web de ton gouvernement ? Tu atterris chez un opérateur de communication États-Unien (footprint.net = Level 3). Tu veux aller sur le site web de ta radio ? Tu atterris chez Amazon. Le site web de ton journal ? Vlam le traqueur déguisé. C'est sans compter sur tous les acteurs qui seront informés lorsque ton navigateur récupérera CSS, images, police de caractères, scripts, vidéo, carte géographique, etc. d'un banal site web. J'apprécie aussi beaucoup les styles CSS et les polices de caractères qui sont chargés depuis des hébergeurs externes sans être utilisés sur le site web… … …
On pourrait demander à l'auteur d'uBlock Origin / uMatrix de ne pas considérer la page web comme du contenu tiers. Si l'utilisateur a désiré consulter tel site web, peu importe que la page web soit hébergée hors de son domaine. Afficher la page en bloquant tout le reste, c'est déjà informer le prestataire choisi par le site web (Amazon pour France Bleu et Level 3 pour le site du gouvernement). Même raisonnement pour les images et le CSS : si l'hébergeur / le nom final est le même que pour la page web, on peut laisser passer. J'imagine cependant que ce leste permettra des contournements malveillants.
Bref, bloquer les contenus tiers sur les sites web est une stratégie invivable, même pour quelqu'un de motivé.
C'est pour ça qu'il faut mettre la pression sur les éditeurs des sites web qu'on apprécie afin qu'ils internalisent les ressources (images, styles, polices de caractères) utilisées sur leur site web. C'est pour ça que j'ai écrit aux journaux que j'apprécie, par exemple. J'ai aucun doute : ça servira à rien, mais ça permet de prendre date, de dire « à partir de telle date, vous n'ignoriez plus la problématique, donc vous êtes responsable. Vous saviez et vous n'avez rien fait ».
Il faut également former les développeurs web et les administrateurs systèmes. Les premiers afin qu'ils apprennent à utiliser le framework qu'ils utilisent et qui permet d'internaliser en un clic les ressources (comme les traqueurs dans les applications mobiles qui sont activés par défaut par incompétence). Les seconds afin qu'ils apprennent à faire de la montée en charge sans recourir à des prestataires qui deviennent de plus en plus hégémoniques.
Ne vais-je pas trop loin ? Est-il vraiment utile de bloquer les contenus tiers des sites web ?
Après tout :
Alors, oui, il n'y a pas que le Referer qui informe les géants de nos lectures précises sur le web, d'autres entêtes HTTP le font (par exemple : « Origin: » pour Ajax / XMLHttpRequest, la récupération d'une police de caractère, et d'autres usages). Mais comme on bloque ces contenus (polices et scripts) avec Firefox et uMatrix / uBlock Origin aux 4e et 5e points, ça n'a pas d'importance.
Le nom du contenu est parfois bien suffisant pour identifier le contexte (quand ton navigateur demande la liste de lecture « Fakir TV » à Youtube sans rien demander au préalable, c'est qu'il est sur le site web de Fakir.
Les hébergeurs des contenus externes / tiers restants (CSS, JS, images) déposent rarement des cookies. Petite digression : on peut bloquer tous les cookies avec uMatrix et les autoriser au cas par cas pour chaque site web en utilisant la mécanique vue et revue tout au long de ce shaarli. Cela permet de remplacer l'extension Firefox Cookie Monster morte lors du changement de format des extensions et de pallier à l'absence de visibilité à laquelle nous confronte Firefox (comment sais-je que tel site web qui ne s'affiche plus a besoin de cookies ? pour quel domaine ?).
Donc, au final, faut-il se rendre la navigation web invivable pour ces contenus tiers restants ? Je n'en suis pas convaincu. On peut s'arrêter aux mesures mentionnées dans la liste de 6 points ci-dessus si l'on est motivé ou juste installer les extensions Firefox uBlock Origin, Smart-Referer (et éventuellement LocalCDN) si l'on ne veut pas se prendre la tête.
En revanche, ce dont je suis sûr, c'est qu'il faut agir à la racine du problème, c'est-à-dire du côté des sites web. Ne pas hésiter à contacter l'éditeur des sites web que t'apprécie pour lui demander de dégager un maximum de contenus tiers. Ce sont eux les responsables. Si ça peut inspirer, voici ce que j'ai écrit aux journaux que j'apprécie. De même, ne pas hésiter à sensibiliser les développeurs web dans nos taffs respectifs. : internaliser style CSS, scripts JavaScript, polices de caractères, etc., c'est ni compliqué ni chronophage. Si un échange humain ne prend pas et que tu es administrateur système, tu peux aussi déployer l'entête HTTP Referrer-Policy. Bien que ça laisse un trou conséquent dans la raquette, ça sera déjà ça de pris à moindre effort.
Une petite satire (bien en deçà de la réalité) du fonctionnement des métiers qui tournent autour de l'informatique et du monde de l'emploi en général (société commerciale comme administration, même combat).
Beaucoup de choses sont dites : une hiérarchie de folie (mille équipes / sous-division / départements) déshumanisante avec un peu de team building bullshit afin de tenter une cohésion d'équipe artificielle ; une externalisation démesurée (mille prestataires et leur sur-facturation qui prennent masse de temps à être encadrés) ; des certifications qualité à gogo alors que, dans la réalité, le produit ne fonctionne pas ; des réunions de pilotage, de stratégie, de décision etc. avec mille petits chefs qui comprennent rien mais qui veulent en être ; des types de contrat (stage, intérim, CDD, etc.) utilisés à mauvais escient, et le petit rictus « c'est un peu technique » afin d'essayer de dissuader le pékin moyen de comprendre la problématique.
Via FRnOG, une liste de discussion entre opérateurs de réseaux.
Résumé : les logiciels de téléphonie indiquent souvent une mauvaise adresse IP à leur interlocuteur, surtout quand ils sont utilisés avec un VPN partiel / split tunnel / VPN sans route par défaut. Les VPN peuvent bricoler les paquets SIP contre la volonté de l'administrateur systèmes et réseaux. La fonctionnalité d'apprentissage RTP du commutateur téléphonique Asterisk est plutôt chatouilleuse aux interférences. Certaines versions de logiciels de téléphonie résistent plus ou moins bien aux magouilles d'un VPN. Pour toutes ces raisons, si tu dois fournir de la téléphonie d'entreprise à des personnels en télétravail et que ça foire de manière aléatoire, ajoute les lignes nat=force_rport,comedia
et directmedia=no
dans la définition de chaque ligne SIP dans le fichier sip.conf
d'Asterisk ou dans les paramètres (paramètres avancés pour « directmedia ») d'une ligne SIP dans XiVo. La première réécrit l'adresse IP contenue dans le paquet SIP/SDP avec l'adresse IP source de ce paquet, garantissant ainsi que l'IP est la bonne. La deuxième fait circuler les flux audio via le commutateur téléphonique plutôt qu'en pair-à-pair, ce qui évite les ratés de l'apprentissage RTP, les bidouilles d'un VPN et la sensibilité des softphones.
Rappel sur le fonctionnement de la téléphonie sur Internet. D'un côté, il y a la signalisation (je veux appeler untel, il a décroché, il met en attente, il reprend l'appel, etc.) avec le protocole SIP. Cet échange se fait via un commutateur téléphonique. La voix transite via le protocole RTP (et son protocole de contrôle RTCP). Il y a un flux audio par interlocuteur. Les flux audio sont échangés en pair-à-pair, sans passer par le commutateur téléphonique. L'adresse IP, le port UDP ("envoie ton flux RTP ici") et les codecs à utiliser sont négociés via le protocole SDP lui-même relayé par SIP, donc via le commutateur.
J'ai déjà exposé notre architecture de téléphonie. Notre commutateur téléphonique est donc un Asterisk empaqueté dans produit avec interface web, API, etc. nommé XiVo. On dira qu'il a l'adresse IP 192.0.2.1 avec une seule route par défaut vers le routeur global de notre organisation. Nous avons des téléphones IP de la marque SNOM. Ils sont dans le réseau 198.51.100.0/24. Il y a donc du routage / du niveau 3 entre nos téléphones et le commutateur téléphonique. Nous avons également quelques rares softphones / logiciels de téléphonie Linphone (choisi car un des seuls logiciels libres encore maintenus + interface agréable depuis la version 4.X). On utilise ça depuis des années sans problème.
Depuis environ six mois, nous avons quelques logiciels de téléphonie utilisés depuis l'extérieur (mise en place progressive du télétravail) à travers un VPN, car notre XiVo n'est pas joignable depuis l'extérieur (filtrage volontaire). Il s'agit d'un VPN partiel / split tunnel : il ne donne pas accès à Internet, seulement aux réseaux internes de l'organisation. Il n'installe donc pas une route par défaut sur le client, mais une route pour chacun de nos réseaux internes. Tous les clients sont dans un même réseau, disons 203.0.113.0/24. Notre VPN ne fait ni filtrage ni NAT. Donc, le commutateur téléphonique voit l'IP VPN d'un client. Exemple : « Registered SIP 'bczhcigi' at 203.0.113.42:62633 ». 203.0.113.42 est bien l'IP que le client VPN a sur son interface réseau VPN. Nos clients VPN peuvent se parler entre eux : un netcat
TCP et UDP entre deux clients VPN fonctionne. Notre VPN est un Cisco ASA. Ces personnels en télétravail ne nous ont pas signalé de problème.
Avec le Covid-19, il a fallu généraliser le télétravail, donc fournir une ligne de téléphone et un logiciel de téléphonie à chaque personnel. Et là ça ne fonctionne plus. Enfin, si, mais pas pour tout le monde ni tout le temps ! On est donc sur un problème aléatoire, les plus chiants à diagnostiquer…
Entre un poste téléphonique SNOM du bureau (ou un numéro externe 0[1-9]) et un Linphone à domicile, l'appel a lieu mais la personne à domicile entend rien. Entre deux Linphones, chacun dans un domicile différent, personne s'entend.
Ça, c'est le signe classique d'un filtrage ou d'un NAT. Mais, comme écrit ci-dessus, notre VPN ne NAT pas et il ne filtre pas. Il n'y a pas d'autres filtrages en interne. Il n'y a pas de filtrage aux extrémités puisqu'on a désactivé les pare-feux.
Si l'on effectue une capture réseau avec tcpdump
(sur le commutateur téléphonique) et wireshark
(sur l'ordinateur de télétravail), on constate que, dans la négociation SDP, Linphone ne communique pas l'adresse IP de l'interface réseau VPN (vpn0, disons), mais celle de l'interface eth0 (ou wlan0), c'est-à-dire celle sur le réseau local du domicile du personnel (genre 192.168.0.X). Forcément, l'interlocuteur ne peut pas émettre un flux audio vers cette destination.
Parfois, Linphone communique la """"bonne"""" adresse IP, celle de l'interface réseau VPN, et dans ce cas-là, tout fonctionne. Cela peut, en partie, expliquer pourquoi nos personnels en télétravail depuis six mois ont rien signalé.
On pourrait penser qu'il suffit de lancer Linphone après avoir établi le VPN, mais non, car, parfois, Linphone échoue même quand il a été démarré après l'établissement du VPN. De plus, on ne peut pas attendre de nos personnels qu'ils se préoccupent de lancer tel logiciel après tel autre.
On peut configurer Linphone pour forcer la communication de l'adresse IP de l'interface réseau VPN. C'est l'option « nat gateway ». Les appels fonctionnent alors dans 100 % des cas. Mais cette option a disparu dans la version 4.X, celle que l'on utilise (parce que son interface est agréable). De toute façon, tous les logiciels qui permettent de configurer l'adresse IP (microSIP, Linphone, etc.) ne conviennent pas : sur notre VPN, nous distribuons des IPs de manière dynamique : à chaque connexion, l'adresse IP du client VPN change. On ne peut pas demander à nos personnels de configurer leur téléphone à chaque fois.
On notera que, dans le cadre de webRTC, les navigateurs web sont mieux équipés que les logiciels de téléphonie ! Dans la config' avancée de Firefox, la clé « media.peerconnection.ice.force_interface » permet de sélectionner l'interface à utiliser, par exemple. Donc ça fonctionnerait impec avec les IP dynamiques de notre VPN. Ça a aussi ses inconvénients : quelqu'un qui voudrait faire de la téléphonie professionnelle (supposons avec VPN) et personnelle (sans VPN) devrait en changer la valeur en permanence…
On peut utiliser ICE, une méthode qui consiste à échanger tous les couples IP+port possibles lors de la négociation SDP et à les tester un par un. J'ai activé ICE dans Linphone et sur le commutateur (même si ça a aucun sens puisqu'il a une seule adresse IP) : ça ne fonctionne pas. D'après mes connaissances, c'est très curieux, mais c'est ainsi.
On peut utiliser STUN, un serveur qui se contente de répondre "voici l'adresse IP source du paquet IP avec lequel tu viens de me causer". On ne peut pas utiliser l'un des serveurs STUN public, car il retournerait l'adresse IP publique de la box Internet du personnel. En revanche, si l'on installe un serveur STUN en interne, la communication avec ce serveur sera contrainte, par le routage, de passer par le VPN. Donc l'adresse IP retournée sera toujours celle de l'interface réseau VPN.
Je ne veux pas trop toucher à notre commutateur téléphonique afin de rien casser (surtout qu'avec le confinement, on ne reviendra pas au bureau avant longtemps, donc on ne saura pas que l'on a cassé l'existant). De plus, nous avons un contrat d'assistance (support) et de maintenance pour notre commutateur et on n'a pas envie de l'invalider avec des modifications trop conséquentes. Pour installer un serveur STUN, j'ai utilisé le logiciel coturn
. Avec Debian GNU/Linux, un simple sudo apt-get install coturn ; sudo systemctl start coturn
suffit.
STUN fonctionne parfaitement. Mais il y a des limites.
Une meilleure solution est de demander au commutateur téléphonique, Asterisk, de réécrire l'adresse IP contenue dans les messages SDP avec l'adresse IP source des paquets IP (on est sûr qu'il s'agit de celle de l'interface réseau VPN car elle a été choisie par le système d'exploitation en fonction de l'interface de sortie).
Avec Asterisk, cela se fait en ajoutant une ligne nat=force_rport,comedia
pour chaque ligne téléphonique de télétravail dans le fichier sip.conf
. Dans XiVo, cela se fait dans l'onglet « Général » de chaque ligne de télétravail (note : XiVo recharge automatiquement la configuration d'Asterisk quand on modifie une ligne ;) ). On peut aussi appliquer cette option sur l'ensemble du parc, mais je ne le fais pas pour les raisons sus-mentionnées : ne pas casser l'existant et ne pas invalider notre contrat d'assistance / maintenance.
Des personnels continuent de ne pas entendre leur interlocuteur. wireshark
/ tcpdump
montre des messages SDP parfaitement valables qui contiennent la """"bonne IP"""" de l'interlocuteur (celle sur l'interface réseau VPN, donc). Si l'on regarde, il y a le début de l'appel (SIP INVITE, SIP TRYING, SIP RINGING, SIP ACK, etc.) puis un premier message SDP est émit par le commutateur téléphonique contenant son adresse IP, donc Linphone émet un flux audio RTP à destination du commutateur puis il reçoit le SDP émis par l'interlocuteur (et réécrite par le commutateur, voir chapitre précédent). Il cesse alors d'émettre le flux RTP. Pourquoi Linphone ne respecte-t-il pas la dernière négociation SDP ?
Je précise que changer la destination des flux RTP en cours de route est parfaitement normal. C'est comme ça que fonctionne la mise en attente ou le fait de se rendre muet : en renégociant en SDP.
Activons le journal de Linphone. Menu -> « Préférences » -> « Avancé » -> « Logs activés ». Le dossier qui contiendra le journal peut également être consulté / changé.
Lisons ce journal. Linphone reçoit bien le dernier SDP, l'analyse et le consigne : « Change audio stream destination: RTP=203.0.113.1:7078 RTCP=203.0.113.1:7079 ». L'adresse IP est la """"bonne"""". Pourquoi Linphone l'ignore-t-il ? Je n'aurai pas la réponse.
Dans le journal du commutateur, Asterisk, je remarque qu'à chaque fois que le problème constaté côté Linphone survient, l'apprentissage RTP ne va pas à son terme. L'apprentissage RTP ou RTP learning ou RTP autolearning est une tambouille interne d'Asterisk qui fait un peu de la magie dans le but d'identifier la """"bonne"""" IP à utiliser.
Quand tout fonctionne bien, le journal consigne une ligne « Strict RTP learning after remote address set to 203.0.113.1:7078 » pour chaque IP de chaque interlocuteur puis une unique ligne « Strict RTP learning complete - Locking on source address 203.0.113.1:7078 » pour chaque interlocuteur.
Quand l'un des interlocuteurs ne s'entend pas et qu'un Linphone n'émet plus de flux RTP en contradiction avec le dernier SDP, je remarque que, soit il n'y a pas de « Strict RTP learning complete […] », juste des « Strict RTP learning after remote address set […] » pour chaque interlocuteur, soit il y a un seul « Complete », pour un seul des interlocuteurs.
Pourquoi l'apprentissage RTP d'Asterisk échoue-t-il ? Comment le désactiver afin d'être sûr qu'il est bien l'origine du problème ? Aucune idée.
Quand les deux interlocuteurs s'entendent, il est possible qui cela coupe après 32 ou 36 secondes de communication. Cela dépend de qui téléphone. Si A téléphone à B, ça peut couper alors que ça ne coupera pas si c'est B qui téléphone à A. Ce point est constant : c'est toujours dans le même sens que cela foire. Cela semble dépendre de la version de Linphone. Si une 4.1.1 téléphone à une 3.11 / 3.12, alors ça coupera. Pas l'inverse.
Avec wireshark
, on voit un message SIP BYE avec un entête « X-Asterisk-HangupCause: no user responding » destiné au Linphone 3.X. Dans le journal d'Asterisk, on lit « Packet timed out after 32000ms with no response ».
Ajouter session-timers=refuse
dans la définition d'une ligne téléphonique dans sip.conf
ou dans l'onglet « Avancé » des paramètres d'une ligne téléphonique dans XiVo, n'aide pas.
Qui peut bien être responsable de tout ce qui précède ? Le seul qu'on n'a pas encore remis en cause est le VPN ASA.
Dès le début du diagnostic, nous avons désactivé son ALG (« no inspect sip ») et constaté que les timeouts UDP et SIP étaient déjà de plusieurs minutes. Pour savoir ce qu'est un ALG et les emmerdes pratiques que cela pose parfois, je te renvoie vers cet article : Le lulz de la VOIP - Tome 3 : Numericable.
Dans un coin, j'ai un PFSense (routeur, pare-feu, VPN, etc. en logiciel libre pour lequel on peut acheter des appliances, de la prestation d'intégration, de l'assistance, etc.) de test avec un OpenVPN de test déjà configuré. Niveau 3 (TUN). Tous les clients dans un même réseau /24. Aucun filtrage. Pas de NAT. Il a donc la même architecture que notre VPN ASA.
Je décide de tester. Ça fonctionne moyen. D'un côté, certains couples de testeurs qui ne s'entendaient pas s'entendent, ce qui est un gain. De l'autre côté, la coupure après 32 / 36 secondes d'appel en fonction des clients demeure. De même, le RTP autolearning d'Asterisk continue de foirer quelques fois. Mais, quand ça arrive, la communication pair-à-paire fonctionne systématiquement.
Du coup, le VPN ASA est en cause sur l'un des trois problèmes (communication pair-à-pair dysfonctionnelle). Néanmoins, ce n'est pas lui qui fait parfois échouer le RTP autolearn ni qui provoque une coupure après 32 / 36 secondes d'appel.
Ne sachant pas désactiver le RTP autolearn d'Asterisk, j'ai décidé de faire transiter les flux audio par le commutateur téléphonique. Ainsi, le résultat de l'apprentissage RTP aura peu d'importance, donc il n'y aura pas de bascule vers une communication pair-à-pair qui pose parfois problème avec notre VPN Cisco ASA.
Pour ce faire, il faut ajouter une ligne directmedia=no
dans la définition de chaque ligne SIP de télétravail dans le fichier sip.conf
d'Asterisk ou dans l'onglet « Avancé » d'une ligne téléphonique dans XiVo. Comme le reste, on peut activer ça pour tous les clients SIP, mais on ne le veut pas afin de ne pas détraquer le reste du parc qui fonctionne très bien et de ne pas rendre caduc notre contrat d'assistance / maintenance.
Ça fonctionne parfaitement. Tous les appels aboutissent. Aucun se termine après 32 / 36 secondes.
VICTOIRE \o/
Si tu ne veux pas charger ton commutateur téléphonique (d'après les pros de FRnOG, c'est relatif, c'est """"juste"""" de la copie de paquets RTP ) tout en obtenant le même résultat, tu peux le décharger en faisant transiter tes flux audio via un serveur TURN interne.
Que retenir de tout ça ?
nat=force_rport,comedia
et une autre ligne directmedia=no
dans la définition de chaque ligne SIP dans le fichier sip.conf
d'Asterisk ou dans les paramètres (onglet « Avancé » pour directmedia=no) d'une ligne dans XiVo. La première réécrit l'IP contenue dans le paquet SDP avec l'adresse IP source de ce paquet, garantissant ainsi que l'IP transmise à l'interlocuteur est la bonne. La deuxième fait circuler les flux audio via le commutateur téléphonique plutôt qu'en pair-à-pair, ce qui évite les ratés de l'apprentissage RTP, les bidouilles de l'ASA et la sensibilité de certains softphones.Lors d'un diagnostic de VoIP, ne prend pas les problèmes un par un, séparément, sinon tu ne vas pas t'en sortir. Si tu commences à noter que telle version de tel logiciel de téléphonie ne fonctionne pas ou que telle version a un comportement différent sous winwin et GNU/Linux ou que tel logiciel fonctionnait et ne fonctionne plus, tu ne vas pas t'en sortir car il y a trop d'éléments variants. Essaye de penser global, de revenir aux bases de la VoIP.
Soit vigilant à l'environnement de test : un testeur qui lance deux instances du VPN et, vlam, la """"mauvaise"""" IP se retrouve dans le paquet SDP ; un testeur qui ré-active le pare-feu winwin et, pouf, tes conditions de test changent ; un testeur lance un appel entre deux Jitsi sur deux ordinateurs situés dans le même LAN et constate que ça fonctionne très bien… car le flux ne passe pas par le VPN, mais par le LAN, etc.
Merci aux gens qui fréquentent FRnOG, une liste de discussion entre opérateurs de réseaux / téléphonie, pour leurs coups de main. :)
Résumé : pour interagir avec un service vocal téléphonique (« tapez 1 pour joindre le service truc »), un logiciel de téléphonie peut envoyer le flux audio qui correspond à la fréquence d'un numéro (DTMF) ou un message texte. Si tu n'arrives pas à interagir avec un service vocal interactif depuis un logiciel de téléphonie, (tu presses la touche demandée, mais le service reste muet avant de te dire « je n'ai pas compris »), c'est probablement que ton logiciel de téléphonie n'utilise pas la bonne méthode pour coder les DTMFs. Ouvre sa configuration. Si t'es en RFC 2833 (la valeur par défaut dans Linphone, par exemple), passe en SIP INFO et inversement.
VOIP = téléphonie sur Internet. Toute la téléphonie (box, mobile, téléphonie d'entreprise) passe par Internet à moment donné. J'ai écrit les trois premiers volets de la série il y a bientôt cinq ans : Tome 1 : Free Mobile, Tome 2 : des implémentations bancales et Tome 3 : Numericable. Depuis, je me suis tenu à l'écart de la VOIP… jusqu'à récemment. Et là, c'est le drame.
Les codes DTMF, c'est l'envoi de fréquences audio pour composer les numéros de téléphones et pour interagir avec des services vocaux (saisir le code PIN d'un salon de conférence, « tapez 1 pour joindre le service truc », etc.). Les téléphones analogiques à cadran utilisaient des impulsions électriques. Les téléphones analogiques plus récents utilisent des fréquences audio. Les logiciels de téléphonie utilisent les DTMF uniquement pour interagir avec les services vocaux interactifs, plus pour la composition des numéros.
Avec la VoIP, il y a deux manières d'envoyer ces signaux. Soit on envoie les fréquences audio dans un flux audio avec le protocole de transport de flux médias RTP (c'est le RFC 2833), soit on envoie un message d'information avec le protocole de signalisation téléphonique SIP (SIP INFO), auquel cas le signal n'est plus un flux audio mais un simple message texte (« 5 » si le chiffre pressé est le 5, par exemple). Les box Internet encapsulent les fréquences vocales émises par un téléphone analogique branché sur un de leur port téléphone dans un flux RTP ou elles convertissent ces flux audio en messages SIP INFO.
Si tu n'arrives pas à interagir avec un service vocal interactif depuis un logiciel de téléphonie, (tu presses la touche demandée, mais le service reste muet avant de te dire « je n'ai pas compris »), c'est probablement que ton logiciel de téléphonie n'utilise pas la bonne méthode pour coder les DTMFs. Ouvre sa configuration. Si t'es en RFC 2833 (la valeur par défaut dans Linphone, par exemple), passe en SIP INFO et inversement.
Même quand on sait tout ce que je viens d'écrire, on se fait avoir et c'est toujours rigolo. :)
Un moteur de recherche pour le réseau PeerTube : https://peertube-index.net/ . Attention : les vidéos marquées avec le tag Not Safe For Work par leur auteur ne sont pas affichées. Je regrette qu'il soit compliqué de trouver un éditeur de contenus en particulier (je veux trouver toutes les vidéos publiées par machin, peu importe leur titre).
PeerTube est un logiciel libre qui permet à quiconque de publier des vidéos sur le web. Chaque installation (instance) rejoint une fédération afin de partager les vidéos et de les rendre visibles, mais elle reste autonome, elle dispose de ses propres règles, de sa propre modération, donc adieu la censure arbitraire. Ce logiciel est développé par l'association française Framasoft qui œuvre pour des services numériques éthiques et la culture libre.
Ce site web parcourt les instances PeerTube afin de découvrir les vidéos et les autres instances.
Via une liste de discussion du fournisseur d'accès à Internet FDN.
Résumé : L'interface de Linphone, l'un des rares téléphones en logiciel libre encore maintenu devient agréable (et unifiée sur Windows/Android/GNU/Linux) à partir de la version 4.X. Attention si tu utilises un VPN sur ton ordiphone (smartphone) Android. Si Linphone est démarré après le VPN ou pendant qu'Android n'a pas encore pris en compte les serveurs DNS récursifs du fournisseur de VPN, alors il échouera à s'enregistrer sur le serveur téléphonique sans lever d'alerte explicite. Les autres logiciels de téléphonie disponibles sur F-Droid (Lumicall, Sipdroid, SIP Caller) sont confrontés au même problème. Il faut alors fermer et ré-ouvrir Linphone (Paramètres Android -> « Applications » -> « Linphone » -> « Forcer l'arrêt »). Si ça ne suffit pas, remplacer le nom du serveur téléphonique par son adresse IP dans le champ « Serveur mandataire » de la configuration d'un compte SIP dans les options de Linphone sans modifier le reste de la valeur de ce champ + cocher l'option « Outbound proxy - Faire passer tous les appels via le serveur mandataire SIP » + redémarrer Linphone. À utiliser avec parcimonie car l'adresse IP associée à un nom peut changer sans préavis, ce qui rend caduque la configuration.
VOIP = téléphonie sur Internet. Toute la téléphonie (box, mobile, téléphonie d'entreprise) passe par Internet à moment donné. J'ai écrit les trois premiers volets de la série il y a bientôt cinq ans : Tome 1 : Free Mobile, Tome 2 : des implémentations bancales et Tome 3 : Numericable. Depuis, je me suis tenu à l'écart de la VOIP… jusqu'à récemment. Et là, c'est le drame.
Linphone est l'un des téléphones en logiciel libre encore maintenu. Il faut être honnête, l'interface graphique s'est bonifiée avec le temps, notamment à partir des versions 4.X. Interface plus simple à prendre en main et unifiée pour winwin / GNU/Linux / Android.
J'ai une ligne téléphonique souscrite chez OVH. Forfait « VOIP découverte ».
Je veux l'utiliser sur mon ordiphone (smartphone) Android. En 2017, j'utilisais le logiciel CSIPSimple. Il était disponible sur F-Droid, le magasin d'applications libres pour Android. Il fonctionnait impeccable sans faire chier. C'était la crème. Sauf qu'il n'est plus maintenu et qu'il a été retiré de F-Droid. Linphone est disponible dans F-Droid, alors allons-y.
J'ajoute mon compte SIP à la configuration de Linphone en utilisant l'assistant. « Utiliser un compte SIP ». « Nom d'utilisateur » = « Login / User name » dans l'email d'OVH = numéro de téléphone. « Mot de passe » = celui que j'ai créé dans le manager d'OVH. « Domaine » = « Domain / Registrar » dans l'email d'OVH = « sip5.ovh.fr » dans mon cas. Transport = UDP (OVH ne prend pas ne charge TLS, ce qui est dommage).
Linphone ne parvient pas à s'enregistrer auprès d'OVH. « Connexion en cours » puis « Connexion échouée », affiche-t-il. Vu les ratés de l'assistant sans la version GNU/Linux de Linphone, je modifie les paramètres du compte SIP à la main dans les paramètres : ça ne fonctionne pas mieux.
Les autres logiciels de téléphonie disponibles sur F-Droid (Lumicall, Sipdroid, SIP Caller) sont confrontés au même problème.
À court d'idées, j'active le journal de Linphone. C'est dans le menu -> « Options » -> « Avancé » -> « Activer les traces de débogage ». Il faut fermer et ré-ouvrir Linphone : Paramètres Android -> « Applications » -> « Linphone » -> « Forcer l'arrêt ». Le journal sera stocké dans /data/data/org.linphone/files/linphone1.log
(source). Je le copie sur ma carte SD à l'aide du gestionnaire de fichiers Android Ghost Commander. J'imagine qu'on peut également le récupérer avec adb
.
Que lit-on dans ce journal ? ERROR channel_res_done: DNS resolution failed for sip5.ovh.fr
.
Hum… Pourtant plus haut, on lit aussi :
MESSAGE Resolver is using DNS server(s):
MESSAGE 89.2.0.1
MESSAGE 89.2.0.2
MESSAGE 80.67.169.12
MESSAGE 80.67.169.40
Hum… J'utilise un VPN OpenVPN (avec l'application non officielle mais disponible sur F-Droid OpenVPN for Android) qui débouche chez un Fournisseur d'Accès à Internet de confiance. On a vu Bouygues Telecom modifier les réponses DNS, on a vu SFR modifier les réponses web, etc.
J'utilise également le pare-feu Android AFWall+. Comme tous les logiciels, Linphone est contraint d'émettre uniquement via le VPN. Je bloque les adresses IP des récursifs DNS de mes opérateurs (mobile, Wi-Fi, etc.) afin d'éviter les fuites DNS c'est-à-dire quand la résolution des noms s'effectue via le VPN mais en utilisant les serveurs DNS récursifs de mes opérateurs plutôt que ceux de mon fournisseur de VPN, ce qui informe mes opérateurs de mes usages alors que si j'utilise un VPN, c'est précisément pour qu'ils en sachent rien.
Linphone mélange les serveurs DNS récursifs de mon opérateur réseau (Numericable) et les serveurs DNS récursifs de mon FAI de confiance. Forcément, une fois le VPN établi, les récursifs DNS de Numericable ne répondent plus à Linphone (car ils répondent uniquement aux clients, identifiés par leur adresse IP), donc il échoue à résoudre le nom du serveur de téléphonie d'OVH.
C'est bizarre. Ce VPN pose problème à aucun autre logiciel ! Où Linphone a-t-il récupéré cette liste de serveurs DNS récursifs ? Il le consigne dans son journal :
MESSAGE [Platform Helper] [Network Manager 24] Found DNS host 89.2.0.1 from network WIFI with default route
MESSAGE [Platform Helper] [Network Manager 24] Found DNS host 89.2.0.2 from network WIFI with default route
MESSAGE [Platform Helper] [Network Manager 24] Found DNS host 80.67.169.12 from active network VPN
MESSAGE [Platform Helper] [Network Manager 24] Found DNS host 80.67.169.40 from active network VPN
Ok, donc par Android lui-même. Ça va être compliqué d'aller contre ça.
Si je tentais d'utiliser que des adresses IP dans la configuration de Linphone ? Dans les paramètres de Linphone (Menu -> « Options »), je sélectionne mon compte SIP. Je change la valeur du champ « Domaine » pour « 91.121.129.29 », c'est-à-dire l'adresse IP associée au nom « sip5.ovh.fr » à l'heure actuelle (attention, ça peut changer sans préavis !). Je remplace aussi « sip5.ovh.fr » par son IP dans le champ « Serveur mandataire » sans toucher au reste de la valeur du champ. Je coche l'option « Outbound proxy - Faire passer tous les appels via le serveur mandataire SIP ». Je redémarre Linphone.
Ça ne fonctionne toujours pas. Cette fois-ci, Linphone reste bloqué sur « Connexion en cours ».
Que consigne-t-il dans son journal ?
MESSAGE channel [0x8785b0c0]: received [345] new bytes from [UDP://91.121.129.29:5060]:
SIP/2.0 404 Domain not bound
CSeq: 23 REGISTER
Hum… Linphone reçoit une réponse du serveur téléphonique d'OVH à son message d'enregistrement (SIP REGISTER) lui disant « Domain not bound ».
Si, dans les paramètres du compte SIP, je laissais l'adresse IP dans le champ « Serveur mandataire » et que je remettais « sip5.ovh.fr » dans le champ « Domaine », alors Linphone contacterait le serveur d'OVH sans tenter de résoudre son nom grâce au champ « Serveur mandataire » puis il lui demanderait à s'enregistrer sur le domaine « sip5.ovh.fr » connu d'OVH.
Je fais ça. Je redémarre Linphone. Ça fonctionne \o/
En vrai, ce cas est difficile à reproduire. Il semble se produire quand Linphone a été démarré avant le VPN et/ou qu'Android n'a pas encore pris en compte les récursifs DNS appris par le VPN.
Plutôt que de changer la configuration de Linphone, je recommande de le fermer et de le ré-ouvrir (Forcer l'arrêt dans les paramètres Android, voir ci-dessus). C'est plus pérenne que d'enregistrer une adresse IP dans une configuration, car, par définition, elle peut changer sans préavis, ce qui mettra Linphone hors service.
Mais, si Linphone refuse ponctuellement de fonctionner même s'il a été (re)démarré après le VPN et/ou que t'es dans l'urgence, tu sais quoi faire : remplacer le nom du serveur téléphonique par son adresse IP dans le champ « Serveur mandataire » de la configuration d'un compte SIP dans les options de Linphone.
Résumé : Flatpak est un énième gestionnaire de logiciels qui, comme tous, promet monts et merveilles. Utiliser plusieurs gestionnaires (apt-get, flatpak, appimage, etc.), c'est devoir jongler entre eux pour installer et mettre à jour des logiciels. C'est chiant, comme télécharger le binaire Windows sur le site web de chaque éditeur… Sans compter la mise à jour de chaque logiciel lors d'une faille de sécurité dans une bibliothèque commune… Si Flatpak ne crée par un raccourci dans le menu des logiciels installés, il faut trouver l'identifiant du logiciel avec flatpak list
(ou flatpak list -v
si l'identifiant est tronqué) puis lancer le logiciel avec flatpak run <identifiant>
. On peut créer un raccourci dans le menu des logiciels en remplissant le champ « commande » avec ça.
Flatpak est un gestionnaire de logiciels pour GNU/Linux. Il vient avec ses propres dépôts de logiciels. Le but est d'embarquer tout un logiciel et ses dépendances dans un environnement cloisonné du reste du système.
La distribution du logiciel serait ainsi facilitée : plus besoin de créer un paquet pour chaque système de la famille GNU/Linux et plus besoin de se demander quelle version de telle dépendance est embarquée dans tel système, etc.
Les inconvénients ? Le premier est qu'on duplique les gestionnaires de logiciels, donc on complexifie l'installation et la mise à jour des logiciels d'un système : tel logiciel se met à jour avec flatpak update
, tel autre avec apt-get upgrade
, etc. Comment rien oublier ?! Le deuxième inconvénient est qu'il faut mettre à jour chaque logiciel à chaque fois qu'une faille de sécurité est trouvée dans une bibliothèque de fonctions commune à plusieurs logiciels (OpenSSL, par exemple).
Bref, pour moi Flatpak est une mauvaise idée.
J'ai été amené à utiliser Flatpak pour installer la dernière version de Linphone, un logiciel de téléphonie en logiciel libre.
Je constate que, même pas un mois après, Linphone utilise AppImage, un autre moyen de distribuer des logiciels… … … Vive la stabilité des choix !
La marche à suivre pour installer Linphone était donnée sur le site web officiel de Linphone :
sudo apt-get install flatpak
flatpak --user install --from https://linphone.org/flatpak/linphone.flatpakref
À la fin de l'installation, Flatpak dit créer une entrée dans le menu des applications. J'ai bien regardé : ce n'est pas le cas avec mon menu Mate. L'origine du problème doit être de mon côté, car cela fonctionne sur des Ubuntu.
Du coup, comment démarrer un logiciel Flatpak ? Évidemment, saisir son nom dans un terminal ne fonctionne plus…
Il faut utiliser la commande flatpak run <identifiant_unique_du_logiciel>
.
Comment récupère-t-on l'identifiant unique d'un logiciel Flatpak ? Colonne « Application » dans la sortie de la commande flatpak list
.
Et si cet identifiant n'est pas complet ? Exemple : ça affiche « …m.belledonnecommunications.linphone ». Il faut utiliser flatpak list -v
.
On récupère l'identifiant complet, « com.belledonnecommunications.linphone » que l'on peut utiliser : flatpak run com.belledonnecommunications.linphone
.
Youpi !
On peut créer un raccourci dans notre menu Mate (commande = flatpak run com … ).
Merci Flatpak, mais non merci !
Résumé : L'interface de Linphone, l'un des rares téléphones en logiciel libre encore maintenu devient agréable (et unifiée sur Windows/Android/GNU/Linux) à partir de la version 4.X. L'assistant de configuration de la version 3.12 empaquetée dans Debian GNU/Linux ne permet pas l'ajout d'un compte SIP existant. Il faut soit utiliser la version 4.X de Linphone distribuée sur le site web officiel de l'éditeur, soit ajouter le compte à la main depuis les préférences en copiant l'adresse du domaine dans le champ « Adresse du proxy SIP ».
VOIP = téléphonie sur Internet. Toute la téléphonie (box, mobile, téléphonie d'entreprise) passe par Internet à moment donné. J'ai écrit les trois premiers volets de la série il y a bientôt cinq ans : Tome 1 : Free Mobile, Tome 2 : des implémentations bancales et Tome 3 : Numericable. Depuis, je me suis tenu à l'écart de la VOIP… jusqu'à récemment. Et là, c'est le drame.
Linphone est l'un des téléphones en logiciel libre encore maintenu. Il faut être honnête, l'interface graphique s'est bonifiée avec le temps, notamment à partir des versions 4.X. Interface plus simple à prendre en main et unifiée pour winwin / GNU/Linux / Android.
La version 3.12 empaquetée dans Debian GNU/Linux Buster (dernière version stable à ce jour) comporte un bug qui prolongue celui déjà présent dans la version 3.6 de Linphone empaquetée dans Debian GNU/Linux Stretch : l'assistant de configuration est inutilisable pour ajouter un compte SIP existant à la configuration de Linphone. Si tu ne veux pas être embêté, utilise la version 4.X distribuée sur le site web officiel de Linphone.
J'ai une ligne téléphonique souscrite chez OVH. Forfait « VOIP découverte ».
Je démarre l'assistant de configuration de comptes de Linphone. Je coche que j'ai déjà un compte SIP. Nom d'utilisateur = « Login / User name » dans l'email d'OVH = numéro de téléphone. Mot de passe = celui que j'ai créé dans le manager d'OVH. Domaine = « Domain / Registrar » dans l'email d'OVH = « sip5.ovh.fr » dans mon cas. L'email d'OVH ne dit pas de configurer un proxy SIP, donc je ne le fais pas. Je clique sur le bouton « Appliquer ». Le message suivant s'affiche « Merci. Votre compte est maintenant configuré et prêt à être utilisé. ».
L'assistant Linphone n'a pas ajouté ma ligne téléphonique à sa configuration. Même si je remplis le champ proxy avec la même valeur que le domaine, Linphone n'ajoute pas ma ligne téléphonique.
Avec la version 3.6 de Linphone sous Debian GNU/Linux Stretch, on avait un problème similaire : le compte été ajouté, mais il n'était pas affiché dans la liste des comptes disponibles lorsqu'on le créeait depuis cet endroit. Il fallait fermer les paramètres de Linphone et les ré-ouvrir pour voir le compte apparaître dans la liste.
Revenons à la version 3.12. Il faut ajouter le compte à la main. Je vais dans le menu « Options » -> « Préférences » -> onglet « « Gérer mes comptes SIP » -> bouton « Ajouter ». « Votre identité SIP » = sip:<Login>@<Domain>
. On ne peut pas valider tant que l'on ne saisit pas un proxy (c'était déjà le cas avec Linphone 3.6). Allons-y : « Adresse du proxy SIP » : « sip:sip5.ovh.fr. Je peux enfin valider et mon compte est enfin ajouté.
J'ai pensé à une erreur dans la traduction (« registrar » traduit à tort en « proxy »), mais, en demandant l'utilisation de la langue anglaise dans « Préférences » -> « Interface utilisateur », on constate que ce n'est pas le cas.
Les versions 4.X de Linphone n'ont pas ce bug : l'assistant de configuration y est parfaitement fonctionnel. Quand j'ai écrit, en intro, que l'interface graphique s'est bonifiée, je ne plaisantais pas. :D
Résumé : L'interface de Linphone, l'un des rares téléphones en logiciel libre encore maintenu devient agréable (et unifiée sur Windows/Android/GNU/Linux) à partir de la version 4.X. La version Windows crashe parfois quand le codec Opus est utilisé, donc il faut le désactiver. Parfois, il est impossible de répondre à un appel car l'application ne réagit plus. Je déconseille la version provenant du Windows Store : si l'on réduit la fenêtre lors d'un appel, le son ne circule plus…
VOIP = téléphonie sur Internet. Toute la téléphonie (box, mobile, téléphonie d'entreprise) passe par Internet à moment donné. J'ai écrit les trois premiers volets de la série il y a bientôt cinq ans : Tome 1 : Free Mobile, Tome 2 : des implémentations bancales et Tome 3 : Numericable. Depuis, je me suis tenu à l'écart de la VOIP… jusqu'à récemment. Et là, c'est le drame.
Linphone est l'un des téléphones en logiciel libre encore maintenu. Il faut être honnête, l'interface graphique s'est bonifiée avec le temps, notamment à partir des versions 4.X. Interface plus simple à prendre en main et unifiée pour winwin / GNU/Linux / Android.
Sur Windows (winwin), il y a actuellement deux versions : celle disponibles sur le site web officiel de l'éditeur et celle disponible dans le winwin store.
La version winwin "standard" crashe parfois lorsque le codec audio libre Opus est utilisé… L'origine est souvent l'installation d'un pack de codecs (qui fait encore ça en 2020 au lieu d'utiliser VLC ?!). A priori, ce n'était pas le cas. Il faut donc désactiver, à regret (c'est un bon codec), Opus dans la rubrique audio des paramètres de Linphone.
Parfois, cette même version se met à devenir extrêmement lente genre la fenêtre de Linphone est ouverte, tu entends sonner, mais tu ne peux pas cliquer pour répondre. Soit parce que l'application est en mode « ne répond plus », soit parce qu'actionner le bouton répondre est vain.
J'ai gardé le meilleur pour la fin. Avec la version winwin store de Linphone, si, durant un appel, tu réduis la fenêtre afin qu'il reste uniquement l'icône de Linphone dans la zone de notification, alors pouf, le son ne circule plus. L'appel suit son cours, il n'est pas terminé, mais aucun interlocuteur entend l'autre. Linphone version winwin store peut être mis en arrière-plan (c'est-à-dire qu'il y a un autre logiciel au premier plan), mais pas être réduite dans la zone de notification. :D
Des confinés privés de joies
Pape et confinés : messes sans foules
Confinés sans avoir de perm
Plus de bises pour les confinés !
Manon a deux petites croix !
Que fait ce verrat dans ce champ ?
Ce vieux cru gate le goût du blanc !
Des parrains se butent, et ces brutes sont privés de Pâques
Vu des photos de péniches dans les vécés
Parés côté tennis, des taupins trichent sur des maths
Des fessés, ça fait mal à la nuque
Mes trouvailles :
Des confinés privés de joies (des cons figés privés de noix)
Pape et confinés : messes sans foules (paf et cons pinés, fesses sans moules - ‒ paf étant l'organe de monsieur)
Confinés sans avoir de /perm
Plus de bises pour les confinés ! (plus de baise pour les cons finis)
Manon a deux petites croix !
Que fait ce verrat dans ce champ ? (que fait ce Veran dans ce chat ‒ chat étant l'organe de madame)
Ce vieux cru gate le goût du blanc !
Des parrains se butent, et ces brutes sont privés de Pâques (des putains se barrent, et ces braques sont privés de putes)
Vu des photos de péniches dans les véc/és (vu des photos de pénis dans l'évêché)
Parés côté tennis, des taupins trichent sur des ma/ths (Tarés côté penis, des tapins trichent sur des mottes ‒ motte étant l'organe de madame)
Des fessés, ça fait mal à la nuque (déféquer, ça fait mal à l'anus)
Dans le Canard enchaîné du 15 avril 2020.