Planet Libre

Framablog : Demain, une science citoyenne dans une société pair à pair ?

De simples citoyens ont-ils un rôle à jouer dans les sciences, où ils sont pour l’instant contingentés au mieux à des fonctions subalternes ?

On voit d’ici se lever d’inquiets sourcils à l’énoncé du simple terme de science citoyenne, tant la communauté scientifique se vit comme distincte de l’ensemble du corps social par ses missions, ses méthodes et son éthique. Pourtant un certain nombre d’expériences, de projets et même de réalisations montrent que la recherche scientifique universitaire peut tirer un profit important de sa collaboration avec les citoyens motivés, lesquels en retour élèveront leur niveau de connaissances tout en ayant un droit de regard sur la recherche.

Réconcilier citoyens et universitaires scientifiques, longtemps une utopie, est rendu aujourd’hui possible par des objets technologiques désormais beaucoup plus accessibles à chacun.

Cela ne va pas sans perplexité et crainte de dégrader les principes fondamentaux de méthode et d’éthique qui guident le travail scientifique, mais des systèmes de contrôle existent : de même que du code open source peut être révisé par des spécialistes du code, la science citoyenne peut être évaluée par des scientifiques (qui d’ailleurs ont eux-mêmes l’habitude d’être évalués par des pairs).

D’autres conditions sont également nécessaires : le partage mutuel des connaissances nécessite le pair à pair, des licences permissives, un élèvement du niveau de connaissances de la population et bien entendu l’extension des biens communs scientifiques.

Telles sont les problématiques explorées de façon approfondie par Diana Wildschut dans le long article universitaire que l’équipe Framalang vous propose.

Alors, pouvons-nous imaginer comme l’auteure un futur où au sein d’une société de pair à pair l’échange collaboratif mutuel fasse de la science un bien commun ?

La nécessité d’une science citoyenne pour aller vers une société de pair à pair durable

Article original de Diana Wildschut sur ScienceDirect : The need for citizen science in the transition to a sustainable peer-to-peer-society

Traduction Framalang : Bam92, dodosan, goofy, jaaf, lumpid, lyn, mo, Opsylac, simon

L’essentiel de l’article

Notre monde est en transition vers une société de pair à pair caractérisée par une nouvelle façon de produire les choses, des logiciels à l’alimentation, en passant par les villes et la connaissance scientifique. Cela nécessite un nouveau rôle pour la science.

Plutôt que de se focaliser sur la production de connaissances pour les ONG, les gouvernements et les entreprises, les scientifiques devraient prendre conscience que les citoyens seront les décideurs dans une future société de pair à pair (p2p), produire des connaissances durables et accessibles, et travailler ensemble aux côtés des scientifiques citoyens.

Les citoyens ont démontré leur capacité à définir leurs propres sujets de recherche, à monter leurs propres projets, à s’éduquer et à gérer des projets complexes. Il est temps pour eux d’être pris au sérieux.

Il existe toujours un grand fossé entre les citoyens et les scientifiques universitaires quand il est question de partage des connaissances. Les données collectées par des citoyens ne sont presque jamais utilisées par les scientifiques universitaires, et les résultats de la recherche scientifique restent en grande part cachés derrière des barrières de péage.

Si nous voulons qu’une transition durable prenne place, nous devons faire tomber les barrières entre la science et le public. Les préoccupations des citoyens doivent être prises au sérieux et leurs connaissances utilisées et valorisées.

 

1. Introduction

Notre monde est en cours de transition vers une société de pair à pair (p2p), caractérisée par une nouvelle façon de produire tout, des logiciels à l’alimentation, en passant par les villes et la connaissance scientifique (Bauwens 2012). Dans une société de pair à pair, des réseaux d’individus, ou de pairs, prennent en charge les tâches qui étaient précédemment entre les mains des institutions. Cela nécessite un nouveau rôle pour la science. Plutôt que de se focaliser sur la production de connaissances pour les ONG, les gouvernements et les entreprises, les scientifiques devraient prendre conscience que les citoyens seront les nouveaux décideurs dans une future société de pair à pair, produire des connaissances durables et accessibles et travailler ensemble avec des scientifiques citoyens.

Dans cet essai, quand je parle de citoyens, je parle des non-professionnels qui s’engagent dans ce qui les touche directement, qui peut être une ville, une rue, l’environnement, le système démocratique, etc. Quand je parle de scientifiques citoyens je parle des gens qui pratiquent la science en dehors d’un environnement universitaire ou du contexte industriel, et qui ont reçu ou non une formation scientifique réelle. Ma définition d’un système néolibéral est un système avec un marché libre, un petit gouvernement dans un monde globalisé.

En regardant autour de nous, nous voyons de vieilles structures échouer. L’efficacité des ONG est mise en doute (Edwards & Hulme, 1996) et elles semblent essentiellement préoccupées par leur propre survie. Elles en sont restées aux méthodes des années 80 ; elles se déguisent en porcs ou en abeilles, ou portent des masques à gaz et se présentent comme un petit groupe guère impressionnant dans le quartier général d’entreprises ou de gouvernements. Leurs causes sont légitimes et les problèmes qu’elles mettent à l’ordre du jour sont urgents, mais leurs méthodes sont complètement inadaptées au monde dans lequel nous vivons. L’attention des gouvernements néolibéraux n’est plus focalisée sur le bien-être des citoyens, elle s’est depuis longtemps déplacée vers les intérêts des entreprises (Chomsky,1999 ; von Werlhof, 2008). Les intérêts à long terme, y compris ceux de la science, en pâtissent (Saltelli & Giampietro, 2017). Les entreprises n’ont pas l’obligation légale d’agir dans l’intérêt public, et n’ont pas tendance à le faire si cela s’oppose à leurs intérêts économiques à court terme (Banerjee, 2008 ; Chomsky, 1999).

L’avenir de la planète pourrait bien se retrouver entre les mains de petits groupes de citoyens ou d’individus qui bâtissent une nouvelle société à côté de l’existante en jetant les bases d’initiatives durables qui seraient interconnectées en réseaux de pair à pair. Dès à présent, la science procure des technologies qui donnent aux gens le pouvoir de faire leurs propres recherches, en utilisant leurs smartphones, leurs webcams et leurs ordinateurs portables (Bonney et al., 2014). Mais il y a toujours un large fossé entre les citoyens et les scientifiques universitaires quand on en arrive au partage des connaissances. Les connaissances collectées par les citoyens sont très peu utilisées par les scientifiques universitaires, et les résultats de la recherche scientifique sont le plus souvent cachés derrières des barrières de péage.

Si nous voulons qu’une transition durable prenne place, nous devons abaisser ces barrières entre la science et le public. Les préoccupations des citoyens doivent être prises au sérieux et leurs connaissances utilisées et jugées à leur juste valeur (Irwin, 1995).

Dans cet essai je soutiens que les citoyens sont prêts à produire une science valable, et à utiliser et comprendre la science produite par les scientifiques universitaires. Ils sont prêts à utiliser la science pour combler certains fossés existants que les gouvernements, les entreprises et les ONG laissent à l’abandon.

Faire sérieusement, sans se prendre au sérieux.

2. La science citoyenne

Au début de la révolution scientifique, quiconque ayant du temps libre pouvait regarder les étoiles, accumuler des données et faire des prévisions. On n’avait pas besoin d’équipements ou de compétences mathématiques. Les scientifiques étaient souvent des fermiers, artistes ou hommes d’État. Ce n’était pas des spécialistes mais plutôt des généralistes.

À partir de la seconde moitié du 19e siècle, la science est devenue une affaire de spécialistes, qui utilise des équipements de pointe ainsi que les mathématiques, et nécessite des années d’études universitaires. La science n’était plus quelque chose que n’importe qui pouvait pratiquer (Vermij, 2006).

Ces dernières décennies, les ordinateurs sont devenus bon marché et puissants. Internet permet à tous d’accéder à des données ainsi qu’à des formations. Le développement de microcontrôleurs programmables bon marché a permis à de nombreux profanes de créer leur propre électronique. La popularité de ces microcontrôleurs peut être attribuée principalement à Arduino, une carte microcontrôleur, open source, bon marché, avec un environnement de programmation en ligne.

Programmer de telles cartes est facile grâce à l’abondance d’exemples, tutoriels et codes fournis par la communauté. Les cartes peuvent être connectées à un circuit, en respectant des schémas disponibles en ligne. La communauté Arduino maintient une excellente documentation pour les débutants et les experts sur www.arduino.cc.

La possibilité de se procurer des capteurs peu coûteux est le prochain problème à résoudre. L’utilisation de capteurs combinée avec ATMegas (les microcontrôleurs utilisés sur les cartes Arduino) est très populaire. Les gens peuvent mesurer autour d’eux tout ce qui leur passe par la tête. Ils collectent toutes les données et cherchent à les comparer à celles d’autres personnes. Cela crée un besoin de plate-formes open data permettant de partager ces données en ligne. Des communautés se forment non seulement autour du matériel, mais aussi autour de sujets de recherche. Par exemple, spectralworkbench.org, où les personnes partagent leurs analyses spectrales de différentes sources lumineuses. Ils utilisent un spectromètre fait d’un morceau de carton et d’un morceau de CD connecté à une webcam. Ils déposent leurs spectres dans la base de données, qui contient des résultats venant à la fois de spectrographes professionnels et amateurs. Il s’agit d’un mélange de spectres utiles et d’images floues. La base de données est alimentée essentiellement par des passionnés curieux, et à mesure que sa taille augmente, elle devient une ressource précieuse pour déterminer des éléments chimiques. Dans la section « Apprendre » du site internet, on peut découvrir l’usage qui est fait des données. Des citoyens l’utilisent pour mesurer la contamination de la nourriture, la présence d’OGM (Critical Art Ensemble, 2003), la quantité d’azote dans des terres agricoles, le niveau de pollution de l’air, etc. Cela les amène à porter un regard critique sur les informations obtenues depuis des sources officielles, comme les gouvernements et les industriels.

Un spectrographe maison fait d’un morceau de carton et d’un morceau de CD

Une avancée récente est le Lab-on-a-Chip (Ndt : littéralement, laboratoire-sur-une-puce), un petit laboratoire qui peut être utilisé pour des analyses de fluides. Le Lab-on-a-Chip est bon marché et facile à utiliser. Le but est d’en faire un labo si facile à utiliser que n’importe qui puisse s’en servir sans connaissances préalables. Dans le domaine médical, il permet aux patients de faire leur propre diagnostic in vitro. Il permet aussi de raccourcir le temps nécessaire pour prendre une décision car le patient qui possède déjà le laboratoire à la maison n’a pas à attendre un rendez-vous (von Lode, 2005).

Un Lab-on-a-Chip est une petite plaque de verre sur laquelle sont gravés de minuscules canaux fluides. Elle est montée accolée à un capteur semi-conducteur, connecté à un microcontrôleur qui effectue les analyses ou envoie les données à un outil d’analyse.

Le boom récent des Fablabs et des ateliers ouverts pour la fabrication numérique, qui trouvent leur origine au MIT (Gershenfeld, 2012), a permis au citoyen scientifique de graver ses propres systèmes Lab-on-a-Chip, en lui donnant accès à des ciseaux lasers et des imprimantes 3D. En utilisant Arduino et du logiciel open source pour l’analyse, il peut maintenant effectuer lui-même des analyses de fluides chimiques complexes.

Ces nouvelles technologies sont désormais à la disposition de tous, pour autant qu’on ne soit pas effrayé par la technologie. De nouveaux outils voient le jour sous forme d’outils pour jeux vidéo et il faut un peu de temps avant que des gens les rendent accessibles à un public plus large en les dotant d’interfaces conviviales. Ce processus est déjà entamé et de nombreux outils deviennent utiles à ceux qui sont intéressés à les utiliser plutôt qu’à les faire fonctionner.

Ce ne sont pas seulement les données collectées par les citoyens, mais aussi leurs connaissances, leur intelligence, leur créativité et les réseaux sociaux, qui ont de la valeur pour les scientifiques universitaires. Dans beaucoup de projets de science citoyenne menés par des scientifiques universitaires, seul le temps du participant et la puissance de traitement de son ordinateur sont utilisés. Généralement, le participant n’est utilisé que pour la collecte des données et leur classement. L’intelligence du participant ou sa créativité sont rarement nécessaires et le projet n’offre que des opportunités très limitées pour une amélioration personnelle (Rotman et al., 2012). Parfois, une formation est disponible qui permet au participant d’apprendre à reconnaître des motifs, des espèces et des types de galaxies, mais il n’est presque jamais invité à participer à la conception de la recherche.

Les citoyens ont de précieuses connaissances souvent hors de portée des scientifiques universitaires (voir aussi Pereira et Saltelli). Ils disposent d’une connaissance locale que Warren (Warren, 1991) décrit comme

« une connaissance qui est particulière à une culture ou à une société donnée). […] C’est le fondement de la prise de décision à un niveau local en agriculture, pour les soins médicaux, la préparation alimentaire, l’éducation, la gestion des ressources naturelles, et une foultitude d’autres activités dans les communautés rurales. »

Mais bien sûr, il n’y a pas que dans les communautés rurales que la connaissance locale est importante. Les citoyens sont bien plus capables de participer qu’il ne leur est permis de le montrer (Fischer, 2000). De nombreux gouvernements locaux réalisent maintenant qu’ils ont besoin de l’apport de leurs citoyens pour gouverner leur cité à la satisfaction de ceux-ci. Commencer à travailler avec des citoyens critiques n’est pas une étape facile à franchir, mais dès que les citoyens sont impliqués dans la fourniture des connaissances qui permettront la prise de décision, ils sont plus enclins à accepter les conséquences et les mesures qui en résultent.
Dans la ville néerlandaise d’Amersfoot, le gouvernement local avait besoin de données sur les impacts du changement climatique à une échelle très locale, où seulement des données globales étaient disponibles. Après avoir assisté à une conférence sur la science citoyenne, il a décidé de ne pas confier le travail à un consultant, mais de trouver un groupe de citoyens intéressés par l’investigation sur les changements climatiques dans leur voisinage. Le groupe a été chargé de mettre en place la recherche, de décider quels indicateurs devaient être mesurés, qui faire participer et comment publier les résultats. Ils ont maintenant démarré leur projet dont les résultats sont visibles sur www.meetjestad.net (Meet je Stad, 2015).

Les scientifiques universitaires voient les avantages à coopérer avec les citoyens, non seulement pour la valeur qualitative de leurs connaissances locales, mais aussi pour leurs réseaux sociaux étendus. Les citoyens actifs savent ce qui se passe dans leur communauté et peuvent dire quels investisseurs devraient être impliqués. Aussi doivent-ils être impliqués au tout début d’un projet de recherche, sinon il sera trop tard pour tirer profit de cette partie de leurs connaissances. Il y a vingt ans, Alan Irwin (Irwin, 1995) prônait la réunion des mondes de la science universitaire et de la science citoyenne. Aujourd’hui le besoin et les possibilités se sont accrus. Les scientifiques citoyens disposent de plus d’outils pour créer de la connaissance, l’infrastructure existe pour la partager et nous avons quelques gros problèmes à résoudre pour lesquels nous avons besoin de toute l’aide disponible.
Et Cash et al. (2003) de conclure que « […] les efforts pour mobiliser la science et la technologie pour la durabilité ont plus de chances d’être efficaces si on gère les frontières entre la connaissance et l’action d’une façon qui améliore à la fois l’importance, la crédibilité et la légitimité de l’information produite. » De nombreux citoyens sont prêts à l’action ou déjà actifs. Ils ont besoin de connaissances scientifiques.

Pour libérer le savoir, mieux vaut ouvrir les portes…
Stockholm Public Library CC-BY Samantha Marx

3. Accès libre

Pour cet essai, j’avais prévu de n’utiliser que des références à des articles disponibles en accès libre, juste pour le principe. Le fait que cela se soit avéré impossible est en soi encore plus parlant que je ne l’aurais voulu. Pour être en mesure de rédiger un essai comme celui-ci, un scientifique citoyen serait obligé de contacter par e-mail des amis travaillant dans des universités, d’utiliser le hashtag Twitter #icanhazpdf (lepdfsivouplé) et d’écrire des mails à des auteurs, en espérant recevoir leurs articles en retour.

Certains des articles en accès restreint, comme celui-ci, parlent de la science citoyenne, dont certains pourraient directement intéresser les citoyens. Mais les citoyens qui luttent pour construire leurs propres projets scientifiques sans budget ont peu de chances de pouvoir investir 41,95 $ dans un article dont ils ne sont même pas certains qu’il leur sera utile. Dans la plupart des cas, la science qui traite de science citoyenne n’atteindra pas des citoyens pratiquant les sciences, ni des citoyens ayant besoin d’un apport scientifique.

Dans la société de pair à pair, il est tacitement convenu que quiconque utilise les services d’une autre personne, restitue quelque chose à la communauté dont il se nourrit. Aussi, faire de la recherche en se basant sur de la science citoyenne et ne pas en partager les résultats serait une violation de ces règles tacites.

Les droits d’auteur et les brevets empêchent la mise à disposition et le développement de la connaissance. On pense souvent que les droits d’auteur sont le seul moyen de protéger les auteurs, mais il existe d’autres moyens de protéger les droits des auteurs et des développeurs de produits logiciels open source. Certaines institutions développent leurs propres licences pour les logiciels open source (MIT Public License, 1988) ou pour le matériel open source (CERN Open Hardware License, 2011). Elles utilisent leurs connaissances des droits d’auteur et de la propriété intellectuelle pour aider les gens qui veulent ajouter leurs données, idées, conceptions et produits au domaine public. Une fois là, cela pourra être utilisé comme base par n’importe qui (selon la licence), mais ne pourra jamais être réclamé, breveté ou sorti du domaine public. Chacune des licences propose ses propres solutions, laissant au développeur le choix de qui peut utiliser son produit et dans quelles conditions. Certaines licences permettent une utilisation commerciale du produit, d’autres non. Certaines demandent l’attribution à l’auteur original. D’autres demandent que les sous-produits soient publiés sous la même licence que l’original.

Concevoir ces licences et les rendre disponibles est une manière très appréciée pour les institutions de restituer quelque chose aux biens communs.

…car, comme on dit en langage Wikipédia « Citation Needed ».

4. Éducation

L’existence de citoyens instruits est une condition nécessaire pour avoir une démocratie qui fonctionne (Hils Hauge et Barwell), et ça l’est tout autant dans une société de pair à pair. Néanmoins, aux Pays-Bas par exemple [ndt : l’auteure est néerlandaise], les études universitaires ne sont pas facilement accessibles à tous les citoyens qui pourraient y prétendre. Les gens qui ont déjà un diplôme payent des frais d’inscription très élevés. Étudier à temps partiel est déconseillé et dans la majorité des disciplines ce n’est même pas possible. Cela entre en conflit avec l’idéal « d’éducation tout au long de la vie » qui est diffusé par les institutions éducatives, et cela ne permet pas d’avoir des citoyens ouverts à tout et bien informés. Cependant, nous comptons sur eux pour faire des choix éclairés au moment de voter (Westheimer et Kahne, 2000). Pour les gouvernements, la mode est de vouloir des citoyens impliqués, mais très peu d’efforts sont faits pour leur donner les outils et informations nécessaires.

Mais maintenant, une part croissante des citoyens est en train de trouver le chemin vers des études plus accessibles et moins structurées. De nouvelles méthodes de partage des connaissances sont inventées, le plus souvent en utilisant Internet. Les cours magistraux de certaines universités sont disponibles en streaming. Cela peut aider pour compléter une formation, mais sans exercices cela reste incomplet. Khan Academy.org est un site web où vous pouvez vous former vous-mêmes dans n’importe quelle matière du lycée à l’université. Il utilise un algorithme intelligent qui permet aux étudiants de garder la trace de leur progrès. Néanmoins la Khan Academy fonctionne essentiellement du sommet vers la base, une personne donne un cours et un étudiant consomme cette connaissance. OpenTOKO (http://web.archive.org/web/20140927205928/http://www.opentoko.org/) a une approche différente.
Un thème est proposé en ligne, des experts et des novices s’y inscrivent, créant un groupe de connaissances partagées qui se réunit pour un après-midi. La dynamique est très variable, parfois un TOKO est planifié largement à l’avance, parfois dans un délai très court. Les thèmes peuvent être populaires ou ésotériques ; on peut être très nombreux ou seulement deux ou trois. Souvent, il s’avère que les experts apprennent des compétences, des connaissances ou des questions des débutants. Les experts acquièrent une meilleure compréhension du thème, et cela donne au débutant un bon départ sur le sujet. OpenTOKO doit encore être amélioré. Un système de référencement automatique doit être créé, permettant à chacun de suggérer un thème, de s’inscrire comme expert ou novice, de proposer un lieu ou une date. Quand toutes les conditions sont réunies, un OpenTOKO est automatiquement créé.
L’inscription est gratuite, tout le monde en profite en améliorant ses connaissances. Les thèmes abordés sont divers : langage de programmation, électronique, mathématiques et statistiques mais aussi comment tricoter des chaussettes ou faire pousser des légumes, tout dépend de ce que souhaitent les participants. Les scientifiques qui souhaitent faire participer des citoyens à leurs cours, n’ont pas besoin de simplifier leurs résultats ou leur langage. Les citoyens peuvent apprendre eux-mêmes et devenir familiers de la terminologie utilisée dans les différents domaines scientifiques.

Wikipédia peut être utilisée comme point de départ de collecte d’informations sur pratiquement tous les sujets. À partir de là, il est facile de trouver des publications scientifiques, mais à nouveau les citoyens se heurtent souvent à des ressources payantes.

Cliquez sur l’image pour voir la vidéo sur la chaîne YouTube de Datagueule.

5. Vers une société de pair à pair

On constate, au cours de la dernière décennie, une tendance au partage sur un mode de p2p : d’un individu vers les autres. En 1999, un adolescent a créé le logiciel Napster, qui permettait à tout le monde de partager des fichiers numériques (Carlsson et Gustavsson, 2001). Napster utilisait un serveur central. À cause de cela, l’industrie du disque, via des poursuites judiciaires, a pu fermer Napster. Les outils d’échange de musique de la génération suivante sont les réseaux P2P, dans lesquels les utilisateurs échangent directement leurs fichiers avec d’autres personnes. Ces réseaux ne sont pas hiérarchisés et sont difficiles à fermer. Brafman et Beckstrom (2006) compare ces organisations sans leader à des étoiles de mer, et les organisations hiérarchiques à des araignées ; si vous coupez la tête d’une araignée, elle meurt. L’étoile de mer, elle, n’a pas de tête. Coupez un bras et un nouveau bras se formera. Coupez l’étoile de mer en deux et vous obtiendrez deux étoiles de mer. Les réseaux P2P semblent indestructibles aussi longtemps qu’ils ont la volonté d’exister.

Bauwens et Lievens (2013) voient la transition vers une société de pair à pair comme l’inévitable prochaine étape du développement humain. Leur présentation de l’histoire de la société occidentale commence à l’époque romaine. À cette époque, 80 % des gens étaient des esclaves. La société romaine dépendait entièrement de ces esclaves, et en avait un besoin toujours plus important. Pour continuer d’augmenter le nombre d’esclaves, ils devaient continuer d’étendre leur empire. Finalement, cela devint plus cher que des solutions alternatives comme le métayage. Ils commencèrent donc à affranchir des esclaves, leur laissant cultiver la terre en échange d’un partage des récoltes. Cette pratique a évolué vers le système féodal qui a perduré plusieurs siècles.

L’industrialisation, au 19e siècle, a déplacé les travailleurs vers les villes, ces derniers achetant alors leur nourriture au lieu de la faire pousser. Les travailleurs ont reçu un salaire, le moment du capitalisme était venu. Dans le même temps, les gens prirent une place précise dans de grandes structures hiérarchisées.

Maintenant, l’automatisation a réduit la quantité de travail humain nécessaire à la production des besoins indispensables à nos sociétés. Et le spécialiste d’économie politique Skidelsky(2012) de conclure : « La vérité est que nous ne pouvons pas continuer à automatiser efficacement nos productions sans remettre en cause nos attitudes envers la consommation, le travail, les loisirs et la distribution des revenus. » Dans les sociétés occidentales, seule une petite part de notre travail sert à fournir les besoins fondamentaux de la société. La majorité des gens a un travail qui n’est pas vraiment indispensable (Graeber, 2013). La plupart d’entre eux en ont conscience, ce qui a souvent un impact négatif sur leur santé morale et physique.
On constate aussi une augmentation du nombre de personnes sans emploi pour qui l’ancien système est un échec. Ils ont été virés par leur ancien employeur, souvent après des décennies de travail dévoué et de loyauté. Une grande partie des gens virés sont devenus trop chers à cause de leur ancienneté. Les employeurs ont tendance à choisir des employés moins chers, plutôt que plus expérimentés. Ici, l’argent prime sur la qualité ou l’humanité.

Certains chômeurs choisissent désormais de faire les choses différemment, et se mettent à chercher un nouveau système plus respectueux des personnes et valorisant la qualité. Comme les esclaves affranchis, ils sont un nombre croissant dans nos sociétés à avoir l’énergie nécessaire pour commencer à travailler dans un nouveau système. Bauwens et Lievens appelle ce système « l’économie P2P », celle-ci est basée sur les échanges entre individus.

La combinaison d’un savoir disponible et d’une insatisfaction croissante face à la manière dont les gouvernements traitent les questions écologiques encourage les personnes à s’impliquer dans des expériences à l’échelle locale pour produire de l’énergie et de la nourriture, pour recycler les déchets et pour plus de démocratie et d’innovation sociale. Certaines de ces expériences échouent, mais d’autres sont des succès et rendent stables des alternatives locales et modestes qui peuvent inspirer les autres. Tout ne peut pas se faire facilement au niveau local. Il vaut mieux que la médecine spécialisée soit exercée dans un hôpital dédié. Les experts sont les plus à même de traiter les questions de droit, bien que le système des jurys populaires soit un peu plus P2P que les systèmes judiciaires avec uniquement des juges, et qu’il soit considéré comme juste dans de nombreux pays. Les processus de production que l’on dit plus efficaces à grande échelle, ne le sont peut-être pas tant que ça si tous les coûts réels relatifs au transport, aux infrastructures, aux ressources naturelles et aux déchets sont inclus dans le calcul. Souvent, ces « externalités » comme on les appelle, ne sont pas financées par les multinationales (Mansfield, 2011 ; Scherhorn, 2005).

Le pair à pair, vous savez, le truc d’avant les plateformes, qui marchait mieux et générait moins de dangers… ?

6. Quand les systèmes se percutent

La société de pair à pair peut cohabiter avec la société capitaliste dans de nombreux cas, tout comme les scientifiques citoyens cohabitent avec les scientifiques universitaires. Il peut y avoir des conflits de nature financière, comme dans le cas des maisons de disques avec les réseaux p2p pour la distribution de musique, où les deux cotés essayent de maximiser leurs profits. Les situations les plus intéressantes, cependant, sont celles où les deux points de vue sont valables, mais incompatibles.

La société de pair à pair est basée sur la confiance acquise lors de travaux préalables. Si vous contribuez à la communauté, vous obtenez en retour du respect et de la confiance. Cependant, dans la société capitaliste, la confiance se base sur les diplômes. Si vous voulez un travail en tant qu’ingénieur informaticien, il vous faut avoir des diplômes et des qualifications pour prouver que vous pouvez écrire du code. Dans la société de pair à pair, vous prouvez que vous pouvez écrire du code en écrivant du code. Le code est open source afin que les utilisateurs puissent vérifier s’il fonctionne et que les experts puissent vérifier qu’il est bien écrit et ne contient pas de virus. Quand les deux mondes se rencontrent, ils sont souvent sceptiques sur l’approche de l’autre.
Certaines personnes voient les forces et faiblesses de chaque système, et un ingénieur informaticien peut avoir un emploi sans diplôme, s’il rencontre le bon responsable des ressources humaines. Le lien entre les deux mondes vient de ceux qui reconnaissent les possibilités de coopérer et ont un statut qui leur permet de s’écarter des règles en usage. Dans tous les cas, la manière pair à pair d’assurer la qualité ou la fiabilité d’un pair demandera plus d’efforts que pour un scientifique universitaire par exemple. Il faudra faire des recherches sur la personne, soit à travers un contact personnel, soit en regardant à sa réputation auprès de ses pairs et son travail. Pour des nouveaux venus, il s’agit de deux situations complètement différentes.

Mais que peut-on dire des autres différences entre les scientifiques citoyens et les scientifiques universitaires ? Pour faire de la vraie science, il faut travailler selon un certain nombre de règles, mais les citoyens peuvent n’en faire qu’à leur tête. Comment se positionnent-ils vis-à-vis de l’éthique ou de la qualité ? C’est ce qui inquiète de nombreux scientifiques universitaires. Les motivations des citoyens et la qualité de leur travail sont suspectes (Show, 2015). Même les projets montés et gérés par des scientifiques universitaires qui utilisent des données collectées par des volontaires ont du mal à se faire publier (Bonney et al, 2014).

Il est vrai que la science citoyenne n’a pas nécessairement un ensemble fixe de règles sur l’éthique ou les méthodes. Bien qu’il y ait quantité d’exemples de réseaux qui partagent une charte éthique ou une liste de méthodes [29], comme certains diy-biolabs (ndt : littéralement labo-bio à faire soi-même) (Diybio,2016) et makerspaces (espaces collaboratifs) (Fablab.nl), beaucoup n’y ont jamais pensé, n’en ont jamais discuté, ou même, ne s’y sont simplement pas intéressés. Mais tout comme n’importe quel programmeur peut vérifier du code informatique ouvert, n’importe quel scientifique universitaire peut vérifier si un projet de science citoyenne est bien fait, à l’aune des normes universitaires. Pour moi, cela ne veut pas dire que les normes universitaires doivent être celles qu’il faut utiliser pour évaluer la science citoyenne, mais qu’il est possible de le faire. Dans certains cas, les normes universitaires sont moins strictes que celle utilisées dans la science citoyenne.

Par exemple, dans la science conventionnelle, il n’est pas courant d’ouvrir l’ensemble des données, alors que c’est le cas dans la science citoyenne. De ce point de vue, la science citoyenne et plus reproductible et la fraude est plus facile à détecter. Les expériences des scientifiques citoyens sont souvent répétées et améliorées. Les scientifiques citoyens ne sont pas soumis à la pression de la publication (Saltelli et Giampetro, traitent du déchirement entre publier ou périr comme d’un ingrédient clé de la crise de la recherche scientifique), ils publient quand ils pensent avoir trouvé quelque chose d’intéressant. Le travail est ouvert au regard des pairs de la première tentative aux conclusions finales.

Un exemple de base de données ouverte, libre et collaborative qu’on aime beaucoup ;)

Les scientifiques citoyens publient plus facilement des résultats négatifs. Ils ne sont pas gênés par leurs erreurs. Les publications de résultats positifs contiennent aussi un chapitre sur les tentatives précédentes qui ont échoué, et un retour sur la cause de l’échec. Ces résultats négatifs sont, à mon avis, aussi valables que des résultats positifs, bien que dans la recherche scientifique conventionnelle il existe une forte propension à ne publier que des résultats positifs, ce qui rend la recherche scientifique universitaire incomplète (Dwan et al., 2008).

Les scientifiques citoyens sont souvent suspectés d’avoir des partis pris, des motivations ou des ordres du jour cachés. Nous savons désormais que les professionnels de la science ont aussi des partis pris. Les scientifiques citoyens sont même moins susceptibles d’avoir certains partis pris, comme ceux relatifs au prestige ou au financement, et ce goût pour les résultats positifs. Mais le fait que les scientifiques universitaires ne soient pas forcément meilleurs que n’importe quel scientifique citoyen ne signifie pas que nous devons ignorer les problèmes potentiels liés à la qualité des scientifiques citoyens. Afin de permettre plus de coopération entre les scientifiques citoyens et universitaires, nous devons insister sur la totale transparence concernant les conflits d’intérêt, tant pour les scientifiques universitaires que citoyens. Dans la recherche scientifique universitaire, il existe une saine discussion sur la qualité, les partis pris et les conflits d’intérêt. Dans la science citoyenne le sujet est difficilement évoqué, ce qui est une honte puisque certains partis pris sont moins susceptibles d’exister quand leur propriétaire en a conscience.

La qualité est souvent décrite comme être « adapté à la fonction ». Parfois, nous pouvons avoir besoin de données précises issues de capteurs onéreux. Dans de tels cas, la recherche universitaire pourrait aboutir à une meilleure qualité. Mais dans d’autre cas, nous pouvons avoir besoin d’une haute définition et ici de vastes groupes de citoyens sont plus à même de fournir de la haute qualité. La connaissance n’est adaptée au besoin que si elle est ouverte à ceux qui en ont besoin. Il est par conséquent important que les connaissances relatives au changement climatique et aux autres problèmes mondiaux soient totalement ouvertes.

Je pense qu’il serait bon que les scientifiques universitaires et citoyens aient un débat sur les raisons pour lesquelles des résultats de qualité sont utiles aux autres citoyens, aux décideurs politiques locaux et aux scientifiques universitaires suivant la fonction retenue. Si nous voulons partager les données entre les scientifiques citoyens et universitaires, ou entre les scientifiques citoyens et les décideurs, quelles sont les barrières et comment peut-on les dépasser ? Devons-nous trouver un ensemble de critères définissant la qualité (y compris l’accessibilité) qui soit satisfaisant pour les chercheurs scientifiques et gérable par les citoyens ?

7. Les biens communs

La plupart des enjeux soulevés dans les paragraphes précédents nous amènent à la notion de biens communs. Les biens communs incluent tout ce qui appartient à tout le monde, par exemple l’atmosphère, l’écosystème planétaire, la culture et les connaissances humaines.

La majeure partie de la richesse mondiale privée existe parce que les biens ou les services qui appartiennent aux biens communs peuvent souvent être accaparés sans payer, et qu’il n’y a pas d’obligation de restituer quelque chose aux biens communs.

Cela concerne les entreprises qui polluent ou s’approprient des ressources, les sociétés de divertissement commerciales qui prennent des contes traditionnels dans le domaine public pour les placer sous droits d’auteur, les entreprises qui brevètent des gènes qui sont en grande partie naturels, ainsi que les recherches scientifiques qui utilisent des contributions en provenance des biens communs, sans jamais restituer leurs résultats aux biens communs (Barnes, 2006).

Le changement climatique, la pollution et l’épuisement des ressources sont le problème de tout le monde. Ces problèmes font autant partie des biens communs que les solutions. Leur résolution n’a pas à dépendre d’une initiative privée. En partageant le savoir entre scientifiques universitaires et citoyens, nous pouvons travailler ensemble sur ces questions.

Les enclosures, c’est bon pour les poules dans Minetest… pas pour les enjeux mondiaux.

8. Débat et conclusion

Les scientifiques citoyens ne sont pas des anges envoyés de l’au-delà pour sauver la science. Ils ne sont pas là non plus pour détruire les institutions universitaires et prendre le pouvoir. Ils ont leurs propres programmes, imperfections et partis pris, comme les scientifiques universitaires. Une meilleure prise de conscience de ces partis pris peut améliorer la qualité de leur travail. Chaque débat sur la qualité doit être respectueux et ouvert, et tenir compte des limites de la science citoyenne et de ses pratiquants. Nous savons que les citoyens ne prennent pas toujours la bonne décision quand ils votent, ne votent pas ou achètent quelque chose. Donc pourquoi devrait-on compter sur eux pour résoudre les problèmes de la société ? On ne doit rien attendre de personne, mais nous devons impliquer toute l’aide disponible, et si les gens sont intrinsèquement motivés, nous ne devons pas les marginaliser

Bien que les groupes qui utilisent la science citoyenne pour résoudre les problèmes, dont à leur avis les institutions ne s’occupent pas, soient encore petits, l’intérêt qu’ils reçoivent des autres et la disponibilité des outils et des infrastructures faciles à utiliser peuvent conduire à des groupes plus nombreux et plus grands, et à un réseau plus fort d’individus. Ce que nous voyons actuellement est une tendance à l’indépendance des personnes qui pensent et qui font. Ils développeront peut-être un jour leurs propres institutions, mais risquent aussi de rester des groupes faiblement liés d’individus isolés.

C’est la même chose en ce qui concerne la transition vers une société de pair à pair. La transition est en cours. Elle n’a pas besoin d’une révolution mais elle croît à côté du système actuel. Elle accélère là où le système actuel échoue. Elle a besoin de cet élan, et si le système actuel résout soudain les problèmes, ou si le système P2P n’y arrive pas, cette tendance pourrait s’arrêter. Pour le moment, ça grandit.

Les citoyens ont envie de contribuer à trouver des solutions aux problèmes que le système néo-libéral échoue à résoudre, comme les problèmes d’environnement, de représentation démocratique (publiclab.org). Les citoyens partagent de plus en plus pour la prise de décision à mesure que notre société évolue vers un modèle P2P (Public Laboratory, 2016).

Les citoyens ont prouvé qu’ils étaient capables de formuler leurs propres thèmes de recherche, de monter leurs propres projets, de se former et de gérer des projets complexes. Il est temps de les prendre au sérieux.

Les scientifiques contribuent déjà à l’émancipation des citoyens en développant par exemple de nouvelles technologies et licences, mais celles-ci découlent de la connaissance scientifique. Il est aussi nécessaire de partager la connaissance elle-même. Si les scientifiques veulent que leurs résultats soient utiles, ils doivent les rendre accessibles aux citoyens.

Les connaissances créées par les citoyens peuvent être très utiles aux chercheurs universitaires. Néanmoins, l’initiative de donner quelque chose en retour à la communauté doit être prise par les chercheurs universitaires qui s’engagent dans des projets de science citoyenne.

Nous ne sommes pas loin de nous débarrasser de tout ce qui entrave la voie de la production collaborative de connaissances utiles. Il faudra des ajustements de part et d’autre pour rassembler la science citoyenne et la science universitaire, mais nous pouvons joindre nos efforts afin de rendre possible cette transition durable.

Comment ? En collaborant, on te dit, mon chaton !

Bibliographie

Banerjee, S. B. (2008). « Corporate Social Responsibility : The Good, the Bad and the Ugly ». Critical Sociology, 34(1), 51‑79. Accessible en ligne.

Barnes, P. (2006). « Capitalism 3.0 : A Guide to Reclaiming the Commons ». San Francisco : Berrett-Koehler Publishers.

Bauwens, M. (2012). « Blueprint for P2P Society : The Partner State & Ethical Economy ». Consulté 30 mars 2017, à l’adresse http://www.shareable.net/blog/blueprint-for-p2p-society-the-partner-state-ethical-economy

Bauwens, M., & Lievens, J. (2016). « De wereld redden : met peer-to-peer naar een postkapitalistische samenleving ». Antwerpen : VBK – Houtekiet.

Bonney, R., et al. (2014). « Next Steps for Citizen Science ». Science, 343(6178), 1436‑1437. accessible en ligne.

Brafman, O., & Beckstrom, R. A. (2006). « The Starfish and the Spider : The Unstoppable Power of Leaderless Organizations ». Penguin.

Carlsson, B., & Gustavsson, R. (2001). « The Rise and Fall of Napster – An Evolutionary Approach ». Dans Active Media Technology (p. 347‑354). Springer, Berlin, Heidelberg. accessible en ligne

Cash, et al. (2003). « Knowledge systems for sustainable development ». Proceedings of the National Academy of Sciences, 100(14), 8086–8091.

CERN. (2011). « CERN releases new version of open hardware licence » | CERN. Consulté le 16 aout 2015, à l’adresse http://home.cern/about/updates/2013/09/cern-releases-new-version-open-hardware-licence

Chomsky, N. (1999). « Profit Over People : Neoliberalism and Global Order ». Seven Stories Press.

Diybio.org (2013). « Code of Ethics for diybio labs in Europe ». Consulté le 31 aout 2016 à l’adresse https://diybio.org/codes/draft-diybio-code-of-ethics-from-european-congress/

Dwan, K., et al. (2008). « Systematic Review of the Empirical Evidence of Study Publication Bias and Outcome Reporting Bias ». PLoS ONE, 3(8), e3081. accessible en ligne

Edwards, M., & Hulme, D. (1995). « Non-governmental Organisations : Performance and Accountability Beyond the Magic Bullet ». Earthscan publications LTD

Fablab. (2016). « Rules for use of Fablabs in Belgium, Luxembourg and the Netherlands ». Consulté le 31 aout 2016, à l’adresse http://fablab.nl/wat-is-een-fablab/fabcharter/

Fischer, F. (2000). « Citizens, Experts, and the Environment : The Politics of Local Knowledge ». Duke University Press.

Gershenfeld, N. (2012). « How to Make Almost Anything : The Digital Fabrication Revolution ». Foreign Affairs, 91, 43.

Graeber, D. (2013). « On the Phenomenon of Bullshit Jobs », Strike ! Magazine, Summer, pp.201310-20133411.

Hauge, K. H., & Barwell, R. (2017). « Post-normal science and mathematics education in uncertain times : Educating future citizens for extended peer communities ». Futures. accessible en ligne

Irwin, A. (1995). « Citizen Science : A Study of People, Expertise and Sustainable Development ». Psychology Press.

Mansfield, B. (2011). « « Modern » industrial fisheries and the crisis of overfishing ». Global political ecology, 84-99.

Meet je Stad. (2015). « Guidelines for data collection by the flora observation group of Meet je Stad ». Consulté le 31 aout 2016, à l’adresse http://meetjestad.net/flora/?info

MIT. (1988). « GNU Public License ». Consulté le 9 avril 2014, à l’adresse http://web.mit.edu/drela/Public/web/gpl.txt

Pereira, Â., & Saltelli, A. (2017). « Post-normal institutional identities : Quality assurance, reflexivity and ethos of care ». Futures. accessible en ligne

Public Laboratory (2016). « Public Lab : a DIY environmental science community ». Consulté le 18 octobre 2016, à l’adresse https://publiclab.org/

Rotman, D. et al. (2012). « Dynamic Changes in Motivation in Collaborative Citizen-science Projects ». Dans Proceedings of the ACM 2012 Conference on Computer Supported Cooperative Work (p. 217–226). New York, NY, USA : ACM. accessible en ligne.

Saltelli, A., & Giampietro, M. (2017). « What is wrong with evidence based policy, and how can it be improved ? » Futures. Consulté à l’adresse http://www.sciencedirect.com/science/article/pii/S0016328717300472.

Scherhorn, G. (2005). « Sustainability, Consumer Sovereignty, and the Concept of the Market ». Dans K. G. Grunert & J. Thøgersen (Éd.), Consumers, Policy and the Environment A Tribute to Folke Ölander (p. 301‑310). Springer US. accessible en ligne

Show (2015). « Rise of the citizen scientist ». Nature, 524(7565), 265‑265. accessible en ligne

Skidelsky (2012). « Return to capitalism « red in tooth and claw » spells economic madness ». The Guardian. Consulté le 05 avril 2014, à l’adresse https://www.theguardian.com/business/economics-blog/2012/jun/21/capitalism-red-tooth-claw-keynes?commentpage=2%26fb=native#post-area

Vermij, R. H. (2006). « Kleine geschiedenis van de wetenschap ». Uitgeverij Nieuwezijds.

Von Lode, P. (2005). « Point-of-care immunotesting : Approaching the analytical performance of central laboratory methods ». Clinical Biochemistry, 38(7), 591‑606. accessible en ligne.

Werlhof, C. von. (2008). « The Globalization of Neoliberalism, its Consequences, and Some of its Basic Alternatives ». Capitalism Nature Socialism, 19(3), 94‑117. accessible en ligne

Westheimer, J., & Kahne, J. (1998). « Education for action : Preparing youth for participatory democracy ». Press and Teachers College Press.

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

Articles similaires

Benoît Boudaud : Python : Mon application destinée aux jardiniers

Edit du 3 Avril 2017

Je viens de mettre la totalité du code source sur Framagit : 

https://framagit.org/Ordinosor/mon-jardin/tree/master

Le fichier qui exécute le programme se nomme jardin.py

Bonjour,

Cela fait un an et demi que j’ai commencé à coder divers programmes en Python et du coup, je me suis dit que ce serait peut-être une bonne idée de tous les rassembler dans une même application destinée aux jardiniers amateurs désireux de gérer leurs semis, plantations et récoltes.

Rien de bien révolutionnaire dans ce programme mais cela me permet de mettre en pratique mon apprentissage amateur du Python et de découvrir les différentes subtilités de ce langage puissant et agréable.

Par conséquent, je me permets de poster une vidéo dans laquelle je vous présente ladite application. Je vous demande un peu d’indulgence compte tenu du fait que je ne suis pas un développeur professionnel. La programmation est pour moi un passe-temps qui s’est transformée en véritable passion mais je reste fondamentalement un amateur. Je sais que mes codes sont perfectibles mais je n’hésite pas à remettre l’ouvrage sur le métier lorsque cela s’avère nécessaire (risque de bugs, code trop lourd etc…).

J’utilise beaucoup les try-excet-else afin de prévenir tout crash. Je reste ouvert à toute critique constructive ou a toute suggestion d’amélioration. Voici donc mon application intitulée sobrement (et provisoirement) Mon Jardin. Toute aide est la bienvenue! (J’aimerais bien améliorer l’application avec d’autres personnes).

Voici les différents codes source qu’il faut que je reprenne patiemment. Certains datent de l’année dernière. D’autres sont plus récents.

  • Page d’accueil et page d’accès aux applications : jardin.py
  • Application Légumes : legume.py
  • Application Calendrier : calendrier.py
  • Application Agenda :  agenda.py
  • Application notes de type « post-it » : module_notes.py
  • Application Photothèque : phototheque.py
  • Application fruits : en cours de finalisation (mais elle est de toute façon identique à la page légumes sauf que toutes les variables qui portent le nom de légumes sont remplacées par le nom fruits.).

Je souhaiterais exporter ce programme sur d’autres ordinateurs mais je ne sais pas trop comment m’y prendre. J’ai bien tenté d’essayer avec cx freeze mais le résultat n’ pas été concluant. Si quelqu’un a une idée, je suis preneur. Merci d’avance.


Gravatar de Benoît Boudaud
Original post of Benoît Boudaud.Votez pour ce billet sur Planet Libre.

Articles similaires

nIQnutn : Faire fonctionner un casque bluetooth sous Debian

J'ai récupéré un casque Sony MDR-ZX750BN pour écouter de la musique lors de mes déplacements. Je commence par connecter mon casque à mon smartphone, ça marche tout de suite (heureusement puisque c'est son utilité principale). Je tente la même opération sur mon ordinateur portable: évidemment, ça ne marche pas.

Encore obligé de faire des recherches pour faire fonctionner un simple casque audio.

J'ai eu quelques difficultés pour trouver une solution ne sachant pas quoi rechercher. Je suis finalement tombé sur une documentation complète du wiki Debian.
Un petit résumé de la procédure pour faire fonctionner le casque.

Installation

On installe tous les paquets nécessaires.


#root apt-get install pulseaudio pulseaudio-module-bluetooth pavucontrol bluez-firmware

on redémarre les services bluetooth et pulseaudio:


#root service bluetooth restart; killall pulseaudio; Appairage

Pour appairer le casque avec mon ordinateur, on va utiliser l'utilitaire blueman:


#root apt-get install blueman

Un paquet est plus récent dans jessie-backports.

On vérifie que le bluetooth est activé et on lance l'utilitaire.

Configuration

On définit la sortie audio pour utiliser le casque.

On lance pavucontrol: définir le casque comme sortie dans pavucontrol

Dans les paramètres de blueman, on peut modifier le profil audio (si nécessaire): High Fidelity Playback (A2DP Sink)

Ressources 2016 nIQnutn CC-BY

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

®om : Gnirehtet

Durant ces dernières semaines chez Genymobile, j’ai développé un outil de reverse tethering pour Android, permettant aux téléphones (et aux tablettes) d’utiliser la connexion internet de l’ordinateur sur lequel ils sont branchés, sans accès root (ni sur le téléphone, ni sur le PC). Il fonctionne sur GNU/Linux, Windows et Mac OS.

Nous avons décidé de le publier en open source, sous le nom de gnirehtet.

Oui, c’est un nom bizarre, jusqu’à ce qu’on réalise qu’il s’agit du résultat de la commande bash :

rev <<< tethering Utilisation

Il suffit de télécharger la dernière release, de l’extraire, et d’exécuter la commande suivante sur le PC :

./gnirehtet rt

Une fois activé, un logo en forme de clé apparaît dans la barre de statut du téléphone :

key

Lisez le fichier README pour plus de détails.

Fonctionnement

Le projet est composé de deux parties :

  • une application Android (le client) ;
  • une application Java pour le PC (le serveur relais).

Le client s’enregistre en tant que VPN, de manière à intercepter tout le trafic réseau du téléphone, sous la forme de byte[] de paquets IPv4 bruts, qu’il transmet alors vers le serveur relais sur une connexion TCP (établie par-dessus adb).

Le serveur relais analyse les en-têtes des paquets, ouvre des connexions à partir du PC vers les adresses de destinations demandées, et relaie le contenu dans les deux sens en suivant les protocoles UDP et TCP. Il crée et renvoie des paquets de réponse vers le client Android, qui les écrit sur l’interface VPN.

D’une certaine manière, le serveur relais se comporte comme un NAT, en cela qu’il ouvre des connexions pour le compte d’autres machines qui n’ont pas accès au réseau. Cependant, il diffère des NAT standards dans la manière dont il communique avec les clients, en utilisant un protocole spécifique (très simple) sur une connexion TCP.

archi

Pour plus de détails, lisez la page développeurs.

Conception

Une fois que l’application est capable d’intercepter l’intégralité du traffic réseau du téléphone, différentes approches sont possibles. Voici celles que j’ai considérées.

TL;DR: J’ai d’abord étudié l’utilisation d’un “TUN device” sur le PC, mais ça ne répondait pas à nos besoins. J’ai ensuite voulu utiliser SOCKS pour bénéficier des serveurs existants, mais des contraintes nous empêchaient de relayer le trafic UDP. Alors j’ai implémenté gnirehtet.

TUN device

Lors de mes recherches pour savoir comment implémenter le reverse tethering, j’ai d’abord trouvé des projets créant un TUN device sur l’ordinateur (vpn-reverse-tether and SimpleRT).

Cette conception fonctionne très bien, et a plusieurs avantages :

  • le traitement est effectué directement au niveau réseau, donc il n’y a pas besoin de traduction entre le niveau 3 et le niveau 5 du modèle OSI ;
  • tous les paquets sont retransmis, indépendamment de leur protocole de transport (ils sont donc tous supportés, là où gnirehtet ne supporte “que” TCP et UDP).

Cependant :

  • elle nécessite un accès root sur l’ordinateur ;
  • elle ne fonctionne pas sur autre chose que Linux.

Il se peut néanmoins que ces applications répondent davantage à vos besoins.

SOCKS

Afin d’éviter d’avoir à développer un serveur relais spécifique, ma première idée était d’écrire un client qui parlait le protocole SOCKS (suivant le RFC 1928). Ainsi, il serait possible d’utiliser n’importe quel serveur SOCKS existant, par exemple celui fourni par ssh -D.

Vous l’avez probablement déjà utilisé pour éviter le filtrage des pare-feux en entreprise. Pour cela, démarrez le tunnel :

ssh mon_serveur -ND1080

Puis configurez votre navigateur pour utiliser le proxy SOCKS localhost:1080. N’oubliez pas d’activer la résolution DNS distante pour résoudre les noms de domaine à partir de mon_serveur (dans Firefox, activez network.proxy.socks_remote_dns dans about:config).

Malheureusement, l’implémentation d’OpenSSH ne supporte pas UDP, même si le protocole SOCKS5 lui-même le supporte. Et nous avons besoin d’UDP, au moins pour les requêtes DNS (ainsi que pour NTP).

Si vous avez lu attentivement les deux paragraphes précédents, vous devriez vous demander :

Comment Firefox peut-il résoudre les noms de domaine à distance alors que le proxy SOCKS d’OpenSSH ne supporte même pas UDP ?

La réponse se trouve dans la section 4 du RFC : l’adresse de destination demandée peut être une IPv4, une IPv6 ou un nom de domaine. Par contre, pour utiliser cette fonctionnalité, le client (par exemple Firefox) doit savoir qu’il passe par un proxy (puisqu’il doit explicitement passer le nom de domaine au lieu de le résoudre localement), alors que notre reverse tethering doit être transparent.

Mais tout n’est pas perdu. Certes, OpenSSH ne supporte pas UDP, mais ce n’est qu’une implémentation spécifique, nous pourrions en utiliser une autre. Malheureusement, SOCKS5 relaie UDP sur UDP, et les téléphones et l’ordinateur communiquent sur adb (grâce à adb reverse), qui ne supporte pas non plus la redirection de ports UDP.

Peut-être que nous pourrions au moins relayer les requêtes DNS en les forçant à utiliser TCP, comme le fait tsocks :

tsocks will normally not be able to send DNS queries through a SOCKS server since SOCKS V4 works on TCP and DNS normally uses UDP. Version 1.5 and up do however provide a method to force DNS lookups to use TCP, which then makes them proxyable.

Mais finalement, SOCKS n’est plus une solution aussi attirante pour implémenter le reverse tethering.

Gnirehtet

Par conséquent, j’ai développé à la fois le client et le serveur relais manuellement.

Ce billet de blog et différents projets open source (SimpleRT, vpn-reverse-tether, LocalVPN et ToyVpn) m’ont beaucoup aidé à comprendre comment implémenter cette solution de reverse tethering.

Conclusion

Gnirehtet permet aux téléphones et tablettes Android d’utiliser facilement la connection internet d’un ordinateur par USB, sans accès root. C’est très utile quand vous ne pouvez pas accéder au réseau par un point d’accès WiFi.

J’espère qu’il pourra être utile à certains d’entre vous.

Cet article est également disponible en anglais sur Medium.

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

Renault : Votez pour les fonds d'écran supplémentaires de Fedora 26 !

nuancier-f24-voted.png

Depuis Fedora 20, la livrée du système par défaut contient quelques fonds d'écrans additionnels. Et comme d'habitude, les contributeurs pouvaient soumettre leurs propres dessins ou photographies pour décorer cette nouvelle version.

Maintenant que la période de soumission s'est achevée, nous passons à la phase de vote. Tout possesseur d'un compte FAS peut en sélectionner 16 parmi les dizaines qui sont disponibles. Les plus populaires seront bien évidemment choisis et disponibles dans la Fedora 26 à sa sortie.

Le vote se déroule dans l'application Nuancier jusqu'au 6 avril !

Pour ceux que cela intéresse, le badge associé à cette action nécessite une action manuelle. Il suffit de cliquer sur un lien, proposé sur la page après le vote.

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

Articles similaires

Influence PC : Installation d’OpenMediaVault 3 sur Debian 8 comme interface web d’administration

OpenMediaVault est le pendant Debian de FreeNAS, par l’un de ses développeurs d’ailleurs, mais c’est une autre histoire. Il s’installe habituellement via un ISO, pré-installé sur Debian, mais nécessite de formater intégralement le support de destination, ce qui est un poil gênant quand on envisage un dual boot avec Windows, vous vous en doutez.

Alors voyons plutôt comment installer OMV sur une Debian 8 classique glanée sur le site officiel.

Installation

Connectez vous en SSH sur votre machine, passez en root et ajoutez le dépôt OMV en exécutant :

cat <> /etc/apt/sources.list.d/openmediavault.list deb http://packages.openmediavault.org/public erasmus main # deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus main ## Uncomment the following line to add software from the proposed repository. # deb http://packages.openmediavault.org/public erasmus-proposed main # deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus-proposed main ## This software is not part of OpenMediaVault, but is offered by third-party ## developers as a service to OpenMediaVault users. # deb http://packages.openmediavault.org/public erasmus partner # deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus partner EOF export LANG=C export DEBIAN_FRONTEND=noninteractive export APT_LISTCHANGES_FRONTEND=none apt-get update apt-get --allow-unauthenticated install openmediavault-keyring apt-get update apt-get --yes --force-yes --auto-remove --show-upgraded --no-install-recommends --option Dpkg::Options::="--force-confdef" --option DPkg::Options::="--force-confold" install postfix openmediavault Configuration initiale

Maintenant que tous les paquets sont installés, on va appeler le script d’initialisation :

omv-initsystem

OpenMediaVault va à présent redéfinir la configuration d’un certain nombre de logiciels et de services, en se basant sur ce que l’interface permet de modifier.

Connectez vous sur :

http://

avec l’identifiant admin et le mot de passe openmediavault.

Votre utilisateur SSH perdra le droit de se connecter dès la première application de configuration depuis l’interface web. Allez sur l’interface web, dans « Gestion des droits d’accès / Utilisateur », ajoutez le groupe « ssh » aux utilisateurs que vous souhaitez.

Sur le même principe, OMV redéfinit en partie la configuration de la machine. Allez dans « Système / Réseau / Interface » et ajoutez l’interface eth0 en DHCP.

Configuration de services dans OMV

Dans « Système / Notifications », configurez le système pour être tenu informé de l’état de santé de votre NAS. À l’heure où j’écris ces lignes, une erreur survient si on tente d’inscrire une adresse email pour le champ « Mail secondaire ». Le ticket a été ouvert sur la plateforme de gestion des bugs il y a quelques semaines.

Dans « Stockage / Disques physiques », repérez la correspondance entre les périphériques et leur modèle. Ensuite, dans « Stockage / Gestion du RAID », créer votre RAID en cochant les cases correspondant aux disques dans l’ordre voulu, par exemple /dev/sda, /dev/sdd, /dev/sdb, /dev/sdc donnera un RAID 10 avec une grappe contenant /dev/sda et /dev/sdd et une autre grappe contenant /dev/sdb et /dev/sdc.

Je vous conseille fortement d’activer la surveillance de santé des disques S.M.A.R.T dans « Stockage / S.M.A.R.T ». Il faut se balader dans les onglets « Paramètres » et « Périphériques » pour tout bien activer.

Si vous avez acheté un onduleur avec retour d’information par port série, dans « Système / Plugins », installez openmediavault-nut puis allez dans « Services / UPS » pour l’activer.

Source

Cette série d’articles peut vous intéresser :
  1. Un NAS-médiacenter-seedbox-steambox- PC de salon pour 1000€
  2. Comment prémunir votre NAS contre le maximum de risques
  3. Choix des composants de mon NAS 2017
  4. Montage des composants dans le BitFenix Phenom M version Micro ATX
  5. Mise en place d’un dual-boot en présence d’un RAID
  6. Montage Plug-and-Play des clés USB sous Debian sans interface graphique
  7. Installation de Kodi sur Debian 8 comme interface multimédia
  8. Installation d’OpenMediaVault 3 sur Debian 8 comme interface web d’administration
  9. Installation de Deluge sur Debian 8 comme interface web de téléchargement de torrents
  10. Ruse pour compresser efficacement une image de partition sous Linux

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

Articles similaires

Thuban : Le bilan libre du mercredi

Je poursuis l'idée entamée la semaine dernière qui consiste à évoquer les contributions que j'ai pu réaliser dans le libre depuis mercredi dernier.
Au menu de cette semaine, nous avons davantage de code :

  • J'ai proposé une mise à jour pour le logiciel zkt dans les ports OpenBSD. La version plus récente permet d'utiliser davantage de chiffrements et résoud quelques bugs. Bon, c'est ma première fois, j'ai fait quelques bêtises mais je connais désormais la procédure.
  • Envoi d'un rapport de bug sur txt2tags pour la version de développement. Je n'ai pas encore eu de réponse :s
  • Rapport de bug pour le projet BlockZone avec une proposition de correction. C'est désormais réglé.
  • Mise à jour de snaps qui permet de suivre facilement -current avec OpenBSD. Je dois avouer que je ne sais plus si c'est cette semaine ou avant, mais fredg a la gentillesse de merger sans râler :)
  • Création d'un plugin "lazyload" pour blogotext (le moteur de ce blog). Désormais, les images sont chargés uniquement lorsqu'on scrolle jusqu'à cette image. Ça évite de charger une page en entier. C'est bon pour la bande passante de mon serveur et la votre :). J'ai reçu l'aide de RemRem pour toute la partie PHP, un grand merci à lui qui m'a appris un tas de choses. Finalement, l'addon est mergé :) . Tiens d'ailleurs pour me la péter, je vais rajouter une image à cet article, juste comme ça :
  • Enfin, le livre pour s'auto-héberger avance. On discute beaucoup pédagogie, j'hésite à lancer une nouvelle discipline : la didactique de l'auto-hébergement ^^ .

Voili voilou :)

.

.

.

.

.

.

L'image (elle arrive, patience ;) ) :

À vous !

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

Influence PC : Installation de Kodi sur Debian 8 comme interface multimédia

Je vais vous montrer comment mettre Kodi au démarrage d’une Debian serveur (sans interface graphique) et sans recourir à un environnement de bureau tel qu’Unity, Gnome ou KDE.

J’ai choisi l’interface Kodi pour monter mon mediacenter. Ce logiciel est très actif, il a de superbes applis sur mobiles (y compris sur Ubuntu Phone) et beaucoup d’addons.

À ce sujet, certains installent Plex. Même si Kodi ne répond pas à tout, pensez simplement qu’en installant Plex toutes les données de votre NAS seront accessibles par la boite qui le développe.

Bon, alors premier conseil, ne LISEZ PAS le fucking manuel, les docs sont écrites dans le désordre.

Installer le driver Nvidia

Applicable si vous avez une carte Nvidia bien entendu. Ajoutez le dossier « non-free » aux dépôts officiels utilisés (à ajouter après « main » dans /etc/apt/sources.list). Avec apt, installez le paquet nvidia-detect et exécutez la commande du même nom pour savoir quel driver installer. Si c’est par exemple nvidia-driver, installez-le, puis installez nvidia-xconfig et lancez-le à son tour pour générer le fichier de configuration pour le serveur graphique.

Ajouter le dossier jessie-backports aux dépôts

Debian 8 est l’actuelle version stable de Debian. Ça signifie que la version des logiciels proposés dans les dépôts est fixée depuis des années, Kodi n’y est même pas : c’est encore XBMC !

Il suffit d’ajouter « jessie-backports » en plus de « main » sur le dépôt officiel dans /etc/apt/sources.list. Si ce n’est pas clair, suivez ce tuto. Puis lancez apt-get update.

Installer Kodi

su root

apt-get install kodi xorg xinit dbus-x11

adduser --disabled-password --disabled-login --gecos "" kodi

usermod -a -G cdrom,audio,video,plugdev,users,dialout,dip,input,netdev kodi

Modifier /etc/X11/Xwrapper.config et remplacer :

allowed_users=console

par

allowed_users=anybody

Créer le fichier /etc/systemd/system/kodi.service :

[Unit] Description = Kodi Media Center # if you don't need the MySQL DB backend, this should be sufficient After = systemd-user-sessions.service network.target sound.target # if you need the MySQL DB backend, use this block instead of the previous # After = systemd-user-sessions.service network.target sound.target mysql.service # Wants = mysql.service [Service] User = kodi Group = kodi Type = simple #PAMName = login # you might want to try this one, did not work on all systems ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/kodi-standalone -- :0 -nolisten tcp vt7 Restart = on-abort RestartSec = 5 [Install] WantedBy = multi-user.target

On ajoute les droits d’éteindre la machine, de la mettre en veille et de programmer son arrêt :
apt-get install policykit-1 upower acpi-support consolekit

Et en créant le fichier /var/lib/polkit-1/localauthority/50-local.d/custom-actions.pkla :

[Actions for kodi user] Identity=unix-user:kodi Action=org.freedesktop.upower.*;org.freedesktop.consolekit.system.*;org.freedesktop.udisks.* ResultAny=yes ResultInactive=no ResultActive=yes

Pour vérifier que tout fonctionne :
systemctl start kodi

Puis :
systemctl enable kodi

Tips

Pour utiliser une application télécommande sur smartphone, j’ai remarqué qu’il fallait aller dans le menu « Système / Services / Serveur Web », l’activer et changer le port sur 9090 (et pas un autre) puis aller dans le menu « Système / Services / Contrôle à distance » et autoriser la prise de contrôle par des logiciels externes.

Source 1, source 2

Cette série d’articles peut vous intéresser :
  1. Un NAS-médiacenter-seedbox-steambox- PC de salon pour 1000€
  2. Comment prémunir votre NAS contre le maximum de risques
  3. Choix des composants de mon NAS 2017
  4. Montage des composants dans le BitFenix Phenom M version Micro ATX
  5. Mise en place d’un dual-boot en présence d’un RAID
  6. Montage Plug-and-Play des clés USB sous Debian sans interface graphique
  7. Installation de Kodi sur Debian 8 comme interface multimédia
  8. Installation d’OpenMediaVault 3 sur Debian 8 comme interface web d’administration
  9. Installation de Deluge sur Debian 8 comme interface web de téléchargement de torrents
  10. Ruse pour compresser efficacement une image de partition sous Linux

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

Articles similaires

alterlibriste : Podcasting : Les souris ne mordent pas

J’ai découvert il y a quelque temps une émission technologique intitulée les souris ne mordent pas qui passe sur une radio locale du Sud-Ouest de la France : CFM Radio.

CFM se dit la radio locale Nord Midi Pyrénées (Aveyron et Lot et Garonne) et on y retrouve l’accent du Sud-Ouest. Étant une radio locale, elle reprend pas mal d’actualités du coin ; le fablab de Rodez, intitulé RUTECH en a profité pour faire une émission technologique bimensuelle d’une heure définie de la façon suivante :

Tout savoir tout apprendre sur les nouvelles technologies, les réseaux sociaux, les matériels et les petites et grandes infos pour mieux se débrouiller avec son Mac ou son Pc. Alexis, Guilhem et Thibault tiennent la souris. Une émission en partenariat avec la Cyberbase de la Mjc de Rodez.

Contrairement à l’Écho des Gnous dont elle serait la plus proche cousine en termes de format, de moyens et de diffusion, l’angle d’attaque n’est pas le monde du libre mais plus la technologie et l’apprentissage à faire soi-même. Le côté technophile peut d’ailleurs parfois masquer les pertes de libertés, de vie privée ou de données personnelles mais parmi les intervenants (notamment la participation d’un membre du GUL local, l’ARU2L), le côté libre et respect de la vie privée sont abordés. De plus, dans les fablabs, les formats ouverts et la bidouillabilité sont généralement privilégiés.

Il arrive régulièrement que les jeunes qui fréquentent le fablab viennent présenter des projets ou des actus dans le cadre de stages radiophoniques.
L’ambiance est détendue, sans prise de tête, les sujets sont très abordables et ne rentrent jamais dans la technique pour rester compréhensibles au plus grand nombre.
Comme c’est souvent le cas en format radio, l’émission est entrecoupée de pauses musicales tirée de la playlist plutôt rock de la station.

Un des seuls reproches qu’on peut lui faire, mais qui n’est pas lié à l’émission, est que les podcasts de l’antenne de Rodez sont compressés en 64 kbit/s, ce qui pique un peu aux oreilles surtout pour les morceaux de musique.
Mis à part ça, c’est une émission bien intéressante pour avoir un aperçu des actus techno pour les makers en herbe. Et pour mettre ça dans les flux de son agrégateur de podcast, c’est ici.

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

Journal du hacker : Liens intéressants Journal du hacker semaine #12

Pour la 12ème semaine de 2017, voici 10 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker ou bien dans les commentaires de ce billet :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Articles similaires

Carl Chenet : Édito (en retard) de mars 2017

Mars est déjà bien entamé mais il n’est jamais trop tard pour se reprendre en main, donc quelques petites nouvelles de mes activités récentes.

Reprise en main des mes différents projets de programmation

Je suis en train de refaire un tour sur mes différents projets de programmation, en particulier mes bots Twitter comme Feed2tweet, dont je viens d’annoncer la version 1.0. J’ai éclusé la plupart des bugs ouverts. Les demande de nouvelles fonctionnalités, ce sera pour plus tard haha.

Une page Liberapay pour mes activités du Libre

Afin de voir comment je pouvais résumer rapidement mes principales activités dans le Logiciel Libre, j’ai créé ma page Liberapay et synthétisé mes actions dans la communauté FOSS. Je suis assez content du résultat vu le temps consacré. Merci à Liberapay pour le service en passant. Je commence avec un objectif de 5€ par mois. Nous verrons.

L’infrastructure du blog

J’ai lamentablement échoué dans la mise à jour vers la nouvelle version de WordPress de ce blog, sûrement à cause d’un plugin imcompatible avec cette nouvelle version (malgré le fait qu’ils s’annonçaient tous compatibles). N’ayant pas pu y consacrer suffisamment de temps, j’ai prudemment effectué un retour arrière. Il faut que je m’y remette pour comprendre ce qui se passe et mettre à jour.

Également une migration vers la version la plus récente de Piwik s’impose. Après plusieurs rapports chez eux (forum et rapport de bug), on m’a indiqué que c’était un problème lié à la compatibilité de l’application avec le navigateur, en l’occurrence Firefox. Haha. Que de temps perdu.

Ma présence aux JDLL à Lyon

Je serai présent pour représenter LinuxJobs.fr et le Journal du hacker aux Journées du Logiciel Libre à Lyon les 1  et 2 avril 2017. N’hésitez pas à passer me faire un petit coucou si vous êtes dans le coin !

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

Articles similaires

alterlibriste : Podcasting : L'apéro des papas manchots

Il y a 4 mois naissait un nouveau podcast sur le libre : l’Apéro des papas manchots.

À ce jour 5 épisodes au compteur, pourquoi ne pas en avoir parlé plus tôt ?
Eh bien, parce qu’avant de présenter en détail un podcast, je veux être sûr qu’il ne s’arrêtera pas au deuxième épisode (ça c’est bon), mais aussi parce que j’aime bien avoir une idée précise de son identité, ce qui nécessite aussi au moins trois épisodes, et enfin, parce qu’il faut qu’il y ait une certaine maturité et stabilité afin de ne pas recommander quelque chose qui ne sait pas trop dans quelle direction il va et sous quelle forme, ou avec des problèmes techniques récurrents qui pourraient rebuter un poditeur peu indulgent. Mais après un début un peu chaotique, ça commence à prendre forme.

Le concept de départ est relativement simple : des utilisateurs de GNU/Linux pour leur utilisation familiale (des papas manchots) discutent de leurs expériences, de quelques actus et de leurs avis sur des logiciels libres qu’ils utilisent. Apéro, pour un clin d’œil à mi-chemin entre feu-Parole de Tux et l’Apéro du Captain, et surtout la bonne humeur de discuter sans se prendre au sérieux autour d’une bière... ou d’une eau plate pour les plus sobres.

Initié par Donkluivert qui avait déjà sévi dans feu-Parole de Tux et dans BlogueLinux en tant qu’invité et surtout en tant que pilier de feu-NipSource, celui-ci a pour but principal de partager sa passion du podcast en produisant quelque chose qui se veut détendu et abordable aux débutants ou utilisateurs peu avancés. L’autre membre fondateur du podcast est John Gecko, le roi de la claquette, qui aime à raconter ses expériences plus ou moins réussies avec les jeux Linux sur Steam et partage ses découvertes sur la ligne de commande.

Plusieurs épisodes ont rencontré des problèmes de son qui ont malgré tout été corrigés au mieux notamment grâce à l’aide de Patrick de BlogueLinux.ca qui les a pris sous son aile pour les héberger. Lorsque l’oiseau pourra quitter le nid, ce sera bien qu’il devienne indépendant car la cible de ce podcast est nettement moins expérimentée que ceux qui écoutent avec passion nos canadiens préférés, même si l’écoute des deux n’est pas antinomique.

Pour les épisodes 3 et 4, Morgan, du podcast Alpinux, a participé et donné une autre dimension aux émissions en parlant de tous les sujets qui l’intéresse. Il est probable qu’il y participe régulièrement et que d’autres invités viennent partager leurs expériences et leur apéro.

Le format semble s’être stabilisé autour de 2h avec une fréquence mensuelle. Tous les avis sont les bienvenus et l’équipe tient compte des remarques des auditeurs en lisant les commentaires. Alors, pour tous les manchots, papa ou pas, qui aiment entendre parler de logiciels libres et veulent ajouter un flux dans les podcasts qu’ils écoutent, c’est par ici !

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

Articles similaires

genma : Partage des applications F-Droid par Bluetooth

Billet dédicacé à Yanux56 Merci à lui pour l'astuce

J'ai découvert une fonctionnalité intéressante de F-Droid celle de pouvoir partager une application déjà installé depuis F-Droid sur son smartphone tournant sur Android ou version dérivée, avec un autre smartphone, le tout par connexion Bluetooth.

Pour cela, il suffit de connecter les deux appareils en Bluetooth, d'aller sur le premier téléphone dans F-Droid, de filtrer pour sélectionner l'application que l'on souhaite partager. Dans les options il y en a une de partage par Bluetooth. Et sur le deuxième téléphone, on accepte la réception du paquet apk de l'application (un simple fichier) et suite à la réception de l'application, on installe celle-ci.

C'est certes moins rapide que de télécharger l'application depuis F-Droid en connexion via Internet (la bande passante du Bluetooth est plus faible), mais cela permet l'installation d'une application sans avoir à être connecté, à ne pas avoir à utiliser sa connexion de données... Cette fonctionnalité a le mérite d'exister et peut s'avérer utile.

Il existe apparemment d'autres façons de faire du même type, que je n'ai personnellement pas encore testé. Celles-ci sont décrites, en anglais, sur le forum de F-Droid ici turn your device into an app store !, avec comme du partage via NFC ou Wifi par exemple.

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

Remi Collet : Partir de github

Depuis quelques années, le développement des paquets pour mon dépôt était géré dans un depôt github : https://github.com/remicollet/remirepo.

C'était évidement une solution de facilité.

Au contraire de la mode actuelle d'utiliser ce service gratuit, mais pas vraiment libre, j'ai décidé d'auto-héberger mon travail sur le serveur dédié utilisé pour mon dépôt, mon blog et le forum.

L'ensemble des sources des paquets, des outils et des sites seront donc progressivement déplacés vers le serveur git.remirepo.net, est sont consultables sur https://git.remirepo.net/cgit.

Le dépôt github restera ouvert uniquement pour les rapports de bug ou demande diverses, mais les proposition de correctifs devront être transmises par messagerie (en utilisant de préférence git format-patch afin que je puisse les appliquer avec git am).

J'envisage aussi de remplacer, dès que possible, cgit par pagure.

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

Tuxicoman : Faire une redirection de port sur son routeur avec UPnP

Pour rendre accessible une machine derrière une box Internet (NAT), on doit souvent rentrer dans l’interface d’administration web de la dite box pour faire de l’adressage statique d’IP selon l’adresse MAC, puis de la redirection de port ou assigner un IP comme DMZ.

Mais saviez-vous que vous pouviez aussi créer votre redirection de port depuis votre PC en une ligne de commande et sans connaître le mot de passe admin du routeur grâce à UPnP ?

UPnP est un protocole réseau inventé pour simplifier la connexion d’appareils domestiques. La plupart des routeurs internet grand public l’activent par défaut.

Sous linux, il existe un logiciel graphique ultra-simple pour ajouter des redirection de ports upnp-router-control :

En ligne de commande, il existe miniupnpc (le paquet sur Debian a le même nom). Pour ouvrir rediriger le port 22 extérieur de la box vers le port 22 de l’ordinateur sur lequel est lancé la commande, rien de plus facile que :
$ upnpc -r 22 TCP

Pour lister les redirections de ports:
$ upnpc -l

Pour supprimer la redirection du port 22:
$ upnpc -d 22 TCP

Cerise sur le gateau, vous pouvez même demander au routeur votre IP publique externe:
$ upnpc -s | grep ExternalIPAddress | cut -c21-

Related Posts:

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

Articles similaires

Okki : Sortie de GNOME 3.24

Configuration du mode nuit dans GNOME 3.24

Ça y est. Le tout nouveau GNOME 3.24 est disponible.

Parmi les principales nouveautés, nous retiendrons l’apparition d’un mode nuit censé nous prémunir des problèmes d’endormissement et de fatigue oculaire. Le Centre de contrôle a été révisé, la gestion des comptes en ligne, des imprimantes et des utilisateurs ayant été retravaillée. Il est par exemple bien plus simple de connaître l’emplacement et le niveau d’encre de chaque imprimante (pratique pour les entreprises qui en possèdent un certain nombre). Il en va de même de la zone de notification, qui est désormais plus simple et plus lisible. Les informations météorologiques y ont également été intégrées.

Le navigateur Web contient quant à lui un certain nombre d’améliorations concernant la barre d’adresse, la gestion des onglets, l’organisation des signets ou la protection de la vie privée.

Photos dispose d’une meilleure vue, affichant des vignettes plus grosses, de meilleure qualité et qui remplissent mieux l’espace disponible. De nouveaux outils d’éditions d’exposition et de manipulation des noirs font également leur apparition et les coordonnées GPS des photographies disposant de telles informations sont désormais affichées.

Les icônes ont également été refaites. Plus grandes, plus claires, plus engageantes, elles seront également de bien meilleure qualité sur les écrans HiDPI.

Les tablettes Wacom disposent d’une bien meilleure prise en charge : compatibilité Wayland, configuration indépendante des stylets, préréglages, applications pouvant définir des actions sur la tablette…

Et bien évidemment, en plus des principales nouveautés, nous avons droit à de nombreuses petites améliorations bienvenues un peu partout, comme la prise en charge des machines disposant de plusieurs cartes graphiques, permettant de lancer des applications sur l’une ou l’autre directement depuis l’environnement de bureau. Agenda offre enfin sa vue semaine tant attendue, ainsi que la possibilité de glisser déposer des événements. Logiciels offre une bien meilleure prise en charge des paquets Flatpak. Fichiers permet d’interagir plus facilement avec des dossiers ou des fichiers nécessitant des droits supplémentaires en vous demandant un mot de passe…

Et le meilleur pour la fin, une nouvelle application Recettes fait son apparition :p

Mais je ne vais pas refaire les notes de version, qui ont (plus ou moins :) été traduites en français et que je vous invite à lire.

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

Full Circle Magazine FR : Et voici le numéro 118

Bonjour !

L'équipe du FCMfr est, comme toujours, heureuse de vous présenter le dernier numéro, celui de février 2017, en français. Vous le trouverez sur notre page NUMÉROS ou en cliquant directement sur la photo ci-dessus :

Issue118.png

Ce mois-ci, outre les rubriques et tutoriels habituels, une série au sujet de la programmation pour Ubuntu Touch débute. En fait, il s'agit d'un cours participatif - une sorte de séminaire - créé suite à la pénurie d'applis pour Ubuntu Touch. L'auteur pense que l'échec relatif du téléphone Ubuntu, par exemple, peut être dû à ce manque. Par conséquent, il voudrait que tout le monde se mette à créer des programmes pour Ubuntu Touch et donne, dans cette première partie de la série, une introduction à son cours. Tout est gratuit, y compris le PDF qui est téléchargeable, et tout peut évoluer selon la contribution de chacun (questions, suggestions, etc.). Une excellente initiative...

Vous y trouverez aussi, notamment :

  • un tutoriel qui vous explique comment garder votre distribution Linux svelte, malgré le passage des années ;
  • deux articles dans la rubrique Labo Linux : la présentation de rclone, ainsi qu'une explication sur une façon de récupérer vos vidéos d'antan ;
  • et deux critiques, celle du livre "Wicked Cool Shell Scripts" et une du jeu Mad Max, basés sur les films, qui reçoit une note de 5/5 !

Nous vous en souhaitons bonne lecture.

Toute l'équipe du FCMfr, dont :

  • le scribeur, Bab,
  • les traducteurs, AE et d52fr,
  • les relecteurs, Bab, d52fr, et moi-même, AuntieE

Gravatar de Full Circle Magazine FR
Original post of Full Circle Magazine FR.Votez pour ce billet sur Planet Libre.

Articles similaires

Framablog : Framaslides : reprenez en main votre Power, Point !

Pour le meilleur ou pour le pire, les diaporamas, slides et autres présentations font partie de notre quotidien. Quitte à devoir en faire et en voir, seul·e ou en groupe, autant disposer d’un outil en ligne pratique et respectueux de nos vies numériques, non ?

Ceci n’est pas un Powerpoint®

Commençons par un point vocabulaire : demander un diaporama en prononçant les mots « Tu me fais un Powerpoint ? » c’est un peu comme si on disait « Tu me fais un Subway ? » lorsqu’on veut un sandwich. Non seulement on fait de la pub gratos à une marque (si encore Microsoft vous payait…) ; mais en plus on court le risque de se polluer les cerveaux en apprenant à nos subconscients que sandwich = Subway.

Et puis il faut être francs, le format de documents .ppt ou .pptx (utilisé par Microsoft pour enchaîner vos diaporamas à leur logiciel Powerpoint), ben c’est une plaie. Un format fermé, difficilement compatible avec d’autres logiciels, et dépassé. Et cher, en plus, si vous voulez l’utiliser en ligne avec la suite « Office 365 »…

10 € par mois pour avoir le droit de vous filer mes données ?
C’est payant et je suis quand même le produit ?
Microsoft, vous êtes des génies.

 

Car aujourd’hui, les langages qui permettent de faire des sites web (le HTML, bien sûr, mais aussi ses copaings CSS et Javascript), permettent de produire et de lire hyper facilement des présentations (même complexes), sans toucher à une seule ligne de code, sans installer de logiciel ni d’application, juste à l’intérieur de nos navigateurs web.

C’est justement, ce que permet le logiciel libre Strut. C’est donc à ce logiciel que nous avons contribué afin qu’il ait toutes les fonctionnalités dont nous rêvions pour mieux vous proposer Framaslides !

Framaslide présenté en une framaslide !

Nous pourrions énumérer les fonctionnalités qu’offre Strut : formatage de texte et choix de couleurs, intégration d’images, vidéos, sites web et formes, transitions, etc. Mais le plus simple, c’est encore de vous les montrer, non ?

Cliquez sur le cadre ci dessous et naviguez grâce aux flèches droite et gauche (ou haut et bas) de votre clavier ;).

Cliquez, puis faites défiler les slides avec ↑ ↓ → ←

Déjà, vous allez nous dire, c’est beau (et on vous remercie de nous le dire). Oui. Le seul souci c’est que Struts a été conçu comme un logiciel « perso ». On l’installe sur son ordinateur ou sur un coin de serveur (une brique inter.net, par exemple), on l’utilise, et il enregistre notre ou nos présentation(s) dans le cache de notre navigateur web. Mais si on change d’ordinateur, de navigateur, ou si on nettoie l’historique et le cache de son navigateur web, pfuiiit ! Tout est perdu !

Tout ceci est normal : Strut a été conçu comme cela, et il faut rendre grâce à Matt Crinklaw-Vogt, son développeur, pour le travail fourni. En revanche, si vous voulons que ce logiciel ait de nouvelles fonctionnalités permettant d’autres utilisations, on fait comme tout·e libriste qui se respecte : on se relève les manches et on contribue au code ;) !

Framaslides, un service collaboratif

Nous avons donc demandé à Thomas (que nous avons embauché suite à son stage où il a mené à bien Framagenda) de relever le défi ! Un peu comme une liste au père Noël, qui s’allonge au fur et à mesure que la date approche…

Thomas, face à ces demandes…

Dis, Thomas, ce serait pas génial si on pouvait…

  • … enregistrer ses diaporamas en ligne ?
  • … du coup envoyer nos images à Framaslides ?
  • … pour ça il me faut un compte, non ? Tu nous fais le gestionnaire de compte ?
  • … ben alors il nous permettra de gérer nos présentations ?
  • … genre de créer un lien public pour celle-ci ?
  • … ou de proposer celle-là comme modèle ?
  • … ah mais j’aime pas ce que j’ai changé, tu peux nous faire un système de révisions, hein, hein ?
  • … obah si on peut revenir en arrière, ce serait bien de pouvoir collaborer ensemble, s’te plééééé ? ? ?

Et le plus beau, c’est que le résultat est là. Autour de l’outil d’édition de présentations qu’offre Strut, Thomas a conçu un outil permettant de créer, présenter et collaborer sur ses présentations, en gérant aisément son compte, ses images, ses groupes, et bien entendu ses Framaslides !

Et un aperçu du résultat de son travail, un !

Pour les plus techos d’entre nous, Thomas a même pris le temps de faire un code propre, facile d’accès, documenté et de le déposer sur un Git aux petits oignons avec les tags et issues kivonbien… bref : un code qui est un appel aux contributions et collaborations ! Du coup, si vous maîtrisez du ImpressJS, du BackboneJS et du Handlebars (qui font tourner Strut) ; ou si vous êtes virtuose du Symphony3 (qui se trouve derrière la surcouche « Framaslides » de Thomas), vos contributions seront grandement appréciées ;) !

Manuel change le monde avec Framaslide

Manuel Dupuis-Morizeau veut changer le monde. Il se dit que la première étape, c’est de convaincre d’autres personnes de le rejoindre dans son envie… Et pour cela, rien de tel qu’une présentation de derrière les fagots ! Ne voulant pas que ses idées soient confiées aux mains de Google Slides ou Microsoft Powerpoint 365, Manuel décide de se lancer sur Framaslide.

Pour cela, il lui faut un compte Framaslides. C’est facile : dès la page d’accueil, il clique sur le bouton « Se créer un compte », remplit le formulaire assez classique, puis attend l’email de confirmation (en vérifiant de temps en temps dans son dossier courriers indésirables, sait-on jamais)

On lui dit, à Manuel, que 8 caractères dans un mot de passe c’est bien trop peu ?

Une fois son compte validé, Manuel est impatient de s’y mettre, il clique donc directement sur « Créer une présentation ». Là, il découvre l’interface d’édition des diaporama de Struts.

  • La colonne des diapositives (1) ;
  • Le mode expert (2) (s’il veut trifouiller du code) ;
  • Les boutons d’ajout de contenu (3) ;
  • Les boutons de choix des couleurs (4) ;
  • Les vues panorama et aperçu (5).

Il décide donc de créer ses premières diapositives, ou slides, comme on dit !

Alors c’est bien gentil tout cela, mais il ne voit toujours pas comment faire les transitions… C’est là qu’il active le mode Panorama. Cela demande une petite gymnastique mentale, mais il voit vite comment ça peut marcher !

En fait, il faut s’imaginer qu’on déplace ses slides dans l’espace !

Bon, après avoir regardé un aperçu, ce début semble prometteur à Manuel, alors faut-il il le sauvegarde en utilisant le menu en haut à gauche.

Le menu, un grand classique indémodable.

Puis clique sur « retourner aux présentations », dans ce même menu.

Manuel se retrouve alors devant l’interface de gestion de ses Framaslides. L’outil à l’air assez explicite, en fait…

Au centre, il retrouve ses présentations, ses modèles et ses collaborations, chacun sous leur onglet.

Et en haut à droite une barre de recherche et d’outils qui lui permet de :

  • créer une nouvelle présentation ;
  • voir ses présentations (donc retourner à l’écran principal de son compte) ;
  • gérer ses groupes de collaboration ;
  • gérer les images qu’il a téléversées en utilisant Framaslides ;
  • gérer les paramètres de son compte (mot de passe, etc.) ;
  • et se déconnecter.

Tout cela rend Manuel assez curieux, il va donc aller voir son gestionnaire d’images, mais comme il n’en a téléchargé qu’une, cela ne lui sert pas encore beaucoup. Il est quand même rassuré de savoir qu’il peut en effacer à tout moment et garder la maîtrise de ses fichiers.

Par contre, Manuel a une idée brillante… se faire aider pour commencer à changer le monde. Il décide d’aller directement créer un nouveau groupe afin d’y inviter toute la famille Dupuis Morizeau !

Non, sérieusement Manuel : le mot de passe, plus il est long, plus il est bon…

Bon, l’histoire ne dit pas si Manuel réussira à changer le monde, mais on peut croire qu’il réussira facilement à créer sa présentation avec d’autres membres de la famille et à la partager le plus largement possible ;)

Pour aller plus loin :

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

Articles similaires

Thuban : Quelles activités dans le libre depuis la semaine dernière...

Tiens, j'ai envie de m'essayer à l'exercice de faire un bilan régulier sur mes "contributions" libres.

La semaine dernière, j'annonçais le passage sous git des sources du guide sur l'auto-hébergement. Deux contributeurs on fait des propositions et permis de pousser la réflexion plus loin. Merci les gars !



De mon côté, je continue ma relecture et simplification autant que possible. Il reste du boulot ^^

En parallèle, j'ai contribué, malheureusement trop peu, à la progression des cahiers du débutants sous debian stretch. Ma tâche a constitué à vérifier les liens morts principalement :s

J'ai ouvert une issue sur le projet blogotext à propos d'un bug pour le lecteur de flux RSS qui est désormais corrigé :) Trop hâte de voir la nouvelle version sortir.

J'ai aidé une collègue à recupérer ses données sur son ordinateur donc le windows ne voulait plus démarrer. Hop, une DFLinux en live et roule ! Par contre, windows ne démonte pas correctement les disques, j'ai dû les monter en read-only pour pouvoir récupérer ses précieuses données. 130€ d'économisés pour elle avec une DFLinux installée :)

J'ai aussi tenté de me plonger dans le code de txt2tags, qui malgré de nombreuses nouvelles fonctionnalité n'est pas mis à jour depuis plusieurs années. C'est désolant. Il faudrait terminer de passer tous les tests pour la publication d'une nouvelle release. Pour l'instant je fais choux blanc, mais j'encourage toutes personnes plus versées que moi dans le python pour contribuer à ce projet. txt2tags a une syntaxe parfaite et devrait à mon avis remplacer markdown utilisé tant bien que mal dans certains projets.

Enfin, les listes d'IP à blacklister augmentent petit à petit en volume, et je note quelques téléchargements :) Il y a 427 dans les bruteforces et 7 dans les spammeurs.

Voilà voilà, c'est tout pour cette semaine. :)
Et vous ? :)

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

Benoît Boudaud : Python: Les booléens

Pour une lecture plus agréable (page plus large), je vous invite à cliquer sur ce lien et à lire ce chapitre dans la rubrique consacrée au langage Python.

Aujourd’hui, je vais vous parler des booléens. Les booléens sont des êtres farouches qui vivent au fin fond des forêts binaires recouvrant la terre sacrée du Grand Python Digital. Très difficiles à observer dans leur milieu naturel, bla, bla, bla…

Bon en fait, il s’agit d’une notion de programmation un peu déroutante que j’avais du mal à conceptualiser au début de mon apprentissage du Python.

booleTrès rare cliché d’un booléen pris dans son environnement naturelUn peu d’histoire avec George Boole

Figurez-vous que celui qui a inventé l’algèbre booléenne s’appelle George Boole. Ce sujet anglais est né en 1815 et vous ne serez pas étonné d’apprendre qu’il est mort. C’est une pneumonie qui l’a emporté à l’âge de 49 ans, après que son épouse l’eût aspergé d’eau pour le soigner! (source: Wikipédia). C’est beau l’Amour!

Il est donc le père de l’algèbre de Boole que je suis bien incapable de vous expliquer. Durant ma scolarité,  je n’ai pas eu l’heur de me plonger plus avant dans cette mathématique mystérieuse (J’ai fait un bac A2). C’est la raison pour laquelle je vous renvoie à la page Wikipédia. Débrouillez-vous!

Cela dit, je peux quand-même vous parler des booléens dans mon langage de programmation préféré.

Définition

En Python, un booléen est un type de variables qui possède deux états :

  • L’état « vrai » : True en anglais
  • Ou bien l’état « faux » : False en anglais

False == 0 et True == 1. Comment le prouver? C’est très simple. Nous allons créer deux variables (faux et vrai) et leur affecter respectivement les valeurs False et True. Ensuite, nous allons créer une liste de deux éléments indicés 0 et 1. Nous allons nous servir des deux variables comme indice pour retourner chacune des deux valeurs dans un print(). C’est parti:

faux = False vrai = True liste = ["Corée du Nord", "États-Unis"] print ("1er pays:", liste[faux]) print("2ème pays:", liste[vrai])

1er pays: Corée du Nord
2ème pays: États-Unis

Je rappelle que l’indice d’une liste ne peut être qu’un nombre entier. Le fait que j’aie réussi à retourner les deux éléments de la liste en utilisant comme indice les variables faux et vrai prouvent que ces dernières stockent des valeurs qui sont respectivement égales aux nombres entiers 0 et 1.

Amusons-nous avec un exemple un peu tordu

J’ai dit que faux était égal à 0, c’est-à dire faux == 0. Attention! J’ai bien écrit faux == 0 et non pas faux = 0. En effet, La variable faux ne stocke pas le nombre entier 0 mais bien le booléen False qui est égal à la valeur 0. En Python, je rappelle que le signe = est un signe d’affectation tandis que le signe == est le signe d’égalité.

Je vais donc évaluer l’expression (faux == 0)  pour savoir si elle est vraie ou fausse et  je vais stocker la valeur retournée dans cette même variable faux.

faux = False faux = (faux == 0) # Évaluation d'une expression (vraie ou fausse?) print(faux)

True

L’expression faux == 0 est bien vraie (True). J’ai stocké le résultat dans la variable faux et maintenant faux = True!

Évaluation d’une expression

Bon, il s’agissait d’un exemple qui n’était pas du tout pédagogique. Je voulais simplement vous expliquer de manière ludique que Python évalue des expressions pour savoir si elles sont fausses ou vraies. Prenons un autre exemple plus parlant:

nombre_1 = 5 nombre_2 = 8 result = (nombre_1 < nombre_2) print(result)

True

La variable result évalue si l’expression (nombre_1 < nombre_2) est vraie ou fausse. Il se trouve qu’elle est vraie puisque 5 est inférieur à 8. Donc le résultat est True.

Le type bool()

Les variables faux et vrai sont de types bool() car elles stockent les valeurs False et True.

faux = False vrai = True print (type(faux)) print(type(vrai))

 Si on déclare une variable de cette manière : var = bool(), alors var stockera la valeur False.

var = bool() print(var)

False

Les conditions sont sous l’emprise des booléens

Lorsque Python évalue une condition, soit le résultat est False (== 0), soit il est True (== 1). C’est comme cela qu’un ordinateur pense… uniquement avec des zéros et des uns!

a = 5 if a < 9: print(a, "est inférieur à 9") else: print(a, "est supérieur à 9")

Résultat: 5 est inférieur à 9

Qu’est ce qui s’est passé dans la tête de l’ordinateur? Il a évalué la condition. Est-ce que la variable a est inférieure à 9? Oui, c’est vrai. Donc la condition vaut 1 car elle est True). Remplacez 5 par 12 par exemple et vous verrez que la condition vaudra 0. Elle sera False. Par conséquent, c’est le deuxième message qui s’affichera :

Résultat: 12 est inférieur à 9

Pour vous en convaincre, je vais de nouveau utiliser une expression conditionnelle avec la même variable:

a = 5 result = (a < 9) print(result)

True

L’expression conditionnelle est vraie.

À l’instar d’autres langages de programmation tels que le « C » par exemple, Python considère que toute valeur autre que 0 est vraie (True). Seule la valeur 0 est fausse (False).

  • Le nombre entier 0 est False tandis que les nombres entiers 6 et -6 sont True.
  • Une chaîne de caractères vide est False, une liste vide aussi.
  • Une chaîne de caractères avec au moins un élément est True, une liste avec au moins un élément est True aussi.
chain_car = "" if chain_car: print("vrai") else: print("faux") chain_car2 = "Boole" if chain_car2: print("vrai") else: print("faux")

faux

vrai

liste = [] if liste: print("vrai") else: print("faux") liste2 = ["Boole", "George"] if liste2: print("vrai") else: print("faux")

faux

vrai

Comme Python considère que toute valeur autre que 0 est True, je n’ai même pas besoin d’écrire par exemple « if a == 5: »

a = 5 if a == 5: print("C'est vrai") else: print("C'est faux")

Je peux me contenter d’écrire « if a: »

a = 5 if a: print("C'est vrai") else: print("C'est faux")

La fonction print() affichera « C’est vrai » car elle a évalué que la condition était True.

L’instruction else

Dans une condition, le code indenté qui suit l’instruction else s’exécute lorsque l’évaluation est False (ou les évaluations précédentes sont toutes False). L’instruction else exécute un code qui est False.

L’instruction elif 

Le code indenté qui suit l’instruction elif s’exécute lorsque les tests précédents if et elif sont déclarés False. Mais contrairement à else, l’instruction elif exécute un code qui est True.

a = 5 if a == 6: # False print("C'est vrai") elif a == 7: # False print("C'est vrai") elif a == 5: # True print("C'est vrai") else: # False print("C'est faux") L’instruction not

En Python, l’instruction not transforme False(0) en True(1) et True(1) en False(0).

not

a = 5 a = not a print(a)

False

L’instruction and

L’expression a and b est vraie si a et b sont vrais tous les deux. Elle est fausse si a ou b est faux ou si a et b sont faux tous les deux. Voici un tableau qui résume ce que je viens d’écrire:

and

a, b = 5, 13 if a == 5 and b == 13: print("C'est vrai.") else: print("C'est faux.")

C’est vrai.

L’instruction or

L’expression a or b est vraie si au moins l’une des deux variables est vraie. Elle est fausse si les deux variables sont fausses. Voici un tableau qui résume ce que je viens d’écrire:

or

a, b = 5, 13 if a == 5 or b == 18: print("C'est vrai.") else: print("C'est faux.")

C’est vrai.

Les boucles while et for

On retrouve les booléens dans les boucles while et for qui exécutent un programme tant que la condition est vraie (True). À partir du moment où elle devient fausse (False), la boucle s’interrompt. Il est donc aisé (mais pas très malin!) de créer une boucle infinie si on fait en sorte que la condition soit vraie pour l’éternité (ou au moins pour les capacités de la mémoire RAM!).

a = 5 while a: print("Au secours! Je viens de créer une boucle infinie.")

À partir de là, seul un Ctrl + C est à même d’interrompre l’irrémédiable processus.

Au secours! Je viens de créer une boucle infinie.
Au secours! Je viens de créer une boucle infinie.
Au secours! Je viens de créer une boucle infinie.

line 1344, in write
return self.shell.write(s, self.tags)
KeyboardInterrupt

Conclusion

Les booléens sont au coeur de la conscience-machine. Un ordinateur ne comprend que le langage binaire. C’est la raison pour laquelle il évalue la fausseté ou la véracité d’une expression uniquement en utilisant le 0 et le 1.


Gravatar de Benoît Boudaud
Original post of Benoît Boudaud.Votez pour ce billet sur Planet Libre.

Pages