Linux (fr)

  • Mise à jour des pages de manuel pour MeeGo 1.1 (Linux Certif)

    Suite à la mise à jour pour Ubuntu, j'ai découvert un bug dans l'algorithme qui crée les liens entre les pages de manuel.

    Je viens de corriger ça et j'en ai profité pour importer de nouvelles pages de manuel.

    Cette fois, les pages viennent de la distribution MeeGo. La version 1.1 de Meego vient de sortir, c'est donc cette version qui a été importé.

    Assez peu de nouvelles pages ont été importé. Parmi celles-ci, quelques pages inédite de quelques nouveaux outils:

    • bugle
    • gldb-gui
    • Chrome (navigateur par défaut de MeeGo pour Netbook, curieusement cette page de manuel est absente des autres distributions)
    • yumdb
    • etc
  • le "style fonctionnel" en vidéos (Nix, NixOS, Haskell) (Journaux LinuxFR)

    Salut

    Si ça intéresse quelqu'un, j'ai fait quelques vidéos sans prétention sur l'utilisation de Nix/NixOS et la programmation en Haskell. Pour l'instant, il n'y en a qu'une dizaine; je pense en faire d'autres plus tard mais… plus tard.

    Les vidéos : https://www.youtube.com/watch?v=i6s-G_Hh3s4&list=PLe8vnuC2T7iGE3w_d-MCHw5mLzRAMiCM9

    Les résumés + codes : https://github.com/nokomprendo/tuto_fonctionnel

    Les sujets des vidéos :
    01 : Installation de NixOS
    02 : Gestion de paquets avec Nix
    03 : Installation de Nix sur Debian
    04 : Utilisation des canaux avec Nix/NixOS
    05 : Compilation et installation d'un programme avec Nix
    06 : Développer en Python avec Nix
    07 : Personnaliser un paquet Nix
    08 : Exécuter du code Haskell avec Nix (ou pas)
    09 : Intro au déploiement web avec Haskell/Nix/Nixops
    10 : Configuration utilisateur avec Nix (paquets, vim…)
    11 : Introduction au langage Haskell

    Lire les commentaires

  • LinuxFr.org : seconde quinzaine de mai 2018 (Journaux LinuxFR)

    Nonante-septième épisode dans la communication entre les différents intervenants autour du site LinuxFr.org : l’idée est tenir tout le monde au courant de ce qui est fait par les rédacteurs, les admins, les modérateurs, les codeurs, les membres de l’association, etc.

    L’actu résumée ([*] signifie une modification du sujet du courriel) :

    Avertissement

    Ceci est un second message pour prévenir certains de nos visiteurs qui nous transmettent inutilement des infos sensibles via leur lecteur de flux RSS/Atom, infos qui se retrouvent stockées dans nos logs web.

    Format par défaut d'un log du serveur web Nginx (source) :

    log_format combined '$remote_addr - $remote_user [$time_local] '
                        '"$request" $status $body_bytes_sent '
                        '"$http_referer" "$http_user_agent"';
    

    Certains utilisateurs nous transmettent leur nom d'utilisateur distant (pas forcément gênant, mais inutile).

    Par contre, certains nous transmettent leur nom d'utilisateur ET leur mot de passe. On a ainsi leur nom d'utilisateur dans le champ remote_user mais aussi leur nom d'utilisateur et leur mot de passe en clair dans le champ http_referer, sous la forme http://login:pass@linuxfr.org/journaux.atom ou https://login:pass@linuxfr.org/news.atom. Cela concerne 6 utilisateurs différents (tous utilisateurs de FreshRSS), dont 1 a été identifié et contacté en privé. Pour les cinq autres, à savoir Jeoffrey, jm, lionel, SVNET et titoko, je vous suggère d'arrêter de nous envoyer votre mot de passe, puis de changer de mot de passe étant donné qu'il a fuité, et aussi d'utiliser préférentiellement la version HTTPS du flux souhaité. N'hésitez pas à me contacter en privé si vous avez des questions (oumph CHEZ linuxfr.org).

    La version FreshRSS 1.11.0 du 2018-06-03 corrige ce problème Strip HTTP credentials from HTTP Referer in SimplePie #1891.

    Statistiques

    Du 16 au 31 mai 2018

    • 1371 commentaires publiés (dont 11 masqués depuis) ;
    • 344 tags posés ;
    • 99 comptes ouverts (dont 9 fermés depuis) ;
    • 33 entrées de forums publiées (dont 1 masquée depuis) ;
    • 32 liens publiés (dont 1 masqué depuis) ;
    • 26 dépêches publiées ;
    • 30 journaux publiés (dont 1 masqué depuis) ;
    • 3 entrées nouvelles, 1 corrigée dans le système de suivi ;
    • 0 sondage publié ;
    • 2 pages wiki publiées (dont 1 masquée depuis).

    Listes de diffusion (hors pourriel)

    Liste webmaster@ - [restreint]

    • R.A.S.

    Liste linuxfr-membres@ — [restreint]

    • R.A.S.

    Liste meta@ - [restreint]

    • R.A.S.

    Liste moderateurs@ - [restreint]

    • [Modérateurs] Dépêche Refaire linuxfr
    • [Modérateurs] contenu problématique
    • [Modérateurs] nfsw
    • [Modérateurs] URL d'une dépêche

    Liste prizes@ - [restreint]

    • R.A.S.

    Liste redacteurs@ - [public]

    • R.A.S.

    Liste team@ - [restreint]

    • [team linuxfr] Optimize MySQL
    • [team linuxfr] Login/mot de passe envoyé en clair dans une URL HTTP sur LinuxFr.org
    • [team linuxfr] Login/mot de passe envoyé en clair dans une URL HTTP sur LinuxFr.org
    • [team linuxfr] Login/mot de passe envoyé en clair dans une URL HTTP sur LinuxFr.org
    • [team linuxfr] Test passage en Jessie
    • [team linuxfr] Joker.com: Your domains are about to expire (expiration report)

    Liste webmaster@ — [restreint]

    • R.A.S.

    Canal IRC adminsys (résumé)

    • mises à jour de sécurité
    • le support sécurité normal pour Debian GNU/Linux 8 Jessie s'arrête au 17 juin
    • expiration du certificat au 3 juin et discussion sur le renouvellement
    • deux conteneurs mis à jour en Jessie, en attendant le passage en Stretch
    • le conteneur de développement redirige tout le trafic en HTTPS désormais
    • une boucle de courriels entre un système de ticket et notre gestionnaire de liste de diffusion
    • travaux en cours pour nettoyer le dépôt git d'administration système (avec des fichiers générés par l'outil d'automatisation Ansible notamment)

    Tribune de rédaction (résumé)

    • Migration de GIMP vers GitLab ajoutée dans la dépêche sur la 2.10.2
    • Demande de retours sur la dépêche GrafX2 par le développeur principal
    • Une correction post-publication

    Tribune de modération (résumé)

    • du spam (dont un robot réutilisant des extraits de phrases)
    • modération d'une image déplacée
    • expiration de notre certificat X509 Gandi Wildcard au 3 juin
    • évocation du renouvellement du CNNum (on aurait pu mentionner les entrées au comité de prospective de la CNIL)
    • migration de deux conteneurs en Debian Jessie

    Commits/pushs de code https://github.com/linuxfrorg/

    • Merge pull request #222 from fredplante/master
    • Fix typo
    • (svgtex) fixes duplicate xlink attribute on svg result
    • (epub) Use https for LinuxFr.org URLs

    Divers

    • Geek Faëries du 1 au 3 juin : conférence « LinuxFr.org, 20 ans que ça geeke » et table ronde « Ces plates‐formes du Libre qui soutiennent les communautés » avec l'Agenda du Libre et En Vente Libre. Plein de mercis à Bookynette pour le Village du libre, à l'équipe organisatrice des GF, et à Marco et Marius pour l'hébergement.
    • Proposition de conférence soumise + table ronde + demande de stand pour les RMLL 2018 Strasbourg

    Commentaires : voir le flux atom ouvrir dans le navigateur

  • Inventaire de matos (Journaux LinuxFR)

    Bonjour

    Je suppose que je suis mauvais pour trouver des logiciels qui correspondent à mon besoin. Il y a quelques semaines j’avais besoin de retranscrire une interview, je ne trouvais pas de logiciel pour le faire sur le coup, or il existe le site otranscribe ou le logiciel Parlatype, j’ai découvert ces deux possibilités quelques jours après avoir galéré avec mpv et gedit…

    Je travaille dans une UMR (un institut de recherche) et j’avais besoin d’inventorier notre matériel (lasers, photodiode, filtre, analyseur, lunettes de protection,…). Je ne trouvais rien qui réponde vraiment à mon besoin. J’ai fini par commettre INVENTAIRE.

    Mon besoin est le suivant :
    - outil en ligne pour être accessible depuis n’importe quel poste (intranet, pour l’instant, tout le monde à tous les droits)
    - associer directement différents documents (data-sheet, caractérisation,…)
    - gérer les différents entretiens (nettoyage, calibration,…) avec des icônes en fonction du temps restant
    - un journal disponible pour chaque composant listé (pour suivre les aventures de laser22 et la fabuleuse calibration d’analyseur_de_spectre12)
    - plusieurs inventaires peuvent être créés (plusieurs équipes ou domaines par exemple…)
    - des sections « administratif » et « technique » clairement différenciées pour permettre de remplir uniquement une partie si on le souhaite.
    - Si on affiche une seule catégorie, il est possible de trier en fonction des caractéristiques spécifiques à celle-ci

    Ça donne un listing :
    listing

    Une page réussissant toutes les infos pour chaque composant :
    detail

    D’autres captures d’écran sur https://github.com/yeKcim/inventaire/

    Je ne suis pas développeur, le code (php, mysql) est donc très certainement crade, mais je me dis que cela peut
    - soit rendre service à quelqu’un d’autre et avoir des avis
    - soit avoir un commentaire m’expliquant que je viens d’inventer la roue octogonale alors que la roue circulaire existe depuis longtemps.

    Lire les commentaires

  • Open Beauty Facts : que contient vraiment nos produits cosmétiques ? (Dépêches LinuxFR)

    Open Beauty Facts est un projet collaboratif en ligne dont le but est de constituer une base de données libre et ouverte sur les produits cosmétiques du monde entier.

    Après les aliments, Open Food Facts s’attelle donc à un nouveau chantier : les produits de beauté. Lancé en février 2016, Open Beauty Facts a pour but de réaliser pour les cosmétiques, dentifrices et autres shampooings ce que Open Food Facts a fait pour la nourriture.

    Logo Open Beauty Facts

    Les mêmes principes qu'Open Food Facts

    Comme pour le premier, Open Beauty Facts est un projet collaboratif, ouvert et à but non lucratif qui s’appuie sur des contributeurs qui - grâce au succès d'Open Food Facts - sont désormais aux quatre coins de la planète.

    Open Beauty Facts est donc une base ouverte de plus de 2 300 produits cosmétiques rajoutés grâce au site et à l’application.

    Open Beauty Facts (capture d'écran)

    Pourquoi ouvrir des cosmétiques ?

    Ouvrir des produits de beauté avant de les utiliser, c'est du bon sens ! Une fois la liste des ingrédients ouverte, il est possible de les déchiffrer/traduire pour savoir ce que l'on se met vraiment sur le corps. Que veulent dire tous ces « Numéros CI » et « methyl-» « hexyl » « polyol » ? Qui connaît les dizaines de milliers de codes et noms latins pour les ingrédients cosmétiques ?

    Pour les produits alimentaires auxquels Open Food Facts s'est attaqué, on comprend à peu près la liste des ingrédients, mais pour les cosmétiques il faut littéralement parler latin et être chimiste.

    Mettre la composition des cosmétiques dans une base de données ouverte permet également de comparer très facilement les produits entre eux. En quelques clics vous pouvez ainsi générer des comparatifs qui permettent d'éviter les ingrédients suspects.

    Comment ça marche ?

    Chaque produit est recensé par son code barre, et les informations relatives à ce produit sont renseignées par les contributeurs à partir des informations présentes sur l'emballage. On trouve par exemple les ingrédients, les allergènes, le lieu d'emballage et bien d'autres encore.

    Détecter les ingrédients indésirables

    Parabènes, libérateurs de formaldéhyde, substances parfumantes allergènes, silicones, phénoxyéthanol, triclosan, cetrimonium bromide, méthylisothiazolinone, sels d'aluminium.
    Quels que soit leur nom, l'abréviation ou la langue dans laquelle ils sont mentionnés, Open Beauty Facts est capable de détecter et déchiffrer les ingrédients suspects.

    Un produit sur Open Beauty Facts

    De plus, sur des produits comme les vernis à ongles, non seulement les ingrédients sont en anglais, latin et avec des abréviations, mais ils sont littéralement cachés sous l'étiquette.

    Des ingrédients cachés sous une petite étiquette à décoller - loupe requise

    Comment ajouter des produits ?

    Pour ajouter un produit à la base de données, le plus simple est d'installer l'application pour téléphones. Il en existe une pour Android et les versions IOS et Windows Phone arrivent. Il ne reste plus qu'à scanner le code barre du produit (cela vérifie qu'il n'est pas déjà dans la base), prendre quelques photos (le recto et les ingrédients). Ensuite, si vous le souhaitez, vous pouvez saisir les informations sur le produit avec la version web.
    Une fois fini, Open Beauty Facts effectue le déchiffrage de la liste d'ingrédients et rend le produit complètement « cliquable » pour tous les prochains scanners.

    Des listes d'ingrédients en anglais et en latin, pour petits chimistes

    Il est aussi possible de faire la même chose avec un appareil photo et un ordinateur.

    Des données ouvertes

    Les données sont disponibles sous licence ODbL 1.0 (comme pour OpenStreetMap). Cela permet de réutiliser les données le plus largement possible.
    Il existe également une API en lecture et écriture pour pouvoir utiliser ou contribuer des données.

    Vous nous rejoignez ?

    Open Food Facts et Open Beauty Facts ont besoin d'aide dans tous les domaines imaginables, que ce soit la traduction, le développement (Perl, HTML/CSS, Android, iOS…), la contribution via smartphone ou le web.

    Rejoignez-nous et mettez au défi vos amis d'ouvrir leur armoire de salle de bains !

    Lire les commentaires

  • Revue de presse de l'April pour la semaine 4 de l'année 2016 (Dépêches LinuxFR)

    La revue de presse de l'April est régulièrement éditée par les membres de l'association. Elle couvre l'actualité de la presse en ligne, liée au logiciel libre. Il s'agit donc d'une sélection d'articles de presse et non de prises de position de l'association de promotion et de défense du logiciel libre.

    Sommaire

    [LeDevoir.com] Le logiciel libre, remède à l’opacité des algorithmes

    Par Mathieu Gauthier-Pilote, le vendredi 29 janvier 2016. Extrait:

    Dans un texte publié dans Le Devoir du 12 janvier («Uber et le nécessaire contrôle social des algorithmes»), le chercheur Yves Gingras soulevait la question fort pertinente de l’opacité des algorithmes utilisés par les services numériques auxquels nous sommes de plus en plus habitués dans notre société (par exemple Uber). Le sujet était à nouveau discuté à l’émission de radio Médium large le 14 janvier. Cet enjeu nous interpelle en tant que citoyens et militants de l’informatique libre.

    Lien vers l'article original: http://www.ledevoir.com/societe/science-et-technologie/461474/le-logiciel-libre-remede-pratique-a-l-opacite-des-algorithmes

    [Numerama] Recours et menace de plainte après l'accord entre Microsoft et l'Éducation nationale

    Par Guillaume Champeau, le vendredi 29 janvier 2016. Extrait:

    Un collectif de défense de l'utilisation des logiciels libres dans l'éducation a déposé un recours contre le partenariat signé fin 2015 entre Microsoft France et l'Éducation nationale. Ses avocats menacent de déposer plainte au pénal pour favoritisme contre la ministre Najat Vallaud-Belkacem si l'accord n'est pas annulé.

    Lien vers l'article original: http://www.numerama.com/politique/141873-recours-et-menace-de-plainte-apres-laccord-entre-microsoft-et-leducation-nationale.html

    Et aussi:

    Voir aussi:

    [Le Monde Informatique] Google défend sa licence open source OpenJDK pour Android

    Par John Ribeiro, le mercredi 27 janvier 2016. Extrait:

    Le 24 décembre dernier, Google a discrètement sorti une version d'Android basée sur le code OpenJDK, c'est-à-dire l'implémentation open source de la plate-forme Java Standard Edition, Java SE. Mais pour Oracle, cela ne permet pas à tous les composants d'Android de bénéficier d'une licence open source. L'éditeur a porté l'affaire devant la justice.

    Lien vers l'article original: http://www.lemondeinformatique.fr/actualites/lire-google-defend-sa-licence-open-source-openjdk-pour-android-63727.html

    [Le Monde.fr] «Pretty Easy Privacy», le chiffrement automatique par défaut pour tous

    Par Yves Eudes, le mardi 26 janvier 2016. Extrait:

    Vingt-cinq ans après le PGP (Pretty Good Privacy), une équipe européenne invente le PEP, qui chiffrera tous les messages électroniques, automatiquement.

    Lien vers l'article original: http://www.lemonde.fr/pixels/article/2016/01/26/pretty-easy-privacy-le-chiffrement-automatique-par-defaut-pour-tous_4853782_4408996.html

    Et aussi:

    [Le Telegramme] Ils veulent «dégoogliser» Internet

    Par la rédaction, le mardi 26 janvier 2016. Extrait:

    Big Brother se cache-t-il derrière les géants du web? C'est l'objet des rencontres organisées jusqu'à ce soir à Brest, avec le soutien de la Ville. Parmi les invités, l'association Framasoft, qui souhaite «dégoogliser» Internet.

    Lien vers l'article original: http://www.letelegramme.fr/finistere/brest/forum/ils-veulent-degoogliser-internet-26-01-2016-10934027.php

    [Bloomberg] Get Ready for Patent Wars as IP Europe Consortium Is Unveiled

    Par Marie Mawad, le mardi 26 janvier 2016. Extrait:

    (Certains des plus gros producteurs de propriété intellectuelle forment une équipe afin de battre en faveur de règles qui les aideront à mieux monétiser l'innovation) Some of Europe’s biggest producers of intellectual property are teaming up to battle for rules that’ll help them cash in better on innovation. Telecommunications network builder Ericsson AB, plane maker Airbus Group SE, French phone company Orange SA and train maker Alstom SA are among companies behind IP Europe, a consortium due to be unveiled today in Brussels.

    Lien vers l'article original: http://www.bloomberg.com/news/articles/2016-01-26/get-ready-for-patent-wars-as-ip-europe-consortium-is-unveiled

    [ZDNet France] OS souverain: le choix Linux pour nos lecteurs

    Par la rédaction, le lundi 25 janvier 2016. Extrait:

    Les ambitions françaises de plancher sur un éventuel OS souverain pourraient s'articuler autour de l'approche libre de Linux. D'ailleurs, une version dédiée et sécurisée de l'OS est déjà proposée aux opérateurs d'importance vitale par l'Anssi.

    Lien vers l'article original: http://www.zdnet.fr/actualites/os-souverain-le-choix-linux-pour-nos-lecteurs-39831642.htm

    Et aussi:

    Lire les commentaires

  • Les dernières News de ZeMarmot (Journaux LinuxFR)

    Sommaire

    Depuis la dernière dépêche, le projet ZeMarmot continue son bonhomme de chemin.

    Du code

    Ce début d'année 2018 est particulièrement dense niveau code, puisque j'ai déjà fait 211 commits depuis la sortie de GIMP 2.9.8, le 12 novembre 2017, soit 34% des commits de la version à venir (je suis pour l'instant le plus gros contributeur de la version de développement de GIMP en cours!).
    Mon objectif est d'essayer de sortir GIMP 2.10 au plus vite (idéalement j'aimerais que cela sorte avant Libre Graphics Meeting fin avril, mais je ne suis pas sûr si on y arrivera). Malheureusement les bugs bloquants font beaucoup de yoyo: plus on les corrige, plus de nouveaux arrivent. Mais le nombre descend tout de même globalement (19 à ce jour).

    Système de debug

    En début d'année, j'ai aussi eu une "révélation", après avoir traité un énième bug sans information utile, et quasi-impossible à reproduire: on doit avoir un système de débug!

    C'est ainsi que j'ai décidé d'implémenter un tel système. Bon, je m'étais interdit de produire de nouvelles fonctionnalités, mais en l'occurrence, je crois que ça le vaut, et en un sens, c'est une fonctionnalité sans en être (son but étant surtout d'aider au débug; en soi ça n'apporte rien pour le traitement d'image ou le dessin numérique!). L'idée est donc de récupérer les informations de version de GIMP (version exacte, voire commit si build de développement, mais aussi les informations du compilateur utilisé, ainsi que les versions des dépendances principales) mais surtout de produire automatiquement une stack trace lors d'un crash, chose assez classique dans certains gros programmes. Mieux j'ai étendu cela aux erreurs critiques, et même possiblement à de simples warnings (cela est configurable, et par défaut les versions stables se limiteront aux crashs et aux erreurs critiques, mais les versions de développement remontent plus d'erreurs).

    L'idée est donc d'encourager les gens à nous remonter les erreurs (le programme ne remonte pas les erreurs automatiquement, mais inclue un texte expliquant le processus et permettant de copier toutes les infos utiles d'un seul clic).

    système de débug

    Techniquement, cela se base sur gdb, lldb, l'API GNU backtrace() pour les UNIX-like et Dr. Mingw pour Win32. J'ai aussi dû contourner les divers problèmes, comme le fait que dans un état instable de crash, l'application risque de ne pas pouvoir allouer de la nouvelle mémoire, ou la gestion du multi-threading, etc.
    J'explique cela dans une entrée de journal un peu technique sur notre site (en anglais seulement).

    J'en suis extrêmement heureux et fier car ça a déjà énormément aidé sur de nombreux bugs. Comme quoi, ça joue à rien!
    En fait ce système de débug marche si bien qu'il explique une partie du travail des deux derniers mois puisqu'on a déjà probablement corrigé une bonne quinzaine de bugs remontés avec des traces utiles dès l'ouverture grâce à ce système.
    Donc en un sens, ça nous a donné du travail, mais je le regrette pas. Ça n'en rend GIMP que plus solide!

    Sauvegarde lors de crashs

    Au passage, j'ai commencé à implémenter la sauvegarde automatique lors de crashs. Pour l'instant, la fonctionnalité est encore assez cachée (je n'ai pas encore fait de boîte de dialogue pour la récupération, etc.) mais la base est là. La GUI arrivera probablement bientôt.

    Heureusement GIMP est plutôt stable, donc ce n'est pas non plus une urgence. :-)

    Plus de journaux sur des sujets divers

    J'ai décidé de parler un peu plus des choses sur lesquelles je travaille sur notre site, Studio Girin, même lorsque cela ne parle pas de GIMP ou que cela me paraît "petit" ou "dérisoire". En effet je me suis rendu compte qu'il est important de communiquer plus pour que les gens sachent ce qu'on fait, surtout qu'on le fait en se faisant financer par le public. Or cela fait des années que l'on fait des petites choses ici ou là, pour la plupart entièrement sous silence (comme énormément de gens dans le Logiciel Libre, soyons clairs là dessus!).

    Ainsi dernièrement, j'ai parlé de la création d'un patch pour Ibus-Hangul (article en anglais aussi). Ibus-Hangul est notre entrée de clavier principale, et pendant quelques mois, la touche compose ne fonctionnait plus avec cette méthode d'entrée. Et c'était particulièrement embêtant, car je ne pouvais plus faire mes accents! Il m'est arrivé d'écrire des emails entiers avec des copier-coller de caractères accentués (quand je voulais vraiment écrire l'email avec un français propre).

    Compose Key dans GNOME

    Dans cet article, je raconte donc un peu le cheminement lorsqu'on part d'un simple constant de bug, puis un rapport de bug, qui se transforme en multiples rapports de bug. Il m'a en effet fallu 5 rapports de bugs sur divers projets, certains avec réponses, certains restés sans réponse pendant des mois, avant de simplement cibler le bon projet où le bug se produisait.
    À la fin, j'ai corrigé le bug moi-même (ce que j'espérais ne pas avoir à faire, en bon développeur paresseux, mais comme on dit: on n'est jamais aussi bien servi que par soi-même), tellement je n'en pouvais plus de ne pas pouvoir écrire mes accents et autres caractères spéciaux.

    Je pense que cet article est intéressant pour montrer comment on en arrive à patcher des projets divers (chose que je fais plutôt régulièrement) et comment cibler un problème, alors qu'on n'y connaît pas forcément grand chose dans un sujet donné.

    J'ai aussi écrit un petit journal expliquant un script utilisé pour corriger des icônes de dossier (métadonnées GIO) après déplacement (une faille du design de la fonctionnalité, selon moi).

    Icônes personnalisés dans Nautilus

    Désolé si tous mes journaux techniques sont en anglais, mais des fois, c'est fatigant d'écrire la même chose dans de multiples langues.

    De la maintenance

    Dans les autres projets pour faire avancer GIMP, nous avions besoin d'avoir un paquet des brosses MyPaint. En effet la version de développement de GIMP a depuis quelques temps la prise en charge du système de brosse de MyPaint.

    Malheureusement, si le système de brosse est bien dans une bibliothèque séparée, libmypaint (un projet d'indépendance que j'avais aidé à l'époque), les brosses sont fournies avec le logiciel MyPaint lui-même. Or sans brosse, le système de brosse est un peu inutile, et cela faisait donc en quelque sorte de MyPaint une dépendance de-facto de GIMP.

    Bien sûr, il est possible d'embarquer aussi ces mêmes brosses dans GIMP. C'est notamment la solution adoptée par OpenToonz apparemment. Mais de même que ce genre de choses est déconseillé pour une librairie, cela l'est pour les données. La duplication ne profite à personne: le set de données n'est plus synchronisé entre logiciels, si un bug est corrigé dans l'un, il ne l'est pas forcément dans les autres; si on ajoute une brosse dans l'un, elle n'est pas forcément disponible ailleurs non plus, etc. Imaginez si on devait dupliquer ces mêmes données dans GIMP, MyPaint, OpenToonz et tout autre projet utilisant libmypaint?!

    J'avais donc ouvert une pull request depuis plus de 2 ans sur le projet MyPaint, avec la création d'un dépôt séparé pour les brosses, et les patchs pour l'utilisant dans MyPaint. J'ai suivi toutes les demandes de changement, et globalement les développeurs actifs comme le mainteneur sont pour ce changement. Mais la maintenance de MyPaint semble avoir un peu ralenti ces derniers temps.
    Comme on a vraiment besoin de ces brosses dans GIMP, j'ai donc pris sur moi de maintenir pour l'instant ce dépôt de données, mypaint-brushes, ce que j'explique dans une autre entrée de journal. Ce fut l'une de mes premières actions de 2018.
    Bien sûr, je n'attends qu'une chose: que le projet MyPaint me prenne le bébé des bras et s'en occupe eux-même au final!

    À terme, je pense que cela ne peut qu'être bénéfique à MyPaint, GIMP et à tout projet utilisant libmypaint de se baser sur un paquet partagé de brosses que l'on pourra tous améliorer ensemble. J'enjoins donc les autres projets qui prennent aussi en charge les brosses MyPaint à utiliser ce paquet (et notamment à ne surtout pas embarquer une copie des brosses qui divergera seule avec le temps!).

    De la collaboration

    J'en reparlerai sûrement quand cela aura donné un changement concret dans GIMP, mais Americo Gobbo, un illustrateur professionnel utilisant GIMP, travaille sur de nouvelles brosses pour le set de base de GIMP. Pas seulement les siennes, mais aussi réunir diverses brosses libres de divers artistes.

    C'était un projet que nous lui avions soumis, il y a déjà un an, lorsque nous l'avions invité lors du Libre Graphics Meeting 2017, car il est extrêmement intéressé par les brosses de GIMP.

    Avec Aryeom, nous allons donc l'aider à finaliser ce set et à obtenir un compromis acceptable pour le renouveau des brosses de bases (les styles divergent, et les créateurs ne cherchent pas tous la même chose; il ne s'agit donc pas de juste rajouter le maximum de brosses sans bien réfléchir à leur utilité).

    Un stagiaire FSF

    Assez inattendu, un stagiaire FSF nous est tombé dessus l'autre jour.
    J'ai trouvé le projet intéressant et ai donc commencé à discuter avec ce dernier, puis avec les gens de la FSF et ai finalement accepté d'être son mentor du côté GIMP. Je lui ai donné une première tâche parmi les quelques bugs bloquants restants (un des rares bugs que je pense être faisable par un étudiant stagiaire; la plupart sont simplement soit de niveau trop compliqué, soit nécessite pas mal d'expérience; ensuite bien sûr cela dépend aussi de la personne!).

    Depuis ce week-end, je gère donc un stagiaire FSF pour une durée de 3 mois sur le projet GIMP!
    C'est encore tout neuf, j'en reparlerai donc probablement.

    Et des images!

    Une animatrice en live

    Les oiseaux volent aussi le vendredi

    De son côté, Aryeom continue aussi ses lives réguliers. Si vous êtes intéressés par le sujet "Comment fait-on un film d'animation?", je ne saurais que trop vous conseiller de vous inscrire sur notre chaîne Youtube pour être mis au courant des lives, qui peuvent être souvent assez impromptus.

    Oh hisse
    ZeMarmot fait-il de la Gym?

    ZeMarmot-s
    Pourquoi y a-t-il 2 ZeMarmot(s)?

    D'autres projets à côté

    Simwoool couverture

    Comme toute illustratrice, Aryeom a aussi besoin de dessiner d'autres choses, et s'entraîne quasi-quotidiennement à dessiner. Depuis 2016, elle publie notamment des dessins avec une autre amie illustratrice, Da Jung, sur le web: projet #Simwoool. Bien sûr, toutes les illustrations d'Aryeom sont libres (CC by-sa) et dessinées sous GIMP principalement (lorsque numérique).
    Attention aussi bien la licence que les logiciels ne sont pas les mêmes pour son amie. Ne pas confondre si vous tombez sur des images du projet Simwoool et souhaitez les rediffuser, car la moitié sont en CC by-nc-sa. Seules celles d'Aryeom sont en CC by-sa et dessinées avec du Logiciel Libre.

    Cette année, elles ont donc décidé de mettre leurs illustrations du projet dans un petit livre (non commercialisé). Aryeom a fait la mise-en-page dans Scribus bien entendu et elle a imprimé et fait la reliure elle-même (chose qu'elle avait déjà faite de nombreuses fois, et sérieusement son livre a l'air aussi bien que les livres du commerce!) selon la technique de "perfect binding" (pas sûr du terme français).
    On se dit d'ailleurs qu'un jour on pourrait faire un atelier de reliure de livre à l'association LILA si cela intéresse des gens!

    Dessin d'Aryeom
    Autre dessin d'Aryeom

    Geek Faëries on the web

    Fin janvier, nous avons aussi participé aux Geek Faëries on the Web. Aryeom a fait une démo live d'animation ZeMarmot, comme on le fait habituellement.
    Voici le bout d'animation rough fait par Aryeom pendant cette démo:

    Animation durant Geek Faëries

    Puis Aryeom a terminé par un speedpainting de remerciement. On s'est dit que les gens de Geek Faëries aimaient les dragons, donc voici le résultat du SpeedPainting, 15 min dans GIMP:

    15 min speed painting

    De mon côté, j'ai surtout parlé et répondu à des questions pendant la démo.
    Cela s'est globalement bien passé même s'il y a eu des problèmes techniques (ils espéraient nous faire utiliser Skype ou autre solution propriétaires, les pauvres! À la place, on a réussi à leur faire recevoir le flux vidéo de notre solution libre OBS). Et encore, on était troisième sur le planning "libriste", mais le premier a dû être annulé, tout simplement! Donc on s'estime heureux d'avoir pu être diffusé malgré les quelques problèmes qui ont généré plusieurs coupures pendant la démo.

    On ne sait pas trop quand et s'il y aura des enregistrements.

    Et voilà!

    C'est donc une année qui commence à peine. Nous n'en sommes qu'à la fin du deuxième mois. Mais tant de choses se sont déjà passées et tant de choses ont été faites. C'est vraiment une année qui peut être charnière. On l'espère en tous cas.

    Et on veut donc vous rappeler que vous pouvez donner à ZeMarmot pour nous aider à continuer! Que ce soit pour le code majeur dans GIMP, comme des patchs mineurs dans d'autres logiciels (comme je l'ai montré), ou pour de l'Art Libre, ou simplement un peu "d'éducation populaire" et autre passage de connaissance, vous pouvez contribuer financièrement pour nous permettre de continuer.

    ZeMarmot a encore et toujours besoin de vous pour continuer son voyage graphique et logiciel!

    Nous sommes désormais disponible sur Liberapay, qui commence à être une plateforme qu'on apprécie beaucoup (gérée associativement, sans frais de plateforme, et d'une simplicité reposante).
    Sinon on est bien sûr toujours disponibles sur Tipeee et Patreon.

    Il existe d'autres moyens de donner, que ce soit par virement bancaire ou chèque à l'association LILA, Paypal direct ou même en bitcoin (tout est sur la page de donation du projet ZeMarmot).

    Voilà, en espérant que vous pouvez nous aider si vous appréciez notre projet, et bien sûr si vous pouvez vous le permettre.
    Dans tous les cas, je vous souhaite une bonne semaine.
    Et puisqu'on vient à nouveau, et tout juste, de passer un autre type d'année, l'année lunaire, je vous souhaite une bonne année du chien!

    Bonne année du chien

    Lire les commentaires

  • Plugin FusionInventory pour GLPI version 9.1+1.0 (Dépêches LinuxFR)

    Le plugin FusionInventory pour GLPI est sorti en version majeure 9.1+1.0. Cette version est compatible avec GLPI 9.1.1 (pas la 9.1 dû à un bug dans la version). Pour mémoire, FusionInventory est projet libre de gestion du parc informatique : il s'agit d'un outil permettant de réaliser des inventaires locaux et/ou distants des ordinateurs, des matériels réseau et des imprimantes.

    logo FusionInventory

    Petit rappel des fonctionnalités de FusionInventory

    • Inventaire des ordinateurs avec un agent installé dessus (Windows, macOS, Linux, *BSD, AIX, Android…) ;
    • déploiement de logiciels sur les ordinateurs (P2P, serveurs mirroir…) ;
    • découverte du réseau, scan du réseau pour trouver les matériels connectés (NetBios, SNMP…) ;
    • inventaire réseau, inventaire via SNMP des switchs (information standard, ports, connexions sur chaque port) et imprimantes réseau (information standard, état des cartouches, compteurs d'impression) ;
    • collecte d'informations sur les ordinateurs (base de registre, WMI, recherche de fichiers) ;
    • Wake-on-LAN (réveil des ordinateurs grâce à un autre ordinateur, ce qui permet de passer les routeurs).

    Les nouvelles fonctionnalités sont :

    • Nouvelle gestion des informations du système d'exploitation :
      • architecture (32 bits, 64 bits, …) ;
      • système d'exploitation (Windows, Debian, FreeBSD, …) ;
      • version de l'OS (XP, 7, 6.4, …) ;
      • nom du noyau (MSWin32, Linux, …) ;
      • version du noyau (6.1.7601, 3.18.34, …) ;
      • service pack ;
      • édition (professionnel, serveur standard, …) ;
    • gestion du système d'exploitation dans les logiciels ; par exemple, on peut avoir deux logiciels avec le même nom, un pour Windows et un pour macOS ;
    • informations des logiciels d'accès distant, par exemple, on gère l'ID de teamviewer ;
    • nouvelle option dans la gestion des tâches, on peut ne pas replanifier la tâche si la dernière exécution a été réalisée avec succès ;
    • simplification de la gestion des paquets de déploiement (fusion des onglets installation et déinstallation) ;
    • déploiement en mode self-service : l'administrateur / technicien crée un paquet que l'utilisateur peut installer lui-même sur son PC même s'il n'est pas administrateur de son ordinateur ;
    • ajout de la date d'installation d'un logiciel dans la fiche d'un ordinateur ;
    • amélioration de la sécurité (filtrage de tous les GET et POST).

    Lire les commentaires

  • Install party pour Smartphones à Lille (Journaux LinuxFR)

    Chers amis (et les autres aussi),

    Ça fait quelques années que je ronchonne au sujet des smartphones sans agir. Sapu sépalibre, c’était mieux du temps du Moko etc.
    Mais le temps passe, firefox OS trépasse, Unity aussi, la cause recule et je ne me suis même pas battu. Je culpabilise.

    Alors, même si c’est un combat d’arrière garde, avec les copains à Chtinux, on va lancer des installs partys spécialement pour Smartphones.

    On y connaît rien, on a jamais flashé nos téléphones, on utilise à peine F-Droid, mais on trouve l’aventure d’autant plus excitante !

    On fait une édition 0 ce mardi soir au Blender Lab à Lille

    Plus d’infos sur le site de Chtinux : http://www.chtinux.org/install_party_gsm_0_avril_2017

    Lire les commentaires

  • Debian sur mon serveur plus jamais, de chez jamais. (Journaux LinuxFR)

    Sommaire

    Bonjour journal,

    J'aime bien lâcher des pavés sur Internet.
    Déjà ça me sert d'exutoire pour extérioriser ma frustration, ensuite ça permet également d'échanger et d'avoir vos avis qui je dois le dire sont loin d'être toujours inintéressants.

    Depuis que j'ai découvert FreeBSD il y a maintenant 4 ou 5 ans, je ne me sers plus que ça en environnement serveur à la maison et je ne comprends même pas qu'on puisse installer des trucs de bricoleurs comme Debian, qui est tout sauf un truc à mettre en entreprise

    De façon subjective je vais tâcher d'expliquer pourquoi je trouve que FreeBSD c'est mieux que Debian lorsqu'on veut poser une machine pour des années (ou d'autres d'ailleurs), distribution de branleurs à réserver aux Facultés et autres associations pour bidouilleurs et certainement pas des informaticiens qui aiment les choses qui tournent longtemps. (J'écris comme je l'entends ici c'est mon journal).

    Je ne m'attarderais pas sur les détails de l'aspect licencing, GNU/BSD y a déjà eu moult journaux de spécialistes à ce sujet, et ce n'est pas mon propos.

    Honnêtement GNU/Linux je trouve que c'est le bordel d'une version à l'autre y a rien qui est pareil.

    Je dis Debian mais RedHat sérieusement c'est pas mieux.

    La gestion du multipathing pour utiliser un exemple d'une fonctionnalité "pro", d'une version à l'autre c'est un sketch tout change faut tout réimplémenter la grosse blague. Je ne parle pas de l'arborescence du système de paquets…

    La découverte :

    C'était il y a 4 ou 5 ans. Comme beaucoup j'utilisais fièrement une distribution GNU/Debian, une nouvelle stable veinaient de sortir, j'étais plein de motivations, je faisais mumuse à l'époque avec OpenVZ que je trouvais sympathique, j'avais bien rodé mon système de backup/resto (très important et très long à valider), comme quelqu'un qui aime la stabilité dans le temps et les choses bien huilées, j'aime bien poser des choses qui sont conçus pour durées des années sans devoir y faire des opérations trop lourdes. Et clairement j'ai pas l'impression que ça soit la philosophie des distributions GNU.

    Debian 8.0 vient d'arriver là niveau "virtualisation" (Note les guillemets je sais que LxC/KVM/OpenVz tout ça c'est pas du tout la même chose hein merci) c'est le bordel. LxC est encore version 0.x, Docker n'existe pas encore je crois, se pointe et je n'ai plus l'explication technique détaillée mais en gros fallait downgrader son noyau < 3.0 sur les nouvelles Debian pour pouvoir continuer à Utiliser OpenVz (Compatibilité Cgroups de mémoire).
    Pardooooooooon, tu te fous de ma gueule ? Donwgrader un noyau t'en as d'autres des comme ça ? C'est quoi cette bidouille ? En gros j'utilise quoi moi pour être tranquille pour 10 ans ?!!

    Bon on essaie Ubuntu Serveur pour rigoler LxC a l'air plus mature chez eux, je teste un peu … bon ça a l'air prometteur, hop je fais une p'tite mise à jour de mon OS et PAN :

    Allez hop au revoir toute cette merde !

    Dat Documentation :

    On commence par poser là l'argument qui a lui seul devrait vous convaincre que y a deux mondes.
    La documentation EST béton, d'entrée de jeu ça rassure, et moi j'aime les choses carrés fignolées et surtout documentées !

    Là on ne cherche pas sur des wordpress de blogueurs douteux, là on va ici :
    https://www.freebsd.org/doc/fr/books/handbook/ et ça couvre 90% de nos questions, pour le reste on s’inscrit sur le forum FreeBSD.

    La base n'est pas mélangée avec les paquets.

    Tu vois comment on met à jours sous Debian apt-get install et ça te met tout à jour logiciels tiers et noyaux + base système, quel truc de bourrin.

    Sous FreeBSD, ce sont deux choses différents.

    Le système de paquets pkg ne met à jour QUE les logiciels et ne touche pas à la base et au noyau, pas besoin de reboot ensuite (de toutes façons toutes tes applications tournent en Jails).

    Pour mettre à jour la base c'est une autre commande bien distincte.
    freebsd-update fetch
    freebsd-update install

    Un problème après la mise à jour système ?
    freebsd-update rollback , mon ami.

    Pour rassurer ceux qui j'imagine que les repositories FreeBSD sont un comptoir marchand Soviétique, je n'ai jamais été obligé d'installer quoique ce soit par les sources, j'ai toujours tout trouvé dans les packets, et souvent bien plus à jour que sous Debian (CentOs et Red Hat j'en parle même pas p'têt d'ici 2035 on aura PHP 7)

    Packet-Filter, encore un logiciel qui fait passer IPtable pour un firewall Windows.

    Quand t'as commencé à toucher à Packet Filter tu te demandes comment IPtable encore être autant plébiscité …
    Obligé de mettre des Fails2Ban et autres trucs de rigolos pour empêcher le brut Force SSH, obligé d'aller lire des logs quelle blague … Installé un module supplémentaire pour blacklister des plages d'IP … mais c'est quoi toutes ces verrues, des rustines partout … ça devient tellement fatiguant ..

    Moi je rajoute quelque chose comme ça :

    # Block SSH bruteforce
    pass in on $ext_if proto tcp from !<whitelist> to $ext_if port 22 \
            flags S/SA keep state \
            (max-src-conn-rate 3/60, \
             overload <blacklist> flush global)
    

    Et ça suffit largement, pas besoin de bidouilles partout, Note qu'ici nous seulement ça empêche le brut force (si plus 3 tentatives dans les 30 secondes), et en plus ça ne passe que si de toutes façons l'IP source fait partie d'une table whitelist, et ça remplit une autre table Blacklist lorsque l'IP déclenche la règle.

    Non laisse tomber IPtable sait pas faire ça.

    La configuration.

    Sous FreeBSD y a globalement un fichier à connaitre il s'agit de /etc/rc.conf fin de discussion.

    Tu veux démarrer un service en auto, activer une fonctionnalité noyau, démarrer tes Jails au boot, ajouter ssh au boot, configurer ton réseau, ajouter des interfaces réseaux virtuelles ?

    vi /etc/rc.conf
    ifconfig_lcn0_alias0="192.168.1.5 netmask 255.255.255.255" 
    sshd_enable="YES"
    hostname="MaMachine"
    pf_enable="YES"
    jail_enable="YES"
    

    Et ce depuis FreeBSD hum … le début non ?

    Comment on fait sous Debian ou Red Hat déjà ?
    Ha ouiiiiiiiii ça dépend de ta version évidemment .. un coup c'est avec sysv-rc-conf , l'autre c'est avec update-rc.d quand c'est pas /etc/rc.conf … ha merde j'suis sous RedHat c'est avec chkconfig

    Non mais t'appelle ça du boulot toi ? T'es sérieux là ?

    Lire les commentaires

  • Moore a rejoint le "Saint" (Journaux LinuxFR)

    Bonjour,
    l'acteur Roger Moore, né en 1927, plus connu pour ses rôles de James Bond, Lord Saint Clair et le Saint, et aussi ambassadeur de l'UNICEF est décédé d'un cancer.
    RIP Roger
    Bonne fin de journée

    Lire les commentaires

  • Un décalage de 64 bits, ça vous inspire comment ? (Journaux LinuxFR)

    Salut à tous,
    après l'excellent journal d'Anaseto sur le fameux "1+3a", un pote à moi, prof de maths à L'INSA de Rouen, m'a demandé de faire ce petit journal après une "découverte" faite par ses étudiants.
    Ceux-ci écrivant des tests unitaires en Free Pascal sont tombés sur un comportement non documenté qui nous a amené à nous poser la question du "comment ksa fait sur les autres langages" :)

    Le problème

    Le problème vient de l'opérateur de décalage de bits à droite.
    Si je prend un entier initialisé à 1, le décalage d'un bit vers la droite retourne 0. Si l'on décale de 2 bits, on s'attend à avoir 0… Et c'est toujours le cas.
    Par contre, le code suivant ne retourne pas 0

    program beBitwise;
    var
    a, b: integer;
    
    begin
       a := 1;
       b := a >> 64; (* la, on s'attend normalement à obtenir un 0 *)
       writeln('Valeur de b ', b );
    end.

    Le code retourne 1 à savoir a.

    Si l'on remplace 64 par 63 ou 65, on obtient bien 0.
    Bien sûr, sur une machine 32 bits, on obtient le même comportement avec un décalage de 32 bits.

    Si le comportement peut s'expliquer, le fait que le compilateur ne prévienne pas du risque et qu'aucune documentation ne le spécifie est un poil gênant.

    Résultat, les étudiants sont en train de remplir un rapport de bug pour Free Pascal, ne serait-ce que pour que le comportement soit documenté quelque part.

    Et chez les autres ?

    En C/C++

    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char** argv)
    {
      unsigned long long a = 1;
      unsigned long long b = a << 64;
      cout << "b vaut " << b << endl;
    }

    Au moins, le compilateur GCC nous prévient du problème en affichant le warning si on travaille en statique

    shift.cpp: In function ‘int main(int, char**)’:
    shift.cpp:8:31: warning: left shift count >= width of type [-Wshift-count-overflow]
    unsigned long long b = a << 64;
    Dans le cas où c'est l'utilisateur qui rentrerait le décalage à l'exécution, il n'y aurait aucun message… Logique !

    En Java

    public class Shift
    {
        public static void main(String[] args)
        {
        int a = 1;
    
        System.out.println("Resultat : " + (a >> 64));
        }
    }

    Même punition et surtout pas de warning.

    En Ada

    Vous n'y couperez pas, je vais forcément donner un exemple en Ada

    with Interfaces; use Interfaces;
    with Ada.Text_Io; use Ada.Text_Io;
    
    Procedure Shift is
    begin
       Put_Line("Resultat " & Unsigned_64'Image(Shift_Right(Unsigned_64(1), 64))); 
    end Shift;

    Là, pas de message d'erreur ni de warning mais au final pas d'erreur non plus, le résultat est bien 0.

    En OCAML

    Il s'agit juste d'une ligne de commande dans l'interpréteur:

    # open Int64;;
    # shift_right one 64;;
    - : int64 = 1L
    #

    J'avoue que je ne m'attendais pas à ce résultat mais OCAML retourne lui aussi 1 en lieu et place de 0.

    En Python

    >>> 1 >> 64
    0

    Ce qui est normal pour un langage typé canard ;)

    Que disent les docs ?

    Le reproche que l'on peut faire à Free Pascal, c'est justement de ne rien dire quant à ce fonctionnement.
    Par contre, si l'on prend OCAML, la documentation du module Int64 précise que le comportement est non spécifié.

    val shift_right : int64 -> int -> int64
    Int64.shift_right x y shifts x to the right by y bits. This is an arithmetic shift: the sign bit of x is replicated and inserted in the vacated bits. The result is unspecified if y < 0 or y >= 64.

    Si on prend les deux langages normalisés, à savoir C++ et Ada, la documentation est claire.
    Pour C++, dans le draft de la prochaine norme, page 126, le comportement est implementation defined.

    Pour Ada, il n'y a aucune restriction et la norme ne fournit donc que les exigences d'implémentation.

    Voilà pour les langages que j'ai eu envie d'explorer.
    Et vous, votre langage préféré, il fait quoi ?

    Lire les commentaires

  • Et vous, vous voulez qu'elle fasse quoi votre voiture autonome ? (Journaux LinuxFR)

    Dans cet article :

    Rinspeed a pensé son véhicule pour un usage partagé, avec également un tiroir arrière pour transporter du courrier ou des livraisons pour des tiers.

    Ça, moi j'aimerais que ça puisse aller chercher tout seul mes colis à la poste pendant que je suis au bureau parce que ça fait trois fois de suite que le facteur passe en laissant un papier alors même que j'étais chez moi (et qu'on m'a dit que si je n'étais pas content il fallait déposer une plainte en bonne et due forme au guichet).

    Ça rendrait aussi la vie plus facile aux facteurs non ?

    Ça peut aussi faciliter les déménagements, etc etc … Arf … Finallement c'est peut-être pas une idée aussi bonne que cela.

    Lire les commentaires

  • Le LUKS, version 2 (Journaux LinuxFR)

    Bon alors, les crypto-nerds, vous êtes plus flemmard que moi ?

    Cryptsetup 2 est sorti

    Euh, bon, je met vite fait ce que j'ai vu :

    • Nouveau format LUKS2, que l'on peut (la plupart du temps) mettre à jour depuis LUKS1
    • LUKS1 sera supporté pour toujours
    • LUKS2 sait faire de l'intégrité. Attention, c'est encore expérimental
    • Support de chiffrement de mot passe plus résistant à la force brute (genre coûteux en mémoire) avec PBKDF et Argon2
    • Options de montage persistantes dans les en-têtes. Comme tune2fs. Je crois que ça va être bien.
    • Il est possible (si j'ai bien compris), de dire à cryptsetup de stocker un jeton pour dire de trouver le mot de passe tout seul dans un gestionnaire de clés. C'est pas clair pour moi non plus, parce que j'ai lu en diagonale.
    Bonus
    • Y a du JSON dedans. C'est très hype (mais surtout extensible)

    Voilà, c'est très résumé. Parce que je suis tellement flemmard que je dois le répéter deux fois.

    Lire les commentaires

  • Des sonneries de téléphone en morse (Journaux LinuxFR)

    Vous avez envie de vraies sonneries de mobile personnalisées ?

    Faites les en morse !

    « Tata tita tata tita tati », ça sonne mieux que « maman » non ?

    Ça tient en deux programmes :

    • txt2mrs qui convertit du texte en code morse,
    • mrs2snd qui convertit du code morse en fichier wav.

    On peut les trouver là : https://framagit.org/mabu/txt2snd/

    En C, la seul dépendance est libsndfile, donc ça devrait se compiler sur une majorité de système.

    Lire les commentaires

  • Mise à jour des pages de manuel pour Ubuntu 10.10 (Linux Certif)

    J'ai récemment reçu un email sympa sur la fonctionnalité "Pages de manuel" du site. Suite à cela et à la récente mise à jour 10.10 de Ubuntu, j'ai décidé de prendre le temps nécessaire pour importer les nouvelles pages de manuel.

    Les pages de manuel n'avaient pas été mises à jour depuis environ un an. À ma grande surprise, énormément de nouvelle page ont été introduite. Quelques exemples de nouvelles pages:

    Au total, ce n'est pas moins de 37325 pages qui ont été importé (toute langues confondues et y compris les mises à jour de pages existante). J'espère que ça aidera quelqu'uns d'entre vous :)

  • Mon premier projet open source (Journaux LinuxFR)

    Salut les moules,

    Après des années passées à être simple utilisateur du libre, j'ai décidé de passer le cap et de rembourser un peu ma dette infinie envers le libre.

    Pour les plus pressés, c'est ici que ça se passe.

    Le concept? J'en avais marre de faire du port-forwarding avec mes conteneurs Docker. Du coup j'ai décidé de d'implémenter un serveur DNS qui résout les noms des conteneurs.

    Bon ok c'est pas grand chose, mais c'est un début. Si je vous parle de ça, c'est surtout pour soumettre le projet à la critique de la communauté (et je sais qu'ici les gens sont plutôt exigeants). N'hésitez pas à aller jeter un oeil dans le code, c'est pas compliqué (enfin je ne pense pas) et ça ne fait que 150 lignes.

    Merci à toutes les bonnes âmes qui me feront des critiques constructives :)

    Lire les commentaires

  • La sortie de KDE 4.3 est proche (Linux Certif)

    La troisième release candidate de KDE 4.3 vient de sortir.

    KDE 4.3 amènera moins de fonctionnalités de les deux précédente version de KDE car les développeurs se sont concentré à améliorer encore les performance et la stabilité.

    Les responsables de l'assurance qualité de KDE viennent de décider de realiser une version release candidate supplémentaire afin de tester convenablement quelques changement récent.

    La sortie de KDE 4.3 est donc retardée de une semaine, si tout ce passe bien elle arrivera donc le 4 aout.

  • Lister rapidement les liens d'une page web (Journaux LinuxFR)

    Il y a quelques jours je suis tombé sur une page web cul-de-sac. Pas un rongeur pour se la rat-comté.

    J'ai donc tenté une inspection du HTML pour tenter d'y voir plus clair, et là j'me suis dit qu'une petite formule de JavaScript me donnerait une réponse limpide quant à la présence de lien dans la page :

    javascript:document.querySelectorAll('a').forEach(console.log)
    Ça rentre à l'aise dans un marque page, et ça peut dépanner. En plus l'affichage est celui, enrichi, des nœuds HTML dans la console de Firefox. Évidemment, ça marche pour l'importe quelle balise citée dans le querySelectorAll : img ? link ?

    J'ai ajouté la formule à mon http://www.grimoire-command.es/post/2018/List-web-page-links-in-Firefox

    Lire les commentaires

  • Seymou Papert bronsonnisé (Journaux LinuxFR)

    Hello,

    Ça m'a filé un coup : je viens d'apprendre le décès de M. Seymour Papert, mathématicien, informaticien et éducateur et co-inventeur du langage Logo.

    Je crois bien que c'est la toute première personnalité du monde de l'informatique dont j'ai appris et retenu le nom, vers la fin des années 80.

    J'ai lu ça par hasard sur le site du journal Le Monde.

    Extrait :

    L’informaticien sud-africain Seymour Papert, co-créateur du langage de programmation « logo », est mort dimanche 31 juillet aux Etats-Unis à l’âge de 88 ans, a annoncé la Fondation logo. M. Papert était l’un des inventeurs de ce langage de programmation simplifié, destiné à enseigner les bases de la programmation aux enfants, et qui a connu un vif succès dans les années 1980.

    L'article complet : Mort de Seymour Papert, co-créateur du langage de programmation « logo »

    Sa fiche Wikipedia

    Lire les commentaires

  • Bienvenue à la troisième portée de chatons (Dépêches LinuxFR)

    Le Collectif des hébergeurs alternatifs, transparents, ouverts, neutres et solidaires est heureux d’annoncer ce 7 juillet 2017 que la troisième portée a donné naissance à neuf nouveaux Chatons.

    Photos de chatons en train de têter

    Cette portée est très hétéroclite, que ce soit dans la forme des chatons (cela va du père de famille au service commercial) et dans le choix des services proposés.

    Galilée (Éclaireuses Éclaireurs de France)

    La commission communication interrégionale des Éclaireuses Éclaireurs de France (« scouts laïcs ») « éclés » de Bretagne, Rhône‐Alpes, Provence et Midi‐Pyrénées, propose le serveur Galilée qui permet aux adhérent·e·s d’utiliser des services basés sur des logiciels libres et respectueux des utilisateurs. Les services proposés concernent essentiellement le courriel (boîtes, listes et annuaire) et des outils collaboratifs (wiki, pad, partage de fichiers, etc.).

    Tila.im

    Tila.im est un simple serveur qu’un utilisateur met à la disposition de ses connaissances. Il s’agit d’un projet plutôt personnel, mais qui a bien compris l’idée de s’approprier les services plutôt que de les sous‐traiter à des sociétés centralisatrices.

    Outils‐Conviviaux

    Outils‐Conviviaux est un jeune hébergeur associatif qui s’inscrit dans une démarche d’appropriation des technologies qui ne devraient pas être abstraites et gérées par des experts lointains mais proches et personnelles.

    Le Retzien libre

    Le Retzien libre est une association qui est dans la démarche à laquelle se comparent souvent les Chatons, celle d’une « AMAP informatique ». L’association se propose de fournir des services (messagerie, agenda, sondage, stockage) aux habitants du pays de Retz, avec une vraie envie de faire vivre un usage numérique local.

    3hg

    Le collectif 3hg est un groupe de Libristes qui ont envie de produire des technologies ensemble sans entrer dans des collectifs existants (si ce n’est celui des Chatons, qui est plus un label qu’un directeur technique). Pour le moment, il fournit des services chiffrés (courriel, pastebin, clavardage) et un accès via un service caché Tor à l’ensemble des services.

    Boblecodeur

    Boblecodeur est une association qui a pour but de proposer des services informatiques libres et ouverts à tous afin d’aider les professionnels et particuliers dans leur développement informatique et Internet. Il s’agit d’un des rares Chatons ayant une activité commerciale et qui tente de trouver un modèle économique dans le service Internet compatible avec les valeurs des Chatons.

    Picasoft

    Picasoft est une association étudiante de l’Université de technologie de Compiègne qui a une activité libriste consistant à fournir des service gratuits (outils et hébergement) à tous les publics (grand public, administrations et entreprises privées) et à sensibiliser et former les utilisateurs aux enjeux associés.

    pbr18

    pbr18 est un très sympathique projet qu’un père de famille a lancé avec son fils de 14 ans pour monter une infrastructure technique basée sur du logiciel libre capable de proposer un hébergement de sites Web. Le Chaton est toujours en cours de gestation, mais la candidature a emballé le collectif. Il prévoit déjà trois formules de service selon les compétences techniques des utilisateurs.

    Vincent‐Xavier Jumel

    Vincent‐Xavier est un particulier auto‐hébergé qui se propose de partager son infrastructure avec sa famille et quelques collègues.

    Lire les commentaires

  • J'ai acheté une imprimante 3D (presque open source) à 150€ (Journaux LinuxFR)

    Ce journal fait suite à un autre journal que j'ai écrit il y a 3 ans.
    Durant ces 3 ans, je me suis servi de mon imprimante, principalement pour réaliser des pièces que je modélise (pour réparer quelque chose, pour créer un mur virtuel pour mon Roomba, pour créer un jeu, etc.)

    Une imprimante à moins de 150 € ?

    Finalement, en trois ans, dans le monde de l'impression 3D, peu de choses ont changées, les modèles sont toujours principalement sur Thingiverse, leur design n'a pas beaucoup est souvent le même, on imprime toujours principalement avec du PLA.
    Mais, depuis quelques mois, on peut trouver des imprimantes à moins de 150€ qui fonctionnent très bien. Pour exemple, j'ai moi-même acheté une Ender-2 à 145€. Je l'ai monté en 2 heures et elle fonctionne très bien sortie de boite.
    Un autre exemple si vous voulez une surface d'impression plus grande, mais qui demande sans doute plus de temps et de mise au point, à 122€ ! Et il y a régulièrement des promotions à encore moins cher !
    C'est sûr que ce n'est pas du top niveau, mais à mon avis, pour commencer, c'est juste parfait.
    Donc, il est possible que la lente révolution de l'impression 3D est entrée dans une autre phase, celle de la démocratisation.

    Et l'open source la dedans ?

    Aujourd'hui, que vous achetiez l'une ou l'autre machine évoquée ci-dessus, presque tous les composants (moteurs, carte électroniques, visseries, roulements) utilisés pour la construire sont trouvables très facilement. Cela, c'est grâce au mouvement Reprap, beaucoup de machines avec beaucoup de solutions techniques ont été expérimentées, les meilleures sont restées et du matériel trouvable facilement a été utilisé.
    Ainsi, la ender-2 que j'ai acheté pourra assez facilement être réparée avec la smartrap achetée il y a 3 ans.
    Pour moi, les imprimantes 3D sont une grande victoire pour l'open source et prouvent que ce modèle est vraiment très bon. Imaginez un instant le même modèle pour une imprimante classique, pour une machine à laver ou un lave vaisselle…

    Conclusion

    Et bien je pense que les trois années à venir vont être différentes des trois années précédentes. Le nombre d'imprimantes 3D vendues risque bien d'exploser si l'on passe sous la barre des 100€ pour une machine, et, à partir de là, tout l'écosystème va également grandir avec de plus en plus de choses intéressantes à réaliser.

    Lire les commentaires

  • Bref, j'ai créé une bibliothèque Rust et un moteur iBus (et je cherche comment les empaqueter) (Dépêches LinuxFR)

    Tiré du journal d'Allan Simon qui donne un exemple de bibliothèque en langage Rust et comment créer des bibliothèques Rust appelables :

    Pour le décideur pressé, j'ai écrit:

    • une bibliothèque en Rust, compatible ABI C (c-à-d un joli .so et .h) pour manipuler du pinyin : librustpiniyn ;
    • un moteur iBus pour taper chinois en précisant les tons, utilisant la bibliothèque du dessus : ibus-pinyintone ;
    • un ensemble d'exemples sur comment créer des bibliothèques Rust appelables comme si c'était une lib C : ffi-rust.

    Et je me demande comment je pourrais empaqueter les deux premiers dans un joli .deb qui va bien.

    Sommaire

    Contexte

    Tu as sûrement entendu parler de Rust, ce nouveau langage de programmation hype, tellement hype qu'il n'est pas encore stable, écrit par Mozilla.

    Les promesses de Rust qui m'ont séduit :

    • (quasi) sans-runtime : rien ne se passe dans votre dos, possibilité de distribuer des binaires compilés depuis Rust sans devoir faire installer à l'utilisateur une JVM de plus ;
    • langage compilé : si vous pouvez lancer le binaire il y a peu de chances que ca plante dans les 2 premières secondes parce que vous avez fait une coquille ;
    • langage fortement typé avec déduction automatique des types : le beurre et l'argent du beurre, pas d'arguments qui sont parfois des entiers, parfois des chaines de caractères car votre collègue incompétent a parfois fait le parseint avant, parfois après, parfois pas, tout en n'ayant pas besoin de préciser le type à chaque fois que c'est évident ;
    • possibilité d'être compatible avec l'ABI C ;
    • une librairie standard très complète (des primitives pour faire du code multi-tâches, un décodeur json intégré, que du bonheur)  ;
    • des structures et des traits, pas d'héritage ;
    • possibilité de faire les choses de manière fonctionelle (closure etc.) ;
    • performance qui rivalise avec C++ (tout du moins à terme, mais c'est déjà plus ou moins le cas) ;
    • un compilateur très strict avec des jolis messages d'erreurs très lisibles ;
    • une communauté vibrante (merci #rust sur IRC) ;
    • un système de build et de gestion de dépendances simplissime (cargo build et c'est bon).

    Bref, du coup je me suis dit que ce langage serait parfait pour moi qui aime le C++ (surtout depuis C++11) et Python, en gros le meilleur de ces deux mondes réunis.

    J'ai donc écrit pendant mes vacances, avec l'aide d'un ami, une bibliothèque Rust pour convertir du pinyin, qui est en gros la transcription phonétique standardisée en alphabet latin du Chinois mandarin, en caractères chinois. par exemple pouvoir convertir ni3hao3 en 你好.

    La bibliothèque une fois créée sera utilisée par un moteur iBus (iBus étant le système le plus commun sous Linux pour taper des langues qui se tapent mal avec un clavier standard, ibus offrant les briques communes, capture des entrées clavier etc. , et les moteurs eux offrent la logique spécifique à une langue, par exemple on peut avoir iBus installé avec un moteur pour le chinois, et un moteur pour le japonais).

    Les moteurs iBus étant le plus souvent écrits soit en C, soit en Python (iBus n'offrant les bindings que pour ces deux langages à ma connaissance, et quand bien, le peu de code d'exemple est écrit dans l'un de ces deux langages), et ayant trouvé un exemple de template de moteur ibus-tmpl en C, il était plus simple d'avoir toute la logique en Rust (isolé dans la bibliotheque) et la glue du moteur en C pour réutiliser le code d'exemple.

    Comment écrire une bibliothèque Rust, compatible ABI C, sans runtime (i.e avec un joli .so et .h a la fin)

    Les exemples (ainsi que d'autres plus complexes) peuvent être retrouvés sur le projet github https://github.com/allan-simon/ffi-rust.

    Générer un .so avec Rust

    Il y a deux manières de procéder, soit directement dans le fichier Rust .rs ou en le précisant dans le fichier Cargo.toml (le "MakeFile" de rust).

    Pour les petits projets, il suffit simplement de mettre #![crate_type = "dylib"] au début du fichier :

    #![crate_type = "dylib"]
    pub extern fn hello_world() {
       println!("hello world");
    }

    pub extern est là pour dire que la fonction doit être exportée, ainsi que pour dire au compilateur de ne pas s'inquiéter s'il ne voit pas la fonction hello_world utilisée, que ce n'est pas du code mort.

    Pour le fichier cargo, cela donne :

    [package]
    name = "votre_lib_qui_va_bin"
    version = "0.0.1"
    authors = [ "Votre Nom <votre@email.com>" ]
    [lib]
    name = "nomdelalib"
    path = "src/lib.rs"
    crate-type = ["dylib"]

    et cela génère dans les deux les deux un cas un fichier .so qui va bien, mais appelable seulement depuis un autre projet Rust.

    Rendre les noms de fonctions compatibles avec l'ABI C

    Pour pouvoir appeler la fonction Rust depuis du C, du Python etc., il faut que son nom soit prédictible, pour cela, hyper simple, il suffit de rajouter la directive #[no_mangle] au-dessus de la fonction, ce qui nous donne :

    #![crate_type = "dylib"]
    
    #[no_mangle]
    pub extern fn hello_world() {
       println!("hello world");
    }

    et voila, rien de plus rien de moins, et vous avez à présent un .so compatible ABI C, ce qui vous permet par exemple de l'appeler depuis Python en faisant :

    import ctypes
    votrelib = ctypes.CDLL("libvotrelib.so")
    votrelib.hello_world()

    magique, non ?

    Faire des choses plus compliquées

    Je ne rentrerai pas dans de longs détails ici, juste qu'il est assez simple de créer une bibliothèque, même très complexe depuis C en suivant les conseils ci-dessous :

    • il est assez simple d'échanger des int / string dans les deux sens entre Rust et C (avec une légère conversion à faire pour les string, comme elles finissent par \0 en C et pas en Rust) ;
    • pour les types plus complexes (du style HashMap etc.), essayer au maximum de tout faire en Rust, et de n'utiliser C que pour transporter le pointeur sur la structure d'un appel Rust à un autre.

    Si des personnes sont intéressées je verrai peut-être pour écrire un guide plus détaillé sur des exemples plus poussés (passage de callback, comment gérer la mémoire etc., comment se passer du runtime etc.).

    ibus-pinyintones : pour les personnes qui apprennent le Chinois et oublient toujours les tons

    pourquoi un moteur alternatif pour écrire le chinois

    Cette partie est un peu moins technique : je pense que beaucoup moins de personnes sont intéressées par "comment écrire votre propre moteur iBus". Le but était pour moi qui apprend le Chinois d'avoir un moyen de me forcer à me souvenir des "tons" des mots Chinois.

    Pour ceux qui ne connaissent pas le Chinois, les tons sont une composante super importante du Chinois oral. Pour donner une similarité avec le Francais, lisez a voix haute "Tu viens manger." et "Tu viens manger ?" : vous remarquez que pour la question on monte le ton en fin de phrase, ce qui permet a l'oral de distinguer la question de l'affirmation. Maintenant, imaginez en Chinois le même concept mais syllabe par syllabe et non plus pour savoir savoir si une question est affirmative ou interrogative mais tout simplement pour savoir quel caractère Chinois c'est.

    Le ton est super important en Chinois, car le nombre de sons en chinois est très limité. Cependant à la saisie sur ordinateur ou téléphone, souvent on entre la phonétique sans le ton (et le moteur de saisie se charge des ambigüités, en classant les propositions par fréquence, et en s'aidant des mots tapés avant). Cela a donc le fort désavantage de ne pas demander la connaissance du ton, ce qui fait que l'on peut parler sur Skype/mails de manière quasi parfaite, tout en étant incompréhensible a l'oral.

    Caractéristique de ibus-pinyintone, différence avec les moteurs habituels

    Ici il faut donc taper obligatoirement le ton.

    On peut taper "n3h3" ou "ni3hao3" pour avoir 你好, mais le nombre (c.a.d le ton) doit être présent. Cela demande donc un poil plus de frappes, mais cela est compensé par le fait qu'ainsi le nombre d'homonynes est très très fortement réduit et réduit le nombre de sélections manuelles que l'on a à faire avec les touches multidirectionnelles

    Le prochain objectif est d'ajouter la prédiction du mot suivant, par exemple si je tape "je mange une" , que le moteur propose directement "pomme" "poire" "pizza" (ce que ne propose pas ibus-pinyin par exemple, et encore une fois, ce qui avec l'aide des tons, permettrait de rendre la prédiction plus efficace)

    Demande d'aide : comment créer un paquet Debian de tout cela

    Voilà, j'arrive à la toute fin et le principal but de mon journal (je vous ai bien eu, en fait je voulais juste de l'aide, mais je ne voulais pas poster dans la catégorie forum) : j'aimerais avoir un peu d'aide pour empaqueter mon moteur et ma bibliothèque.

    J'ai commencé à lire le guide pour empaqueter sous Debian mais voir que faire un paquet pour une bibliothèque est mis dans la catégorie "tâches difficiles", et que j'avoue être un peu flemmard, si une bonne âme se sent de m'aider, j'en serais très reconnaissant.

    Vers l'infini et l'au-delà

    À l'avenir je vais essayer de rapidement porter de nouveau les moteurs iBus que j'avais écrits il y a très longtemps pour l'anglais et le français (base sur une intégration d'aspell dans ibus), de manière à pouvoir taper les accents sur mon qwerty sans encombre et éviter les fautes de dyslexie du clavier que je fais souvent.

    Lire les commentaires

  • Aider les associations du Libre en achetant leurs goodies (Dépêches LinuxFR)

    Au fil du temps, les associations du monde du Libre ont créé un certain nombre de produits numériques (CD, DVD, clés USB, etc.) téléchargeables gratuitement et librement. Ces produits sont souvent proposés lors de manifestations. La vente de ces objets permet de participer au financement des associations et de poursuivre leur mission associative.

    L’association En Vente Libre a été créée en 2009 afin de mettre à disposition des associations du logiciel libre un moyen de vendre leurs différents produits de manière mutualisée et de récupérer des dons. Permettre la diffusion de la culture libre à travers le monde est un peu prétentieux, mais c’est notre objectif !

    En Vente Libre a pour but de faciliter l’accès à ces produits qui assurent la promotion des logiciels libres. Les associations qui en bénéficient depuis plusieurs années maintenant sont : Debian, Ubuntu-Fr, l’April, La Mouette (qui fait de belles promotions en ce moment !), Framasoft, Multisystème, EduNathon. La force de la plate‐forme est de proposer de faire des dons ou d’acheter des articles de plusieurs associations en même temps. Mutualisation des coûts bancaires et des frais divers !

    En juin 2017, l’équipe a quasiment entièrement changé pour repartir d’un nouvel élan. De nouvelles associations devraient bientôt pouvoir profiter de la plate‐forme (Mageia, Borsalinux, OCS Inventory, etc.).

    Donc :

    • si vous faites partie d’une association et que vous voulez vendre vos produits ou obtenir des dons sur la plate‐forme EVL, n’hésitez pas à demander notre convention par courriel à bureau@enventelibre.org ;
    • si vous voulez participer au projet et devenir bénévoles, contactez‐nous par courriel à association@enventelibre.org ;
    • si vous avez des compétences sur PrestaShop, faites‐vous connaître, nous avons toujours besoin d’aide et de formation pour améliorer notre service !

    Lire les commentaires

  • Le WeTab maintenant à partir de 254€ (Linux Certif)

     Le WeTab, la tablette Linux basée sur Meego, est maintenant vendu à 253,99€ pour la version Wifi, et 333€ pour la version 3G.

    Pour rappel, le Wetab est une tablette sortie l'année passée et se voulait complètement à contre courant des autres tablettes.

    Quelques caractéristiques:

    • Linux complet avec X11 et gestionnaire de packet (plutôt qu'un Linux édulcoré pour téléphone)
    • MeeGo (plutôt que Android)
    • Processeur Intel Atom (plutôt que ARM)
    • Plutôt ouvert et avec une communautée
    Les raisons de la baisse de prix sont inconnues. Personellement, j'épère qu'un nouveau modèle va arriver. La possibilité que le projet est abandonné n'est pas a exclure.