Billets de miamondo

  • Bienvenue dans mon antre

    N'oubliez pas le geste Barrier pour vos ordinateurs

    Par Le 11/07/2020

    Bonjour,

    Cette semaine, j'ai découvert une application fort intéressante puisqu'elle permet de partager un clavier et une souris entre plusieurs ordinateurs. Curieusement, cette application s'appelle barrier alors qu'elle abolit le "confinement digital" qui séparent deux écrans. Entendons nous bien! Il ne s'agit pas simplement d'un ordinateur équipé de deux écrans configurés côte à côte par xrandr par exemple. Il s'agit de deux ordinateurs différents partageant une seule souris et un seul clavier.

    Barrier est un fork libre de l'application commerciale Synergy. L'installation est d'une simplicité enfantine. Pour ma part, je l'ai effectuée sur un ordinateur de bureau et un ordinateur portable tous deux équipés d'Archlinux. L'ordinateur de bureau endosse le rôle de serveur et l'ordinateur portable celui de client. Il est impératif d'installer Barrier sur l'ordinateur serveur et sur l'ordinateur client (ou bien sur les ordinateurs clients, car il peut y en avoir plusieurs). Si vous tournez sous Archlinux, entrez ces deux commandes:

    • sudo pacman -Syu
    • sudo pacman -S barrier

    La première met à jour les paquets et la seconde installe barrier. Voici un lien vers un tableau récapitulatif qui vous permettra de déterminer la version installable sur votre distribution.

    Bon, entrons dans le vif du sujet. Une fois que vous avez lancé l'application sur l'ordinateur serveur, une fenêtre se matérialise. Cochez server. Puis, cliquez sur l'onglet configurer le serveur. Une fenêtre s'ouvre avec en son centre l'écran du serveur, en l'occurrence Volgor chez moi. À côté de celui-ci, j'ai glissé-déposé l'ordinateur dit client. Vous pouvez bien sûr lui donner un autre nom comme par exemple Gugutte. J'ai choisi client dans un souci de clarté pédagogique. Vous validez et vous quittez pour revenir sur la fenêtre précédente. Là, vous vérifiez que l'adresse IP est correcte et vous cliquez sur start puis sur appliquer (anwenden). 

     

    Server window

     

    Disposition

     

    Même opération sur l'ordinateur client, sauf que cette fois-ci, vous n'allez pas cocher server mais client. Prenez soin également de renseigner l'adresse IP du serveur. Ne sélectionnez pas Auto config. Faites-le manuellement. Puis cliquez sur start et appliquer (anwenden).

     

    client

     

    Normalement, si tout se passe bien, vous allez pouvoir promener votre pointeur de souris d'un écran à l'autre, et votre clavier d'ordinateur de bureau sera fonctionnel sur l'ordinateur portable! Izen'tit marvellousse?

    Descendons si vous le voulez bien dans mon antre... Oui, l'escalier est un peu raide mais n'ayez pas peur... Ces bruits derrière la cloison?... Ce sont des rats, ils pullulent! Voilà, nous y sommes enfin.

     

    Antre de Volgor

     

    L'écran bâbord et celui du milieu sont les deux têtes d'un même ordinateur. Ils sont configurés côte à côte grâce à xrandr. Je peux donc passer d'un écran à l'autre et même faire du glisser-déposer. Rien d'extraordinaire, c'est tout à fait normal.

    Par contre, l'écran à tribord est celui de mon ordinateur portable. Il est totalement indépendant de l'autre créature. Pourtant, par l'intercession de Belzébuth (et aussi un peu grâce à Barrier), je peux passer mon pointeur de souris sur cet écran, ouvrir l'éditeur de texte et taper cet article avec le clavier de l'ordinateur de bureau... Je peux même couper-copier-coller d'un écran à l'autre! La seule chose qui n'est pas encore possible, c'est le glisser-déposer. Mais ça viendra. Ce n'est qu'une question de temps. Il faut être patient. Vous tremblez malgré la chaleur infernale qui règne ici. Laissez-moi vous raccompagner vers la sortie. Mais on va plutôt prendre l'ascenseur parce que j'ai une sainte horreur de ces bestioles. Mon Dieu! Ces pattes qui grattent le bois, ça me met dans tous mes états!

  • Tarfala

    La nature sous licence libre

    Par Le 24/06/2020

    Bonjour,

    Pour compléter mon premier article sur l'application de la licence libre au-delà du simple domaine des logiciels, je vous propose un petit voyage en Scandinavie. Partons, si vous le voulez bien, tout au Nord, dans ces contrées qui ont vu naître Linus Torvalds.  Le créateur du noyau Linux est un ressortissant finlandais appartenant à la minorité suédophone. S'il eût été un finlandais finnois, il se fût appelé Liinu torvaaldinen, par exemple. Et tout comme ses ancêtres, il eût été batteur dans un groupe de gore-metal, ce qui n'est pas le cas.

    Finlandais suédophone ou suédois de Finlande, peu importe. Intéressons-nous plutôt à un droit inscrit dans la coutume de tous les pays scandinaves. En Norvège, on l'appelle allemannsrett, en Suède allemansrätt, et en Finlande jokamiehenoikeus. C'est le droit d'accès à la natureCette loi ancestrale autorise quiconque à (je cite Wikipédia) profiter sous certaines conditions, de la nature et de ses fruits, indépendamment des droits de propriété qui peuvent y être attachés, et sans le consentement préalable du propriétaire. Le randonneur est libre de traverser la propriété d'autrui, d'y cueillir des baies et même d'y planter sa tente pour vingt-quatre heures , sans crainte de voir son sommeil brutalement interrompu par le débarquement de deux cars de CRS tout énervés.

    Scandinavie

    Cela dit, vous vous imaginez bien que cette coutume est encadrée, et c'est très bien ainsi car ce sont les lois que l'on se donne qui garantissent nos libertés individuelles tout en protégeant les plus fragiles d'entre nous. L'absence de lois, c'est la loi du plus fort. Par conséquent, si vous randonnez en Suède, sachez:

    • qu'il est interdit de camper dans le champ visuel ou auditif du propriétaire des lieux. Son intimité doit être respectée.
    • Ne vous avisez pas d'abattre un arbre pour faire un barbecue! Contentez-vous de récolter du bois mort et des écorces de bouleau. 
    • Pas question non plus de débarquer en fourgon IVECO pour organiser une rave-party. La nature a horreur du bruit.
    • Après une bonne nuit et un bon petit-déjeûner, veillez à faire disparaître les traces de votre bivouac et à  remettre le lieu dans son état de propreté originel.

    Moi, j'habite dans un pays, l'Allemagne, soit disant attentif aux questions environnementales, mais dont le rapport à la nature n'est pas sans contradiction. L'Allemansrätt n'existe pas. Si vous êtes un adepte du bushcraft et que vous voulez planter votre tente au beau milieu des bois, c'est streng verboten. Vous pouvez le faire mais il ne faut pas se faire piquer. Je suppose qu'en France, c'est également interdit. Mais la conception française de l'interdiction est sans doute moins rigide qu'en Allemagne.

    Cela part peut-être d'un  bon sentiment, celui de protéger l'environnement à tout prix, mais cette sanctuarisation privative de la nature, coupe l'être humain de ses racines et ce n'est pas une bonne chose. De plus, qui nous dit que dans un avenir proche, seuls les riches hélicologistes auront accès à des oasis de nature préservée tandis que les vilains, les "gens qui ne sont rien", devront se confiner dans leur appartement exigu, bien loin de toute verdure.

    640px page 070 scrambles amongst the alps whymper

    Vous allez me rétorquer que les scandinaves peuvent bien se permettre de placer la nature sous licence libre, vu qu'ils sont deux vikings et trois blondines à se partager des centaines de milliers de kilomètres carré. Oui, c'est vrai qu'on ne peut pas comparer leur situation avec celle des Pays-Bas, où les gens vivent les uns sur les autres, mais en France, il y a suffisamment d'espace pour ne pas sanctuariser la nature. Durant le confinement, l'interdiction radicale de profiter des plaisirs d'une balade en forêt ou sur la plage, était parfaitement injustifiée et ne présage rien de bon pour l'avenir. 

    Si on ne place pas la nature sous la protection d'une licence libre strictement définie, qui permette qu'elle devienne notre bien commun à tou(te)s, alors elle deviendra le privilège de celles et ceux qui auront suffisamment d'argent pour y accéder. Elle deviendra non pas privée mais privative. Il n'est pas exagéré d'imaginer des oasis de nature enceintées et interdites aux édenté(e)s. Lorsque le Président de la République et Madame profitaient d'un jardin de deux hectares, au coeur du huitième arrondissement, et que les riches Parisiens prenaient courageusement le chemin de l'exode en direction de leur résidence secondaire sur l'île de Noirmoutier, d'autres Français(es), privées de verdure, pétaient une durite dans leur appartement insalubre.

    Rien ne justifiait cette interdiction d'accès à la nature si ce n'est la volonté, peut-être subconsciente, de tester la résilience et la naïveté de tout un peuple en vue du nouveau monde que les puissants lui réserve... Un monde privatif, où la nature, sanctuarisée à outrance, sera protégée par des milices privées et cotée en bourse.

    D'aucuns vont me faire remarquer que malgré le droit à la nature, la politique suédoise de non-confinement a été un désastre. Oui, c'est vrai, mais ce désastre sanitaire a été provoqué non pas par l'allemansrätt mais par le fait que les suédois, avec une certaine arrogance de peuple à qui tout réussit, ont continué à fréquenter les terrasses de café et les magasins IKEA en se disant que de toute façon, leurs gènes de vikings les protégeraient. Ils avaient Thor, si je peux me permettre ce lamentable jeu de mots.

    En Allemagne, il n'était pas interdit de profiter d'une promenade en forêt sans limitation de temps, pourvu que l'on fût en binôme et que l'on respectât une distance de sécurité d'un mètre cinquante. Et croyez-moi, pour l'équilibre mental (en tout cas pour le mien), cette approche souple et pragmatique était pleine de bon sens. L'interdiction d'accès à la nature n'a absolument pas réduit le nombre d'infecté(e)s en France. On ne rapporte aucun cas d'arbres ou de fougères contaminés au COVID-19 et potentiellement dangereux pour le promeneur. Aucun... Par conséquent, vous ne prenez pas de risque en caressant une écorce. Cette interdiction absurde était le fruit d'une volonté politique visant à préparer les esprits au fait que la destruction de l'environnement va transformer chaque arbre en une denrée précieuse. 

    Ce que je dis est profondément politique, j'en suis conscient, mais le concept de licence libre également. C'est une vision du monde qui s'oppose à une autre vision du monde. C'est en tout cas comme ça que je vois les choses. Le droit d'une famille de nantis à traverser l'atlantique sur un voilier en polyester dont la fabrication et le recyclage n'ont rien de durable, devrait être tout simplement interdit et remplacer par le droit de tout écolier français de pouvoir un jour faire une sortie en mer encadrée. Dès l'école, il faudrait une vraie politique de découverte de tous les aspects de la nature et des quatre éléments qui la constituent:

    • la mer pour l'eau,
    • la montagne pour l'air pur,
    • la campagne pour la terre,
    • les volcans pour le feu.

    Oui, je suis pour le rétablissement du service national! Mais un Service National de Protection de la Nature. Chaque ville devrait se noyer dans la verdure et se doter de jardins municipaux qui seraient le bien commun de tous ses habitants. Lorsque je parle de jardins municipaux, je veux parler bien sûr de jardins potagers. Rien de ce qui est placé sous licence libre ne sombre dans l'anarchie, bien au contraire! Sur ce point, Wikipédia en est un parfait exemple. Cette encyclopédie accessible à tou(te)s, est devenue une référence. C'est une immense source de connaisances protégée par une communauté d'administrateurs qui ne sont pas des miliciens mais des médiateurs. Wikipédia NOUS appartient. Elle fait partie du patrimoine de l'humanité.

    Le droit d'accès à la nature est une sorte de licence libre qui permet aux scandinaves de ne pas se couper de leur environnement, car aucun être vivant ne peut s'épanouir s'il ignore où plongent ses racines. Nous serions bien avisé(e)s d'adopter le plus vite possible cette coutume, avant qu'un gouvernement, soumis aux puissances de l'argent, ne décide de placer des péages à l'entrée des forêts ou des plages. Le plus grand danger qui nous guette, c'est que même la nature devienne privative.

  • Scrot 5 000

    À la découverte de Flask

    Par Le 17/06/2020

    Bonjour, 

    Il y a quelques semaines, j'ai découvert Flask, une infrastructure de développement implémentée en Python et combinée à un serveur local. Son programme de base compte en tout et pour tout, sept malheureuses lignes de code!

    Scrot 5 000

    Une fois exécuté, il vous permet d'afficher Hello world, à l'adresse 127.0.0.1:5000, (c'est-à-dire localhost, port 5000). Pour pouvoir utiliser cet outil fort intéressant, il faut au préalable l'installer. Avec Archlinux, c'est un jeu d'enfant. mettez d'abord vos paquets à jour avec pacman -Syu puis entrez cette commande:

    sudo pacman -S python-flask

    Avec Debian et ses dérivés, c'est un peu plus compliqué mais vous trouverez la procédure à cette adresse.  

    Alors, comment est-ce que j'en suis venu à m'intéresser à Flask? Eh bien, c'est parce que je me suis mis en tête de créer mon propre site web pour l'héberger sur une raspberry pi. C'est un projet qui va m'occuper pendant plusieurs mois mais je suis bien avancé puisque le code HTML/CSS3 est déjà opérationnel. Certes, le design s'inspire de celui qui habille mon site actuel hébergé chez un SGB, mais je vous assure que je n'ai pas pompé une seule ligne de code! Sinon c'est pas du jeu. Voici donc à quoi ressemble le site autohébergé Miamondo 3.0 version alpha:

    Scrot 1

    Je suis relativement satisfait du résultat. Cela dit, je souhaite avoir un site qui soit un minimum interactif. J'ai donc créé un onglet de recherche qui, si je ne dis pas de bêtises, a besoin d'un peu de code javascript et d'une base de données pour fonctionner. Mais comme j'aime bien expérimenter des trucs (même si parfois ça part en cacahouète), je me suis dit que je pourrais peut-être essayer de trouver une solution alternative avec le langage Python. Et ça tombe bien puisque Flask est un outil qui marie joyeusement Python et HTML.

    Dans un environnement Flask expérimental, il est tout à fait possible de renvoyer à un visiteur, le résultat d'une recherche et ceci, en utilisant simplement du Python. Je le sais puisque je viens justement de le faire. Par contre, je ne sais pas si ce procédé fonctionnera une fois que le site sera en "production", hébergé dans sa raspberry Pi. J'ai des doutes car lorsque je démarre le serveur, voici le message qui s'affiche dans la console:
    WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
    Je ne sais pas ce que c'est qu'un WSGI mais tout me laisse à penser que cette mise en garde en rouge n'augure rien de bon et qu'il faudra que je me mette en quête d'une autre solution...

    On verra bien. En attendant, voici comment j'ai procédé (d'abord le code suivi de quelques explications sommaires):

    Code Python

    Scrot 6

     

    Code HTML

    Scrot 7

    • Il s'agit bien évidemment de la portion de code HTML qui nous intéresse, c'est-à-dire celle qui correspond au champ de recherche "liée" au code Python. Pour le reste du code, c'est ici que ça se passe.
    • Dans mon répertoire utilisateur, j'ai d'abord créé un sous-répertoire intitulé webapp et j'y ai placé le script primaire de Flask (celui qui est tout en haut de ce billet). Il s'intitule app.py.
    • Je l'ai complété en important render_template (nécessaire pour afficher la page index.html) et request (nécessaire pour récupérer la recherche client dans une variable).
    • La fonction index() affiche la page d'accueil index.html
    • Cette page HTML doit être placée dans un sous-dossier de webapp intitulé templates.
    • En ce qui concerne le code CSS, les images du site et autres documents PDF, ils doivent être placés dans un sous-répertoire de webapp intitulé static. Au final, voici l'architecture de votre site:

    Scrot 8 000 

    • La fonction sniff() cherche dans la page index.html, les occurrences correspondant à la recherche du visiteur. Ce dernier n'est pas obligé de respecter la casse car le processus sniff met tout en minuscules. Vous noterez que les deux fonctions renvoient un résultat. Si ce n'était pas le cas, le programme planterait.

    On continue:

    • Je créé une liste vide et je récupère la totalité des lignes du fichier index.html que je joins avec la méthode "".join(). Ce n'est donc plus une liste mais un string. 
    • Je redécoupe cette gigantesque chaine de caractères en éléments séparés par "\n\n". Ce procédé m'oblige par contre à respecter des règles rigoureuses dans l'agencement de mon code html. Chaque section doit être séparée par "\n\n". Je me demande si je ne ferais pas mieux de créer un dictionnaire contenant tous les mots du site et qui, contrairement à une liste, n'aurait pas besoin d'être parcouru puisqu'il s'agit d'une table de hachage. À voir... Continuons:
    • Une fois les occurrences trouvées, la liste found se charge d'afficher le menu principal, la bannière, les articles qui contiennent l'occurrence recherchée et enfin, le menu latéral avec l'onglet de recherche (found.append(lines[-1]).
    • Si sniff() ne trouve rien, il affiche un message adéquat:

    Scrot 4

    • Si j'entre le mot Révolution en mélangeant volontairement majuscules et minuscules, sniff va m'afficher le premier article qui, de fait, contient bien ce mot.

    Scrot 3

     

    • Si j'entre le mot Massoud, sniff va m'afficher l'introduction du site et effacer le reste.

    Scrot 2

    Voilà... Tout ça pour dire que ça ne m'étonne pas que Flask soit devenu si populaire compte tenu de sa simplicité de mise en oeuvre et des possibilités qu'il offre. Je vais continuer à utiliser cet outil et à voir ce que je peux faire sur mon site 3.0 alpha, en utilisant simplement Python.
    @+

expand_less