Les dépêches de LinuxFr

S'abonner à flux Les dépêches de LinuxFr
Mis à jour : il y a 1 heure 57 min

Sortie de Datafari 4.3, moteur de recherche open source pour entreprise

mar, 09/07/2019 - 16:28

Nous avions déjà fait une dépêche pour présenter Datafari à l’occasion de la sortie de la version 4.1 (et nous avions oublié d’annoncer la 4.2…), nous sommes ravis de communiquer sur la sortie de la 4.3.

Datafari est une solution de recherche pour entreprise. Cela signifie qu’elle permet aux employés de retrouver les données où qu’elles soient, quelles qu’elles soient. Plus concrètement, il s’agit de récupérer et d’indexer les données et documents depuis de nombreuses sources différentes et plusieurs formats de fichiers, et de permettre de chercher aussi bien l’intérieur des documents que leurs métadonnées.

Les nouveautés et changements principaux depuis la 4.1 version communautaire libre
  1. nouveau widget de prévisualisation permettant de voir le contenu d’un document sans ouvrir le document source (voir la capture d’écran plus bas) ;
  2. extraction simple d’entités ;
  3. Prise en charge du protocol SMBv2 ;
  4. un nouveau menu utilisateur pour un accès simplifié aux options de recherche et aux pages d’administration ;
  5. les alertes de recherche prennent en compte les facettes de recherche ;
  6. optimisation des valeurs par défaut du connecteur Web simplifié, pour le rendre plus efficace ;
  7. amélioration du connecteur web avec des filtres sur les balises HTML ;
  8. retrait de la gestion de la sécurité (maintenant dédiée à la version Entreprise propriétaire) ;
  9. mises à jour de tous les principaux composants techniques de Datafari, apportant plus de stabilité, de sécurité et de rapidité ;
  10. de la correction de bogues de partout.
Comment démarrer ?

Pour démarrer tout de suite, le mieux est sans doute de suivre le quick start guide. Pour aller plus loin, il suffit de se balader sur la documentation Datafari sur Confluence, qui couvre les usages, l’administration et le développement.

Pour rappel, voici les principales fonctionnalités de Datafari en tant que moteur de recherche :

Que peut‐on faire avec Datafari ?

Comme dit plus haut, c’est un moteur de recherche pour entreprise. Ses objectifs sont différents d’un moteur de recherche Web, et les défis techniques diffèrent. Pour un moteur de recherche pour entreprise, il faut être multi‐source, multiformat, et gérer la sécurité. En outre, il faut permettre d’administrer l’outil.

Dans la version libre, on peut, côté administration :
  1. administrer les connecteurs aux sources de données vers de nombreuses sources (nous utilisons Apache ManifoldCF avec tous ses connecteurs) dont Sharepoint, Documentum, Alfresco et les partages de fichiers ;
  2. gérer l’algorithme de pertinence qui classe les documents pour leur affichage suite à une requête ;
  3. mettre en avant des documents pour des requêtes identifiées ;
  4. créer des utilisateurs et leur assigner des rôles ;
  5. voir des statistiques d’usage de l’outil ;
  6. créer l’équivalent de Google AdWords (appelés promoliens) ;
  7. gérer des synonymes ;
  8. plein d’autres choses accessibles depuis la documentation confluence.
Et côté utilisateur, dans la version libre, on peut :
  1. chercher de façon simple ou avancée ;
  2. prévisualiser les résultats ;
  3. bénéficier de la correction orthographique et de l’auto‐complétion ;
  4. utiliser des facettes pour filtrer les résultats ;
  5. mettre des résultats dans un panier de favoris ;
  6. créer des alertes par courriel quand des documents modifiés ou nouveaux correspondent à une requête.
Des commentaires ?

Nous sommes en permanence à l’écoute des commentaires et suggestions pour faire avancer le produit, alors profitez‐en, que ce soit d’un point de vue technique ou fonctionnel, ça nous intéresse. Ah, et si vous êtes déjà un utilisateur, n’hésitez pas à en parler sur le Web !

Et si vous êtes assez nombreux, on pourrait organiser un workshop technique pour vous initier aux joies de Datafari version Communautaire.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Catégories: Les actus

La nouvelle plate‐forme de dépôt de brevet de l’INPI en contradiction avec le RGI

mar, 09/07/2019 - 14:59

Depuis novembre 2018 et la mise en place de sa nouvelle plate‐forme de dépôt de brevet, l’Institut national de la propriété industrielle (INPI) ne permet plus le dépôt de brevet par voie postale et impose à l’ensemble de ses usagers l’utilisation d’un format de fichier bureautique propriétaire Office Open XML (.docx) de la société Microsoft et ne permet pas l’utilisation du format ODF, en contradiction avec les recommandations de la version 2 du RGI [Référentiel général d’interopérabilité] entré en vigueur le 2 avril 2016 (JORF no 0095 du 22 avril 2016 texte no 1).

Les défauts du format des fichiers Office Open XML ont été soulignés à juste titre par l’administration française dans le RGI version 2 : « sa complexité, son manque d’ouverture (notamment dans la gouvernance de la norme) et le strict respect tardif de la norme par Microsoft même n’ont pas permis de réviser son statut. La version « transitionnal » de la norme [celle qui est implémentée par Microsoft Office] n’est quant à elle pas recommandée. »

Le RGI version 2 recommande a contrario l’utilisation du format ouvert Open Document Format (ODF, norme ISO 26300) pour les échanges de documents bureautique et ce pour les raisons suivantes :

  • ce format est totalement ouvert ;
  • ses spécifications sont concises, moins de 900 pages contre plus de 6 500 pages pour l’Office Open XML (OOXML, sur lequel est basé le format .docx) ;
  • c’est le format natif des suites bureautiques libres, ainsi que pour les « Google Docs » ; il est également (normalement) géré par Microsoft Office depuis 2007 ;
  • il est parfaitement interopérable ;
  • il ne pose aucun problème de rétrocompatibilité, contrairement aux formats basés sur l’OOXML ;
  • il permet, avec une utilisation du traitement de texte de LibreOffice, l’intégration de formules de mathématiques complexes dans le respect des normes, ce qui est un atout évident dans le cadre des dépôts de brevet.

Cette nouvelle plate‐forme de l’INPI doit prendre en compte l’ODF sans plus attendre et en aucun cas exiger d’autres formats de fichiers bureautiques propriétaires.

Le CNLL (Union des entreprises du logiciel libre et du numérique ouvert) a révélé publiquement cette contradiction et espère par ailleurs que la future feuille de route de la DINSIC (Direction interministérielle du Numérique et du système d’information et de communication de l’État) sera très claire en ce qui concerne ces pratiques déloyales, et que l’ensemble des services de l’État et des administrations respecteront les règlements et les lois avec un principe d’exemplarité, dans le respect de la volonté de souveraineté numérique et d’ouverture de l’État français et de l’Europe.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Catégories: Les actus

Sortie de Perl 5.30.0

mar, 09/07/2019 - 10:42

Perl est un langage généraliste crée en 1987 par Larry Wall. « Perl continue de prospérer dans sa troisième décennie grâce à une communauté d’utilisateurs et de développeurs très dynamique. », dixit perldelta. Perl est distribué sous une double licence : Artistic Licence et GPL v1+. La plupart des modules du CPAN suivent également ce même traitement.
  Perl 5 raptor de kraih, licence CC-BY-SA 4.0

En 2010, on parlait de « Perl moderne » pour mettre en évidence la modernisation du langage et des pratiques autour de celui‐ci (dans le livre Modern Perl, ainsi que Perl Moderne, écrit par trois mongueurs français, ou encore le module Modern::Perl). Nous sommes probablement à présent dans l’ère « post‐moderne de Perl » :-)

Un certain nombre de dépêches ont été postées sur LinuxFr.org à propos des évolutions du langage.

NdM : cette longue dépêche a été scindée en deux : l'abondante bibliographie est dans une dépêche séparée.

Sommaire Le développement de Perl Précédentes dépêches sur les sorties des versions de Perl Autres versions de Perl
  • Perl 6 le 25 décembre 2015. Attention Perl 6 n'est pas Perl 5 et la comparaison entre Python 3/Perl 6 et Python 2/ Perl 5 ne tient pas ;).
  • Perl 5.24 en 2016.
  • Perl 5.26 en 2017.
  • Perl 5.28 en 2018.
  • Perl 5.30 en 2019.

(une version majeure par an, lien Wikipédia sur l'historique des versions de Perl)

Perl 6… Eh bien c'est compliqué… Perl 6 est trop loin de Perl 5 pour être vraiment la version suivante de Perl 5. Et certains ont demandé à changer le nom de Perl 6. Et Larry Wall a accepté en donnant l'alias Raku (du nom de la machine virtuelle). La machine virtuelle n'est plus Parrot ni pugs, mais Rakudo (qui est en fait la continuité/spécialisation de Parrot pour Perl 6).

Releasing flow

Comme on peut le voir sur la page d'historique des versions de Perl (ou mieux dans perlhist), le versioning de Perl a changé au cours des années. De 5.000 a 5.005 puis la version suivante est devenue 5.6.0. À partir de la 5.10.0 les releases sont devenues annuelles et une version avec un mineur impair est une version de dev. Rappel Perl 5.10.0 est donc Perl Majeur.Mineur.Patch selon la règle du versioning semantique. Les version patchs servent à fixer généralement les problèmes de sécurité (CVE-…) et les régressions.

Attention : des versions patch continuent d'apparaître après la sortie de la version stable suivante. Par exemple, seule 5.24.1 (14 janvier 2017) était sortie au moment la la sortie de 5.26.0 (30 mai 2017).

(il y a d'autres versions non représentées sur cette frise)

bleadperl est le nom donné à la dernière version de la branche de dev de Perl 5. Par exemple, on peut lire "testé avec bleadperl" ou "dois-je cibler bleadperl pour mon patch ?".

La version de perl fournie avec une distribution se nomme le perl vendor. Le perl vendor est empaqueté par la distribution. On peut décider de ne pas utiliser cette version mais pourquoi ?

  • Parce qu'on souhaite utiliser une version plus récente.
  • Pour figer la version Perl utilisée.
  • Parce qu'on veut une version de Perl avec des flags de compilation différents.
  • Pour éviter d'utiliser un perl vendor qui a été mal packagé.

On peut donc compiler notre propre version de Perl ou même utiliser le gestionnaire de binaires perlbrew (ou plenv).

Stuffed pumpkin et core dev team

Le gardien de la citrouille empaillée ou le possesseur de la citrouille à patch ou encore le pumpking (contraction de pumpkin et king) est en quelque sorte le mainteneur principal (ou mainteneur en chef comme le dit ce commentaire linuxfr) ou release manager ou tout simplement celui qui fusionne le code et coordonne la release. Il s'agit depuis quelques releases de Sawyer X (profil CPAN, Sawyer X est aussi l'auteur de Dancer) sur les releases x.y.0 (depuis 2017) et ensuite sur les numéros patch soit ça varie soit c'est Steve Hay.
Avant Sawyer X, le pumpking était Ricardo Signes (profil CPAN) sur les releases x.y.0 (depuis 2013) et de nombreux autres sur les patchs.

Voici la liste des "pumpking" ainsi que l'explication de la citrouille de patch.

Les développeurs du cœur de perl se nomment les Perl5 porters, ils contribuent leur code dans le repository git de Perl et utilisent le gestionnaire de ticket request tracker.

Sawyer X vient d'annoncer sur la liste de diffusion de Perl 5 Porters la décision commune de migrer le git repo principal ainsi que le gestionnaire de tickets vers github (notez d'ailleurs que Python fait la meme chose PEP581 et PEP588).

A priori, le repository github perl5 du projet Perl5 qui n'est actuellement un miroir devrait donc devenir le repository officiel et le gestionnaire de tickets central de Perl.

CHANGELOGS

Place maintenant aux différents CHANGELOG ou perldelta qui n'ont pas été traités sur LinuxFR. C'est (peut-être) long, très détaillé, mais ça permet de découvrir certaines features ou de se rendre compte un peu comment se passent les fixes. Je conseille donc à ceux qui ne sont pas intéressés par les détails internes du langage de lire en diagonale tout ce qui suit ! Perl 5 est un langage mature et les évolutions et les bugs ne sont pas forcement tous très impressionnants (c'est plutôt rassurant).

Ce qui va suivre est très détaillé et les détails techniques pas forcément appropriés pour un débutant Perl. Mais les items sont accompagnés le plus souvent possible d'explications des fonctions ou du contexte du fix, ce qui peut donner de l'intérêt même si on ne saisit pas bien le côté technique. Les analyses de changelog qui suivent sont exhaustives c'est à dire que mis à part certaines mises à jour de modules embarqués (et donc des diffs pas faciles à remonter) et certaines évolutions propres à des systèmes qui ne nous intéressent pas, tout a été traité.

Avant de commencer encore un petit xkcd pour vous motiver pour la suite (Licence CC-BY-NC) :

Sortie de Perl 5.22

La version 5.22.0 a déjà été traitée dans la dépêche sortie de perl 5.22.0 on passe donc directement à la version suivante qui est la version patch 5.22.1.

5.22.1

Un changement incompatible sur des fonctionnalités récentes mais boguées autour des regex boundaries et ici les \b{sb} pour phrase \b{wb} pour un mot et \b{lb} pour un retour à la ligne et leurs amis. Encore aujourd'hui, toutes ces regex ne sont toujours pas parfaites et font simplement du best effort.

MAJ des modules POSIX::strerror

POSIX::strerror qui accidentellement écrasait $!(code erreur ou message d'erreur) a été fixé. Cela signifie que le oneliner

perl -MPOSIX -e '$! = 123; strerror($!); print "[$!]\n";'

n'affichait plus rien alors qu'il doit afficher :

perl -MPOSIX -e '$! = 123; strerror($!); print "[$!]\n";' [No medium found]

Il faut voir que strerror est une fonction qui permet d'obtenir le libellé à partir d'un code d'erreur. Or en Perl, un print $! fait déjà ce travail (conversion implicite vers une chaine).

Même chose pour print "[$!]\n". Si on veut avoir le code il faudra faire quelque chose comme

perl -MPOSIX -e '$! = 123; print 0+$!;'

Ou encore avec sprintf

perl -MPOSIX -e '$! = 123; print sprintf "%d", $!;'

(scalar ne marchera pas dans ce cas-là)

Compilation Grave problème de -Accflags et les quotes

Le flag de compilation -Accflags ne pouvait plus contenir de quotes (TRES GRAVE). C'est fixé en 5.22.1 ! Ouf :) Ce flag (précédé de -A pour Add) est transmis jusqu'au compilateur et peut contenir des trucs comme par exemple si on donne ceci au Configure script : -Accflags='-DAPPLLIB_EXP=\"/usr/libperl\"' Ça permet de faire que Perl ajoute /usr/libperl dans le @INC à l'exécution.

Bugfixes Possessive quantifier

Un autre problème sur une feature expérimentale de regex, les possessive quantifier. Plutôt que de parler de ce qui ne fonctionnait pas, on va détailler un peu ce qu'est un possessive. Les regular expressions peuvent être greedy (défaut) ou non-greedy (quantifier ? juste après expression à matcher) ou même possessive.

Un exemple pour comparer greedy et non-greedy :

  • GREEDY (gourmand) : perl -e 'print "$1\n" if "aabaab" =~ qr/((aab)+)/;' qui nous donne aabaab (match le plus possible)
  • NON-GREEDY ou LAZY : perl -e 'print "$1\n" if "aabaab" =~ qr/((aab)+?)/;' qui nous donne aab (s'arrête après avoir trouvé)

Le possessive quantifier (++ après expression ou ?> avant expression) va quant à lui faire plus qu'être gourmand car il empêche également le retour en arrière (et empêche donc de matcher le a du ab suivant.

  • perl -e 'print "$1\n" if "aab" =~ qr/(a*ab)/;' trouve bien aab
  • POSSESSIVE (1) : perl -e 'print "$1\n" if "aab" =~ qr/(a++ab)/;' ne trouve RIEN
  • POSSESSIVE (2) : perl -e 'print "$1\n" if "aab" =~ qr/(?>a*ab)/;' ne trouve RIEN

La différence entre possessive et greedy est que greedy va chercher à matcher le plus possible mais en backtracking va ensuite essayer de matcher plus petit pour arranger en vue de ce qui est demandé après. En possessive non, ça matche le plus possible et c'est tout.

Warnings fatality

Un fix sur les warnings fatality qui pouvaient entrainer un crash. Qu'est-ce qu'un warnings fatality ? Une sorte de -Wall -Werror en version Mortal Kombat ? (désolé je n’ai pas pu résister). Et bien c'est à peu près ça. Un exemple :

perl -e 'use utf8; use warnings FATAL => 'all'; print "\x{255}\n"; while(1) {print "Je suis vivant\n"}'

Cette ligne n'affiche QUE le warning Wide character in print at -e line 1. et puis s'arrête. Mais sans rien :

perl -e 'use utf8; print "\x{255}\n"; while(1) {print "Je suis vivant\n"}'

La ligne exécute bien la boucle infinie après avoir affiché le warning.

Regex sets

Plusieurs utilisations marginales d'une feature expérimentale de regex crashait a l'exécution.

Il s'agit des regex_sets ou Extended Bracketed Character Classes qui permettent de faires des ranges de possibles avec des opération ensemblistes comme par exemple :

qr/(?[ [\w] - [a-zA-Z] ])/;

(un mot contenant pas les lettres a jusqu'à z ni A jusqu'à Z).

Cette feature est expérimentale et semble l'être encore aujourd'hui et requiert donc une déclaration no warnings "experimental::regex_sets"; pour désactiver le warning associé à son usage. Plusieurs bugs et plusieurs fixes sur ce genre d'expressions :

(?[ () ])`, `(?[(\c])`, `(?[!!(\w])` ou encore `(?[[0]+()+]) Cas marginal avec %::

Un autre cas marginal qui pouvait faire crasher l'interpréteur : perl -e '%::=(); J->${\"::"}'

Explications :
%:: est un hash valide (mais déjà on cherche les problèmes avec cette syntaxe tirée par les cheveux) mais :: est aussi un séparateur de classe or il existe une classe implicite qui s'appelle main et qui récupère par exemple les variables qui ne sont pas déclarées par my ou state.

Par exemple perl -e '$var = "toto"; print $main::var;' affiche toto.

Autres
  • Plusieurs petits fixes sur des usages de regex qui doivent terminer en erreur. Comme le cas des nested quantifiers. Un nested quantifier c'est ce genre de choses /ab{2}??c/. Ou encore certaines séquences non terminées /(?i/. C'est tout simplement des regex fausses mais perl doit gérer correctement cette erreur.
  • Un mauvais usage de BEGIN faisait crasher perl, à présent BEGIN <> { } est simplement reporté en erreur.
  • Un bugfix sur le parsing de la ligne de commande (-Cnn pour unicode). Il s'agit de choses comme ceci perl -C3 -e 'print "\x{255}\n"' (qui produira ɕ). Le -Cnn pour Perl signifie qu'il faut activer les fonctionnalités Unicode et je cite The -C command line option can specify that certain inputs to the program are Unicode (perlunicode)
  • Des bugs dans le support des nombres flottants hexadécimaux lors des overflows (perte de bits en haut ou en bas. Également un bug au formatage avec sprintf "%a", $var.
5.22.2

Pas de changement incompatible.

Sécurité File::Spec

[CVE-2015-8607] Bugfix dans File::Spec qui avait une faille avec le taint mode (protection de l'input) dans la fonction canonpath(). canonpath est une fonction du core module File::Spec (un core module est un module fourni avec la distribution perl standard, à chaque version de Perl, les core modules sont mis à jour et certains sont éventuellement ajoutés ou retirés selon leur qualité et leur utilité). C'est une fonction qui permet de récupérer le path canonique à partir d'une chaine et ce de manière portable. C'est une fonction de cleanup. Exemple :

perl -e 'use File::Spec; print File::Spec->canonpath ("/toto/./././\./tata")' /toto/tata

C'est une fonction qui travaille sur les chaines mais ne va pas jusqu'à regarder le file système. D'ailleurs dans l'exemple le path /toto/tata n'existe pas sur le système :

ls /toto/tata ls: cannot access '/toto/tata': No such file or directory

abs_path ou son alias realpath par exemple

perl -e 'use Cwd; print Cwd::abs_path("/tmp/./././toto/../toto/../../tmp/./toto/tata")'

retournera bien /tmp/toto/tata… Mais seulement si le fichier /tmp/toto/tata existe !
abs_path est d'ailleurs aussi capable de résoudre les liens :

ln -s /tmp/toto/tata /tmp/toto/link && perl -e 'use Cwd; print Cwd::abs_path("/tmp/./././toto/../toto/../../tmp/./toto/link")'

donnera bien /tmp/toto/tata… Mais seulement si le fichier /tmp/toto/tata existe !

Mkstemp et umask

Bugfix sur le umask de mkstemp : au lieu de donner la négation à appliquer à 0666 pour obtenir un umask résultant de 0600, la valeur donnée était la valeur ciblée. Une fois la négation faite avec 0666, la valeur résultant était 0066, donnant beaucoup de droits aux membres du groupe et aux autres et peu au propriétaire. Nouvelle valeur après le fix : 0177.

Autres
  • Fix accès mémoire non initialisé par la fonction crypt().
  • [CVE-2016-2381] Un autre bugfix sur un problème intéressant. La façon de remplir %ENV à partir de environ[] ne donnait pas forcement les même valeurs. La cause ? Perl écrasait l'entrée dans %ENV avec la dernière vue alors que getenv gardait la première. Avec le fix, non seulement l'ordre est le même mais en plus le ménage est fait dans environ[].
  • [CVE-2015-8608] Bugfix sur les fonctions VDir::MapPathA et VDir::MapPathW qui permettaient une attaque DoS grâce a une lettre de volume bidouillée.
MAJ de modules
  • File::Spec et notamment la fonction canonpath() vue plus haut.
Compilation
  • Configure script gère gcc 5.
  • Fix -DPERL_MEM_LOG qui était casse. Mais qu'est-ce que PERL_MEM_LOG ? Avec ce flag, on va faire en sorte de logger quand on fait de l'allocation mémoire. A l'exécution, Perl ira lire la variable d'environnement. $ENV{PERL_MEM_LOG} pour connaitre le format et la destination des logs. Par défaut ça part sur la stderr.
  • D'autres fixes principalement sur la compilation sur du platform specific (Darwin, ppc64el, Tru64) ou sur libnm et DTrace.
Correction de bogues Here-docs

Plusieurs bugfixes sur les here-doc. Petit rappel sur les HERE-DOCS même si on a la même chose en shell :

my $str = <<'END_MESSAGE'; Hello here-doc indent END_MESSAGE print $str;

Et à l'exécution :

perl here.pl Hello here-doc indent

Les problèmes étaient :

  • Un crash possible si perl trouve la fin d'un fichier sans trouver la fin d'un HERE-DOC.
  • Une possible libération de mémoire sur un problème de parsing de HERE-DOC
Pack et UTF8

Premier bugfix sur pack avec UTF8(voir 5.24.4 [CVE-2018-6913]).

Profitons de l'occasion pour parler un peu de pack : pack et unpack sont de formidables outils détaillés sur la page perlpacktut. Ils sont utilisés dans 2 principaux groupes de cas :

  1. Le formatage de chaine (et la lecture de chaine formatée). Par exemple pour lire/écrire des champs dans un tableau texte de dimension fixe.
  2. Le traitement des données binaires et la conversion dans de nombreux formats (comme le ferait sprintf mais en BEAUCOUP plus puissant) comme nombre flottant, entier, UTF8, hexadécimal etc… On peut facilement corriger un problème d'endianness… Bref c'est des outils très génériques qui peuvent travailler sur des chaines de bytes.
Autres
  • Le C99 hexadécimal floating point notation support ajoute en 5.22.0 n'était pas tout à fait correct, corrigé.
  • De nombreux fix de segfaults sur des aborts provoqués, des meilleures explications quand le code utilise le mauvais contexte, ou quand on compile un pattern avec des classes de caractères non terminées. Bref principalement des améliorations pour le code faux :D
  • Perl utilise semctl()… si possible.
  • Fix d'une optimisation trop brutale de uc, ul, ucfirst et lcfirst (modification en place parfois).
  • Optimisation de la compilation de regex avec des caractères spéciaux, en attendant mieux en 5.24.0 :)
5.24.0 Améliorations du cœur de Perl Combo ordre et précision dans printf et sprintf

On peut maintenant mixer précision et ordre des arguments de printf et sprintf. Exemple d'ordre des arguments

printf '%2$d %1$d', 12, 34;

qui donne 34 12 (on affiche argument 2 puis argument 1).

Exemple de précision

printf '<%.2f>', 1;

qui donne <1.00>.

On peut donc en 5.24.0 faire ce genre de chose

sprintf '|%.*2$d|', 2, 3

qui donne |002| soit l'argument choisi par 2$ avec la précision définie par 3 (l'autre argument). C'est quand même une feature assez sympa :)

Hashbang

Avec la sortie récente de Perl 6 (au moment de cette release, pas au moment où cette dépêche est publiée), il était bien que l'interpréteur perl redirige un script avec hashbang contenant perl6 vers perl 6 (ou son alias Raku apres la réflexion sur le besoin d'un alias pour Perl 6) tout comme il le fait quand il trouve un hashbang ne contenant pas la chaine perl. On verra en 5.24.1 que ce n'était pas une bonne idée (en tout cas l'implémentation en 5.24.0). Pour comprendre exactement de quoi on parle, il faut rentrer dans les détails :

Lorsque qu'on exécute un fichier sans préciser comment l'exécuter (exemple ./monscript.pl), c'est le hashbang qui est lu et qui sert à choisir. Mais dans le cas où on appelle l'interpréteur Perl et qu'il ne se reconnait pas dans le hashbang, il passe la main à un autre programme. Par exemple, le fichier jesuispython.pl contient ceci :

#!/usr/bin/env python import os; print "Hello from Python"; print os.environ["SHELL"]; print os.environ["_"]; import time; while True: time.sleep(5)

Ça ressemble à du Python, ça a l'odeur du python et bien c'est parce qu'en fait c'est bien du Python :) Et ce n'est PAS un fichier Perl valide, on peut d'ailleurs s'en assurer avec un petit coup de syntax check perl -c jesuispython.pl qui nous donne :

perl -c jesuispython.pl syntax error at jesuispython.pl line 6, near "environ[" syntax error at jesuispython.pl line 7, near "environ[" syntax error at jesuispython.pl line 8, near "environ[" jesuispython.pl had compilation errors.

En lançant le fichier avec perl, tout se passe bien, car l'interpréteur est intelligent et donne le script à Python :

perl jesuispython.pl Hello from Python /usr/bin/zsh /usr/bin/perl

Et si on vérifie bien qui fait vraiment tourner ce script :

perl jesuispython.pl &; ps aux | grep "jesuispytho[n]" [1] 15745 61531 15745 0.0 0.0 18468 3608 pts/64 R 13:39 0:00 python jesuispython.pl Hello from Python /usr/bin/zsh /usr/bin/perl

(penser à faire le ménage avec kill)

Si on pousse un peu plus loin, on n'obtient pas le même comportement côté Python. Si dans un fichier jesuisperl.py on met ceci (à peu près la même chose qu'en Python) :

#!/usr/bin/env perl my $a = "Hello from Perl"; print "$a\n"; print "$SHELL\n"; print "$_\n"; while (1) { sleep 5; }

On a un fichier Perl valide mais Python ne passe pas la main et Python nous retourne simplement :

python jesuisperl.py File "jesuisperl.py", line 3 my $a = "Hello from Perl"; ^ SyntaxError: invalid syntax Post‐déréférencement

Post‐déréférencement n’est plus expérimental. Post‐déréférencement c’est ce genre de chose :

my @new = $old->@*;

La forme plus classique pour obtenir le même résultat est

my @new = @$old;

ou encore

my @new = @{ $old };

(notation circumfix)

Autre
  • Support unicode 8 (unicode 8 ajoute des milliers de nouveaux symboles).
  • L'interpréteur râle (exception) si on ne peut pas fermer un fichier édité en place.
  • Nouveau \b{lb} dans les regex. \b{} est pour boundaries et lb pour linebreak.
  • Extended bracketed character classes (déjà parlé plus haut dans la dépêche dans bugfix 5.22) est à présent compatible avec UTF-8.
  • Comportement des shifts (>> et <<) des entiers mieux définis, quelle que soit l'implémentation C dessous.
  • Amélioration de sigaction qui sert à donner une fonction à exécuter lors d'un signal. L'amélioration consiste (quand c'est possible, donc que le système le gère) à ajouter un hash contenant des infos sur le processus.
Sécurité
  • Fix umask donné à mkstemp (déjà vu plus haut en 5.22.2).
  • [CVE-2015-8608] Bugfix sur les fonctions VDir::MapPathA et VDir::MapPathW (déjà vu plus haut en 5.22.2).
  • [CVE-2015-8607] Bugfix dans File::Spec (déjà vu plus haut en 5.22.2)
  • Fix accès mémoire non initialisée par la fonction crypt() (déjà vu plus haut en 5.22.2).
  • [CVE-2016-2381] Fix sur environ (déjà vu plus haut en 5.22.2).
Changements incompatibles
  • La version 5.24.0 interdit la feature expérimentale autoderef c'est à dire qu'on ne peut plus faire perl -e 'use experimental 'autoderef'; my $a = []; push $a, "a"' (il faut faire push @a, "a"). Ça interdit donc le push to ref et on peut suivre sur perlbanjo la vie et la mort de autoderef.
  • Suppression de la variable lexicale $_. C'est apparu en 5.10 puis passé en expérimental en 5.18. En gros on laisse perl gérer cette variable spéciale (globale).
  • Le boundary word blank ne suit plus scrupuleusement les règles Unicode mais fait plus ce qu'attend perl (et ressemble a \b tout seul mais en mieux). Respecter scrupuleusement Unicode ne semble pas être le mieux adapté pour détecter les frontières de mots. On parle de cas marginaux comme des espaces puis un tilde puis un espace vertical…Ça reste du best effort tout de même. Plus de détails.
  • Certaines regex qui étaient en erreur au runtime ne compilent plus du tout. Ici il s'agit d'unicode properties (wikipedia dans les \p{} et \P{} (perluniprops). Ce genre de déplacement des erreurs est bon, car le code "casse" 100% du temps alors qu'il cassait qu'en atteignant la regex fautive avant.
  • Une expression unicode name vide comme ceci \N{} (qui ne sert à rien) devient fatale quand on active use re "strict".
  • Les déclarations imbriquées deviennent interdites my($toto, my($tata)). Au passage, my $toto n'est pas toujours pareil que my ($toto) (lors d'une affectation). Et même sans affectation my($toto, $tata) n'est pas my $toto, $tata; !
  • La classe de caractère \C n'existe plus du tout (erreur de compilation). Déprécié depuis 5.20, warning depuis 5.22.
  • La fonction chdir ne peut plus s'utiliser comme ceci chdir('') ou chdir(undef) pour aller dans $HOME. Mais chdir() fera tout simplement l'affaire.
  • Plus de caractères invisibles dans les noms de variables. Même ceux de la table ASCII !
  • Fix une config de Carp
  • Seuls \t et un espace sont autorisés dans les Extended Bracketed Character Classes. Il n'y a évidemment pas que ça dans les Extended Bracketed Character Classes mais tab et space sont ignorés :)
Dépréciations
  • Limitation Unicode code points. Jusqu'alors Perl autorisait les valeurs unicodes qui sont au delà du maximum unicode existant (donc qui ne correspondaient à aucun caractere…). Ça posait problème dans certaines transformations ou comparaisons. La valeur du code est à présent limitée.
  • L'opérateur de bitwise associé à une chaine travaille sur des bytes, travailler sur des choses plus grandes (des caractères encodes sur plus d'un byte) nécessite un découpage. Donc il y aura un warning à ce sujet.
  • sysread(), syswrite(), recv() et send() émettent un warning si on les utilisent avec un filehandle marqué :utf8
Performances
  • Moins d'overhead sur les changements de contexte.
  • Lorsqu'une langue est insensible à la casse, en le sachant avant, on peut optimiser les fonctions comme ucfirst ou les regex avec modifier /i
  • La recherche de chaines fixe dans une regex peut être plus rapide (majorité des cas) ou parfois plus lent.
  • Les calculs arithmétiques sont plus rapides (le support du 64-bits avait mis un coup de frein).
  • Pre/Post Increment/Decrement ont été optimisés (grâce à de la modularisation de code en fonctions).
  • Optimisation debugger, moins de structure de données créées car inutiles.
  • Les assignement d'un seul argument dans une liste comme ($v) = ("toto"); et ($new) = ($old); sont plus rapides.
  • Pic de mémoire réduit à la compilation de regex. Une compilation de regex se fait en utilisant qr// (en fait perl décide ou non de compiler)
Compilation
  • Option -O donnée par défaut à Configure.
  • Plus de support de libnm.
  • Configure : test newlocale, freelocale et uselocale.
  • Support Bison 3.0.
  • On peut changer la date affichée par le binaire perl (perl -V) en modifiant la variable PERL_BUILD_DATE.
  • Incompatibilité entre NO_HASH_SEED et PERL_HASH_FUNC_ONE_AT_A_TIME_HARD (algo par défaut).
  • Configure : meilleure gestion des espaces dans les chemins (path).
  • Plus de génération des tables EBCDIC POSIX-BC. EBCDIC signifie "Extended Binary Coded Decimal Interchange Code" et il s'agit d'un codage de caractère qui existe sur les mainframes.
  • Support du build en parallèle pour Windows GNU Make.
  • Support de MSVC++ sur Windows avec GNU Make.
  • miniperl a getcwd. miniperl est une mini version de perl utilisée pour se construire lui-même. En prenant les sources on va compiler d'abord miniperl qui va aider ensuite à compiler perl.
  • Configure tient en compte -Dusequadmath pour calculer alignbytes. On verra plus tard (5.24.3) que -Dusequadmath est incompatible avec -Duselongdouble.
  • Un test de compilation en parallèle est ajouté dans le makefile pour Windows.
  • Support d'AmigaOS réintègré dans le build.
  • Utilise fdclose() fonction de FreeBSD si disponible.
  • Shared libperl compile sur toutes les variantes Solaris.
  • Sur VMS, Perl implémente son propre killpg.
  • D'autres choses sur MacOS, Tru64, IRIX, EBCDIC, cygwin, Win32 et ppc64el.
Changement internes
  • Refactorisation du code de context stack system et ses API. Macros remplacées par static inline fonctions. Changement de naming (cx_ ou CX_ préfixe).
  • Une structure écrite pour Perl 1 a été supprimée (PL_timesbuf). Bravo a PL_timesbuf pour sa longévité :)
  • Emulation de signbit() améliorée. signbit() est une fonction pour connaitre le signe d'une valeur passée en paramètre.
Bugfixes
  • Si vous vous souvenez des perluniprops eh bien ici ça va plus loin car on parle de mettre des propriétés utilisateur et non-définies au moment de la compilation de la regex comme ceci qr/\p{sheldon::bazinga}/i. Ça ne marchait pas et c'est fixe en 5.24.0.
  • Il existe des versions "fallback" de fonctions comme memcpy(), memset() memmove() et memcmp() mais elle sont pas tout à fait comme les originales. D’ailleurs comme le dit bulk88 sur le tracker We aren't eating out own dog food car Perl est compilé avec les version originales. Ça ne prouve pas que les fallback sont cassés, mais ça ne prouve pas le contraire non plus :) C'est fixé en 5.24.0
  • Problème avec la substitution et le modifier /r (substitution non destructrice et retourne la nouvelle valeur) donc ce genre de chose s///r. Le problème vient quand on compile perl avec -DPERL_NO_COW. Attention cette variable ne dit pas que perl ne doit pas contenir de vaches mais interdit la Copy On Write :)
  • Meilleur reporting avec strict
  • Meilleur report d'erreur sur les regex. Des messages à la place de simplement "Assertion failed", des erreurs générées sur des classes de caractères non terminées
  • Il y avait une petit range de valeur où la fonction caller donnait des numéros de lignes négatifs, c'est fixé.
  • Un warning sur unless( $v = "abc") par exemple perl -e 'use warnings; unless(my $v = "toto") { print "a"; }' donne Found = in conditional, should be == at -e line 1. si warnings est activé.
  • Un cas très marginal de here-doc non terminé (map d<<<<) ne génère pas de assert failed ou de crash mais bien une erreur.
  • Problème avec tie et untie. Ces fonctions servent à faire de l'orienté objet.
  • Bugfix sur la directive #line sans fichier donc un truc comme #line 0000000
  • Un warning sur les regex et les classes POSIX [[:alpha:]] lorsqu'elles sont mal écrites comme [[:alpha]]. Ca ressemble à une classe POSIX, c'est presque une classe POSIX mais ce n’est pas une classe POSIX. Donc perl préfère prévenir.
  • Régression en 5.20 sur les classes et les synthetic start class. Un code qui bug est comme ceci /_?[^\W_0-9]/
  • Amélioration du support C99 notation hexa a virgule flottante ajouté en 5.22
  • Malgré l'activation du mode strict, ce genre de code use strict; my %h = (); my $v = $h{+toto}; n'émettait pas d'erreur.
  • Un bug sur ce genre d'expressions :
&{0==&{0==0}}.0 &{0==0}/&{0==0}&0 &{0*&{0==0}==0}/0 &{0==0}*&{0==0}

Appels imbriqués (ou pas) avec &. L’étoile est un typeglob (le bug n'est pas lié à ça).

  • Meilleur rapport d'erreur quand perl attend un opérateur et trouve un tableau.
  • Bugfix sur les regex. Le bug apparaissait en mélangeant \G et chaines utf8. l'expression \G permet de matcher seulement à la position (on la set avant grâce a pos()
  • Bugfix sur le parsing de here-docs bizarres
  • Fixe un bug lié aux variables spéciales $a et $b dans des cas comme @a = sort{ *a=0; 1} 0..1;
  • Plusieurs problèmes sur le récent format %a
  • Amélioration du boundary espace \b{sb}. Les tests sur 5.22.0 étaient faits sur des chaines trop petites, en ajoutant de nombreux tests sur des chaines plus longues, on s'est aperçu que cette expression n'était pas parfaite.
  • De nombreux bugs sur les boundaries en général \b{gcb}, \b{sb}, \b{wb}, \B{gcb}, \B{sb}, et \B{wb}.
  • De NOMBREUX bugs sur Extended Bracketed Character Classes. Il s'agit de bug sur des expressions incomplètes (incorrectes donc) mais au lieu de faire une erreur perl panique. Par exemple sur (?[\ &!]), (?[!()]), (?[(\c]) ou ?[ () ]
  • Les quantifiers imbriqués (regex) doivent produire une erreur, et non être ignorés.
  • Le parsing des nombres hexadécimaux à virgule flottante a été amélioré.
  • Bugfix sur pack 'H' ou pack 'h' (chaine hexa). On a déjà vu ce genre de problème (5.22.2) et c'est toujours pareil, de l'UTF8, une fin prématurée et une fonction pack qui lit trop de bytes.
  • Plusieurs fixes de segfault.
  • Les commentaires dans les regex ((?#...)) n'étaient pas possibles partout. La question s'est posée de savoir si c'était by design ou si c'était un bug. Finalement je crois que la solution est entre les 2 (maj de doc + fix)
  • La tentative de création d'une stack énorme avec par exemple @a = (1) x $big_number (attention x est l'operateur de répétition qui fait répéter une chaine) faisait crasher perl. Apres le fix ça fait une exception :)
  • Bugfix dans les expressions conditionnelles dans les regex ((?(condition)si-oui|si-non)) avec ?! qui ne donnait pas le bon comportement. Le code print /(?(?!)(?{print "Yes"})|(?{print "No"}))/ doit donner No et il donnait rien du tout.
  • Les backtracking control verbs prennent tous potentiellement des arguments.
  • dup un filehandle fermé ne crée plus de fichier poubelle.
  • Warnings fatal ignore en rembobinant la stack pour éviter la récursion infinie. Car un fatal fait rembobiner la stack et si on voit un fatal on rembobine etc…
  • Bugfix sur l'option perl -Cnn (qui active unicode). Ca a été touché en 5.22
  • Si on passe une valeur négative à votre alarm() ou sleep(), avant, la valeur était transmise à la fonction C, avec un résultat potentiellement surprenant. Maintenant on a un warning et ça retourne undef
  • Les grandes valeurs de caractère bien après Unicode dans les regex ne crashent plus.
  • Gestion des limites en utilisant l'opérateur range par exemple 1...888888888888888 (il faut que ça dépasse l'espace d'adressage)
  • Transformations avec ce genre de chose tr/\x{101}-\x{100}// était mal gérées.
5.24.1

Pas de changements incompatibles.

Sécurité

Tout d'abord, il ne faut pas avoir peur des CVE, la majorité du temps c'est les développeurs Perl eux-mêmes qui demandent à créer l'identifiant CVE. Mais bon, bonne nouvelle quand même, il n'y en a pas dans la 5.24.1 :)

  • Bugfix d'un problème d'output de PerlIO qui n'attendait pas de lire les switchs (flags de Perl dans le hashbang ou la ligne de commande) et pouvait créer un fichier même lorsque le switch -T ou -t n'était pas d'accord.
  • Les core modules ne cherchent plus dans "." pour les modules optionnels. C'est quelque chose d'important car même si en général le répertoire courant est le dernier dans @INC, ça pouvait permettre de faire exécuter des morceaux de code en posant un module dans un répertoire où va être lancé un script Perl par un autre utilisateur.

On peut regarder le contenu de @INC de cette manière par exemple

perl -e 'print join "\n", @INC'

ou même

perl -e 'foreach my $i (@INC) { print "[$i]\n"; }'

qui va sortir quelque chose comme ça :

[/tools/production/lib/perl5/] [/tools/local/current/lib] ... ... [/usr/lib/perl5/vendor_perl] [.]

(on note bien que "." a été ajoute par Perl à @INC)

Quand on dit que les modules ne cherchent plus dans ".", en fait il ne s'agit pas de tous les core modules, un core module résiste encore et toujours à l'envahisseur… Non plus sérieusement le travail sur le module base n'a pas pu être fait et est attendu pour la version patch 5.24.2. base.pm est un module qui sert pour la programmation objet pour définir la classe parente.

Bugfixes
  • L'implémentation naïve en 5.24.0 de la redirection de l'interpréteur vers perl6 est incorrecte. Il s'agissait de rediriger si on trouve perl6 dans le hashbang, mais ça posait problème pour le cas par exemple d'une install de perl à l'endroit /opt/perl64/perl
MAJ de modules
  • Fix de sécurité sur XSLoader (chargement de fichier binaires hors de @INC) détails ici
5.24.2 Sécurité
  • Cette fois le travail pour arrêter de charger les modules optionnels à partir de "." a été fait pour base.pm
  • Un autre bugfix sécurité sur la PATH. En Perl le mode taint considère que tous les path relatifs sont taintés, mais on pouvait jusqu'alors protéger un séparateur avec un antislash. Donc PATH=/tmp/toto\:./repertoire/dangereux/ était vu par Perl comme /tmp/toto/repertoire/dangereux/ donc safe mais l'OS n'est pas forcement d'accord avec cet échappement et donc continue à avoir le /tmp/toto/:./repertoire/dangereux/ dans son PATH. C'est corrige.
Bugfixes
  • Un bug concernant s///l (substitution avec jeu de caractère local) lorsqu'on essaye d'un autre côté de forcer une substitution sur un jeu de caractère qui ne correspond justement pas bien au locale par exemple un code comme my $v='ɕ'; $v =~ s/0*(\w)//l doit casser.
5.24.3 Sécurité
  • [CVE-2017-12837] Bugfix d'un possible heap overflow avec le case insensitive modifier (/i) qui permet de faire des regex qui match sans se soucier de la casse et les caractères unicodes nommes \N{MON NOM UNICODE}. En parlant de casse et d'unicode, ce n’est pas évident le passage en majuscule ou en minuscule d'un caractère. Par exemple ẞ en minuscules c'est ß ou ss ?
  • [CVE-2017-12883] Bugfix d'un over read dans les regex avec quelque chose comme ça m'\N{U+.}';. Le comportement du bug dépendait de la version de perl ou de la plateforme mais en général produisait une lecture et un report (message d'erreur) de données potentiellement sensibles ou simplement un crash.
  • [CVE-2017-12814] Un bugfix sur un possible stack buffer overflow. La chaine étant bien préparée, le mécanisme de buffer pour la copie est obsolète et le buffer est supprimé. Plus de buffer plus de problème.
  • [Pas de CVE id] Grosse vulnérabilité dans sprintf. On peut produire un buffer overflow en faisant quelque chose comme ceci print sprintf("%2000.2000f this is a spacer %4000.4294967245a", 1, 0x0.00008234p+9);. On élargie le buffer puis on donne une valeur qui va faire overflow.
Bugfixes

Beaucoup de bugfixes pour une version patch mais c'est du à de nombreux reports issues du fuzzing. Ici l'outil utilise est American Fuzzy Lop par l'intermédiaire de la commande afl-fuzz et les cas en doubles sont ensuite réduits grâce a afl-tmin (qui fait partie de la suite American Fuzzy Lop)

Vieux bug de double négation

Un très vieux bug sur les expressions logiques avec && et ||. Par exemple sur ce genre d'expression !r || !n'

En fait, 2 optimisations par le compilateur interfèrent et produisent ce bug : perl commence par optimiser la double négation en une seule négation devant une parenthèse et remplacer le || (ou or) par un && (ou and). Or il commence par enlever les négations et remplacer l'opérateur logique or et il se marque sur un petit papier de côté pour plus tard de "penser à mettre !() autour de mon expression". D'après la table de vérité, c'est tout à fait juste et permet d'optimiser à une seule négation :

r      n      !r     !n     !r or !n    r and n    !(r and n) 0 0 1 1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 0 0 0 1 0

Mais voilà, lorsqu'il s'agit de constantes, perl prend un raccourci et le petit papier est perdu et ça termine en un r or n. Ce qui n'est pas du tout pareil. Ça reste un cas très marginal (à cause des constantes) mais c'était un gros bug !

perl -x

Avec le switch -x, les numéros de lignes sont faux. Le switch perl -x sert à exécuter du code mélangé dans un texte. Imaginons un fichier texte mail.txt :

Salut DLFP, J'espère que la dépêche vous plait :) Bisous #!/usr/bin/env perl print "Bazinga\n"; __END__ Tout ceci est CC-BY-SA

Avec un perl mail.txt j'ai une erreur mais avec perl -x mail.txt j'ai bien mon Bazinga :)

Autre
  • Un bugfix pour éviter les scripts bizarres comme /@0{0*->@/*0 de crasher.
  • Un bugfix sur le mot clé reset (à mon avis assez peu utilisé). reset permet de reset une variable à sa valeur initiale, mais seulement les variables globales, ou de réactiver un pattern de maching à usage unique dans une boucle.
  • Fix crash sur du code marginal comme /${*::::::=0}$0{*::::=0}/
  • Un bug sur le bitwise AND assign operator &= mis en lumière par ce genre de code use feature':all';@0&=0. Le problème vient de ce qui est à gauche du bitwise (un tableau) mais le code est faux mais ne doit pas crasher.
  • Fix error code retourne par socket (passe le code d'erreur du système)
  • Fix memory leak lorsqu'on importe et utilise le mode strict pour contrôler une regex. use re qw(strict) permet d'avoir des warnings lorsqu'une regex commence à être ambiguë. Par exemple qr/\xABAB/ est plus ou moins ambigu et le strict regex va générer une erreur pour forcer le développeur à préciser sa pensée (avec des accolades).
  • Un autre bugfix sur du code très bizarre open my $fh, ">", \ (my $buf = ""); my $sub = eval q|sub {die}|; $sub->(). Dans ce genre de cas très précis ou $fh et sub sont déclarés dans cet ordre et sont des variables lexicales, la fermeture implicite de $fh entraine la libération mémoire de $sub.
  • Des problèmes de parsing de regex sur les extended patterns comme /(?<=/ ou /(?<!/. Les extended patterns commençant par (? permettent de faire plein de choses différentes, comme par exemple un commentaire dans la regex ou bien changer le modifier. Dans les cas /(?<=/ et /(?<!/ il s'agit de pattern matching (avec ou sans négation). Apres le fix, on a un message d'erreur Sequence (?... not terminated").
  • Un bugfix sur gethostent quand c'est utilisé avec torsocks. La fonction n'était pas bien protégée contre un bug cote torsocks.
  • Une erreur de syntaxe sur les constantes dans ce genre d'expression sub ub(){0} ub ub (2 constantes à la suite…) était mal gérée. C'était une régression assez récente (5.20) et c'est fixé.
  • Un autre régression encore plus récente (5.24) sur l'usage de la fonction fchown a été corrigée. Les valeurs négatives n'étaient plus acceptées pour fchown alors que c'est une valeur tout à fait possible dans certains cas (d'ailleurs la doc n'était pas d'accord avec le code :D).
  • Un mauvais code mélangeant ouverture de tableau, code de contrôles et passages à la ligne comme celui-ci @ { \327 \n produisait une sortie incorrecte ou tronquée (comment traduit-on exactement garbled output ?). Le bug est bien expliqué sur le tracker par un dev. Ce à quoi répond un autre contributeur par un "Ça a l'air drôle. Je peux le prendre ?". Un autre lui répond "Il est bien commode que les gens aient une vision bien différente de ce qui est drôle. Allez-y prenez le :)" ticket perl #128951.
  • Une autre régression récente (5.24) sur l'utilisation combinée de la regex de remplacement de caractères tr/// avec les caractères unicodes (encore eux !). Cette fois avec la valeur \N{U+190D} (qui est vulgar fraction three quarter c'est à dire ¾).
  • Un bugfix sur printf "%a". Le %a est l'hexadécimal à virgule flottante. Beaucoup de travail sur ce format. C'est très technique, on va s'arrêter là sur ce sujet. Plus léger, j’ajoute en citant printf perldoc Don't fall into the trap of using a printf when a simple print would do. The print is more efficient and less error prone. (même si je ne crois pas que beaucoup de monde tombe dans le piège :D)
  • Bugfix d'un possible crash de evalbytes suivi d'un mot sans quotes. evalbytes et comme eval mais réduit aux bytes (donc généralement lira en ASCII pour une partie et pour le reste ca dépend de ce qu'on a configuré).
  • Encore une erreur de syntaxe dans les regex mal reportée, les expressions incomplètes entre (?[ ]).
Compilation
  • Bugfix d'un problème avec GCC 6 et -flto (optimisation du temps de linkage)
  • -Duselongdouble et -Dusequadmath sont incompatibles, Configure doit s'arrêter et c'est l'objet du fix.
  • Bugfix sur la naming : ne pas doubler le suffixe -quadmath
  • Configure reconnait le compilateur C VSI Il concerne OpenVMS, j'apprends d'ailleurs grâce à Wikipédia que L'uptime le plus élevé d'une machine OpenVMS est de 17 ans, aux chemins de fer irlandais (uptime)
  • Bugfix sur clang build avec -DPERL_GLOBAL_STRUCT ou -DPERL_GLOBAL_STRUCT_PRIVATE. Reoccurrence en 2018 :(
  • Des problèmes de compilation GCC 6 sur Windows (et un build 64 bits)
5.24.4

Pas de changement incompatible.

Pas d'update de module à part Module::CoreList (qui sert à lister les modules…)

Sécurité
  • [CVE-2018-6797] Bugfix d'un possible heap buffer overflow lorsqu'on utilise unicodes names \N{LE NOM} ou \N{U+N} (avec N le numéro dans la table) et qu'on donne la valeur exacte d'un caractère avec \x. Si J'ai bien compris, \N force un contexte unicode mais \xBF est hors range UTF-8 et \N devrait lancer un reparse mais ne le faisait pas. Un exemple de regex causant le bug : /00\N{U+0}\xDF/i
  • [CVE-2018-6798] Bugfix sur le même genre de problème. Une expression du type $x="(?il)\x{100}|\x{100}"; "\xff" =~ /$x/; fournit un caractère partiel et Perl pourrait lire après le buffer.
  • [CVE-2018-6913] Bugfix sur un possible heap buffer overflow. Le problème se situe dans le l'allocation mémoire du pack (mauvais calcul dans le nombre d'items). Un exemple de code fautif ressemble à ça : pack c9f999999999B9999999K9
  • Bugfix sur un possible crash de Perl lorsqu'on donne des caractères de contrôles comme nom d'un caractère unicode (rappelez-vous le \N{MON NOM UNICODE})
Bugfixes Vieux bug de readpipe

Un vieux bug (depuis 5.7.0) relatif à readpipe qu'on peut (pouvait) reproduire avec

./perl -wle 'print readpipe($^X, "-e", q(printp "12\n"))'

ou

$^X

correspond au nom du binaire qui exécute le script avec comme argument
-e (/usr/bin/perl -e est simplement un début de oneliner Perl, pour prendre un exemple non-perlish c'est comme /bin/sh -c).

Le bug est la façon de parser readpipe.

Sortie de Perl 5.26 5.26.0 Sécurité Répertoire courant dans le PATH peu sûr (unsafe dot)

En 5.24.1 et 5.24.2 on voyait un premier travail sur les core modules pour ne plus charger les modules optionnels dans le PATH courant. Cette fois ça va beaucoup plus loin. Jusqu'alors, le répertoire courant, soit la valeur ., était ajouté par le compilateur dans le @INC à la fin de manière automatique. On peut le vérifier avec cette commande :

perl -e 'print join "\n", @INC; print "\n"' /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .

(oui cette commande est lancée sur une ubuntu 14.04, c'est un 5.18)

Ici on voit que la dernière entrée de @INC est ., c'est le programme perl lui-même qui décide de l'ajouter (à l'exécution). Les autres entrées sont :

  • Soit ajoutées en dur au moment de la compilation.
  • Soit ajoutées dans le script via use lib ou push @INC, "/pushme" ou local::lib
  • Soit ajoutées à la ligne de commande avec -Idir comme ceci perl -Itest test/myscript.pl
  • Soit ajoutées grâce à une variable d'environnement PERL5LIB

Voici un exemple avec $PERL5LIB :

export set PERL5LIB=/tmp/toto && perl -e 'print join "\n", @INC; print "\n"' /tmp/toto [Les autres entrées...] .

C'est assez courant de mettre une entrée dans le bashrc pour faire aller pointer vers notre répertoire de modules perso (ou même un répertoire partagé entre plusieurs machines).

Donc nous disions que le répertoire . était ajouté automatiquement… À partir de 5.26.0, . n'est plus dans le @INC.

Prenons un cas avant 5.26.0. dans un répertoire ~/test on crée 2 fichiers. Un module mymodule.pm et un fichier client myscript.pl.

Voici ce que contient mymodule.pm :

sub bazinga() { print "Bazinga !\n"; } 1;

On a mis une fonction bazinga et un code 1; pour dire que tout s'est bien passé au chargement du module. Par curiosité on peut exécuter mon module perl mymodule.pm ce qui ne fait rien. Très bien :)

Dans le second fichier myscript.pl on met :

#!/usr/bin/env perl use mymodule; bazinga();

On va chercher notre module et on appelle une fonction. Ce module n'est pas dans la liste des répertoires de modules comme /etc/perl mais il est dans le répertoire où nous sommes.

L'exécution de perl myscript.pl ou ./myscript.pl nous donne bien Bazinga !

En fait, perl a fait comme si nous avions mis use lib "." dans le script comme ceci :

perl -e 'use lib "."; print join "\n", @INC; print "\n"' . [Les autres entrées]

ATTENTION ici le répertoire courant est placé en premier.

Si nous faisons cd .. Et essayons de lancer perl test/myscript.pl ça ne marche plus !!!

Can't locate mymodule.pm in @INC (you may need to install the mymodule module) (@INC contains: /tmp/toto /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at test/myscript.pl line 4. BEGIN failed--compilation aborted at test/myscript.pl line 4.

Car le . ajoué dans le @INC n'est plus celui du script…

On pourra arranger ce problème en modifiant le script en ajoutant :

use File::Basename; use lib dirname(__FILE__);

Ou bien en donnant le répertoire dans la ligne de commande perl -Itest test/myscript.pl

En 5.26.0, même en étant DANS le même répertoire, on aura cette erreur.

On pourra changer ce comportement grâce à PERL_USE_UNSAFE_INC=1 ou en compilant perl avec -Udefault_inc_excludes_dot

Ce changement de comportement était un vrai séisme.

  • La commande do est utilisable pour remplacer un use donc exécuter un perl module ou bien simplement exécuter un autre fichier.

Le fichier autre.pl:

#!/usr/bin/env perl do "myscript.pl";

Si on l'exécute comme ceci perl autre.pl il va donner une erreur :

do "myscript.pl" failed, '.' is no longer in @INC; did you mean do "./myscript.pl"? at autre.pl line 1.

perl nous explique donc pourquoi ça marche pas. On peut le fixer avec do "./myscript.pl"; ou bien do "myscript.pl"; ou encore export PERL_USE_UNSAFE_INC=1 && perl autre.pl

De la même manière qu'on peut exécuter un script avec do on peut également inclure un perl module par exemple comme ceci do "mymodule.pm";

Autre
  • On retrouve également les bugfix de 5.24.1 et 5.24.2 sur PerlIO -Di et le problème de : dans le PATH
  • POSIX::tmpnam() pas safe et déprécié en 5.22 disparait
  • Fix sur XSLoader qui pouvait charger un fichier binaire en dehors de @INC
Améliorations du core de perl Here-docs indentés que dans le code source

Une limitation un peu gênante des here-doc était le fait de devoir casser l'indentation lorsqu'on les écrivait. On peut maintenant faire ignorer l'indentation

print <<~EOF; Je suis indente dans mon code source... mais pas dans execution :) EOF

Qui nous donne comme prévu :

Je suis indenté dans mon code source... mais pas dans exécution :) Declaration de références

Nouvelle feature expérimentale… Déclaration de référence \o/

Ce qui signifie qu'on pourra faire

use experimental 'declared_refs'; my \$rr; $$$rr = "toto"; print "$$$rr\n"

ou même déclarer une référence et faire un alias d'une autre référence

my \$alias = \$var;

A noter qu'on peut placer l'antislash avant le my comme ceci

\my $rr;

Plus d'infos ici

CORE et main

On peut appeler les fonction CORE avec le sigil de fonction & ou faire des références.

CORE est le package du core de Perl qui contient les fonctions builtin.

Attention le package de base s'appelle main et non CORE.

Pour declarer une variable dans le package de base, il ne faut pas utiliser my pour que la variable puisse s'attacher au package courant.

Lorsqu'on déclare une variable dans le package de base on peut faire ce genre de chose :

$var = "toto"; print "$::var\n"; # AFFICHE "toto"

ou

$var = "toto"; print "$main::var\n"; # AFFICHE "toto"

(cf doc package)

Mais si on declare avec my ca ne marchera PAS :

my $var = "toto"; # FAUX print "$main::var\n"; # AFFICHE RIEN Autre
  • Les lexical subs ne sont plus expérimentales. Mais ça ne veut pas dire qu'il faut les utiliser :) Cet article de blog explique pourquoi l'utilisation des lexical subs est "complexe"
  • Nouveau modifier /xx qui se comporte comme /x (ignore les espaces) mais permet de les ignorer également dans les classes de caractères entre crochets /[ ^ a-e r-z ]/xx
  • Nouveaux mots-clés pour les captures de regex @{^CAPTURE}, %{^CAPTURE}, et %{^CAPTURE_ALL}. C'est plus des alias qu'autre chose.
  • Support Unicode 9.0 (7500 caractères, 72 émojis, 6 scripts)
  • Toujours Unicode, améliorations de la gestion des scripts unicode. Un script unicode va nous permettre de tester une famille de caractères. Par exemple \p{sc=Braille} nous permettra de tester un caractère Unicode braille
  • Perl sait mieux trier l'UTF8 en utilisant LC_COLLATE.
Changements incompatibles
  • Une accolade (pour matcher une accolade) dans une regex doit être protégée par un antislash ou 2 crochets sinon la compilation échoue. Le but de ce changement est d'ouvrir de nouvelles possibilités pour les regex. C'était déprécié depuis 5.16
  • Nouveau comportement de scalar(%h) qui retourne le nombre de clés.
  • Meilleure consistance concernant les fonctions à lvalue en contexte de liste. Il s'agit ici d'aligner le comportement de keys %hash (en assignement lvalue)
  • Le module pour forcer l'encoding sort du core, on peut continuer à le faire avec un module CPAN.
  • On ne peut plus donner un nom absolu (::Ici::La::MonModule) pour inclure un module
  • Plus de caractères de contrôles dans les noms de variables. Honnêtement ça ne va pas manquer. Est-ce que vous appelez vraiment vos variables $\cx\cx\cx ? Si oui, je ne peux plus rien pour vous :P
  • Les caractères nommés ne doivent plus contenir d'espace.
Dépréciations
  • Les délimiteurs de chaines doivent être des graphemes.
  • Les caractères de contrôle ne sont plus acceptés dans les chaines mais ils ne deviennent plus dépréciés non plus. Ici on parle des caractères de contrôles qui n'ont pas d'alias (\n est un alias. Et on peut s'amuser avec perl -e 'print "Je\cJsuis\cJbeau\cJ";' qui produit :
Je suis beau Performances Prototypes et signatures

Implémentation des signatures de routines plus rapide.

Puisqu'on aborde les fonctions, on va prendre un moment pour en parler. Le mécanisme de fonction en Perl est très flexible et ne ressemble pas forcément aux autres langages.

À l'origine et dans pas mal de code Perl, on trouve des fonctions sans prototype comme par exemple sub func { mon corps de fonction }. On récupère alors les arguments tout simplement en piochant dans le tableau des arguments @_ :

  • sub f { my $a1 = shift @_; print $a1 } f("abc"); nous donne bien abc
  • Même chose si on oublie le @_ my $a1 = shift; fait exactement le même travail.
  • Ou si on utilise la notation indexée my $a1 = $_[0];
  • Ou encore on peut forcer le contexte en liste et récupérer un seul item my ($a1) = @_;

Maintenant que se passe-t-il si on donne plusieurs arguments ? Rien !

f("abc", "def"); se comporte pareil, le second argument est bien dans @_ mais n'est jamais récupéré, seul le premier est pris.
On peut le récupérer avec un deuxième shift my $a1 = shift; my $a2 = shift; ou en indexant avec my $a1 = $_[0]; my $a2 = $_[1]'; mais on aussi réutiliser la méthode avec le contexte de liste à gauche de l'assignement my ($a1, $a2) = @_;

Une propriété de Perl est d'aplatir les tableaux et donc ((("a", "b")), "c") est pareil que ("a", "b", "c"). Lorsqu'on veut passer des choses plus compliquées (comme des tableaux) dans des appels de fonctions, ce principe de array flattening ne permet pas de savoir pour f(@a, @b) où commencent et où finissent les tableaux. C'est pour cette raison aussi que les tableaux de tableaux ou les hashs de hashs utilisent les références (sinon tout s'aplatit !)

On doit donc donner une référence et déréférencer ensuite dans la fonction :

sub f { my $ref = shift; print @$ref } my @a = ("a", "b"); f(\@a, "c");

et là on a bien délimité notre tableau et notre c ne se retrouve pas dedans.

En Perl, on peut choisir d'être très expressif ou non.

Personnellement, je déclare mes fonctions en début de fichier et j'utilise les prototypes. C'est plus déjà pour les humains avant d'être un besoin.
Mais tout le monde n'est pas d'accord (on a les 2 sortes de partisans sur ce thread) car le prototype sert plus à donner à l'interpréteur une indication sur la façon d'évaluer l'argument qu'à lui dire de faire la vérification de type.
La notion de prototype n'est donc pas forcément exactement ce que vous pouvez attendre d'elle. Si vous attendez des prototypes de fonction Perl principalement des vérifications du typage, ce n'est pas vraiment le but premier, même si ça sert aussi un peu à ça.

Les prototypes permettent 3 choses :

  • Émuler la conversion implicite des builtins.
  • Faire de la vérification de type.
  • Dire aux humains comment s'utilise la fonction.
  • (Parfois, ne pas avoir à mettre des parenthèses dans l'appel d'une fonction)

Qu'est-ce que la conversion implicite des builtins ? Les fonctions builtins pratiquent une conversion implicite des paramètres c'est à dire que push @array, 12 va convertir @array en une référence et donc travailler sur le tableau et non ses valeurs. C'est pour cette raison que la valeur du tableau est modifiée à la sortie.
Si on essaye de faire la même chose avec une fonction à nous, on n'y arrivera jamais, car (1) on récupèrera toujours un tableau de valeurs contenant toutes les valeurs et (2) il nous faut une référence pour travailler sur le tableau et non les valeurs elles-mêmes.

Pour y parvenir, il faut préciser le prototype comme ceci f(\@$) qui dira "je veux un tableau qui sera converti en référence en arrivant dans la fonction" et un "scalaire".
On appellera la fonction avec f(@tab, 12).

La notation \@ permet de :

  • Vérifier que l'argument à l'appel commence bien par @ (donc vérification du typage)
  • Convertir implicitement le tableau en référence . On peut faire à peu près la même chose en déclarant la fonction comme ceci f($$) et en appelant avec f($ref, 12) mais cette fois il n'y a NI CONVERSION IMPLICITE, NI VERIFICATION f(11,12) est joyeusement accepté même si c'est faux. Et même f(@a,12) !

Avec les prototypes, que ce soit la version avec ou sans vérification du typage, on a tout de même une vérification du nombre d'arguments. Donc f(11) n'est pas accepté car la fonction souhaite 2 arguments. Pareil avec f(11,12,13) qui est refusé par perl.

On peut rendre les prototypes flexibles très facilement grâce à 2 méthodes.
La première est de mettre un tableau comme dernier argument :

sub f($$@) { my $a = shift; my $b = shift; my @c = @_; # Mon code } f(11,12,13,14,15);

Le tableau @c va "manger" tous les arguments restant.

Ou en utilisant les arguments optionnels. Notez bien le ; dans le prototype :

sub f($$;$$$) { my $a = shift; my $b = shift; my $c = shift; my $d = shift; my $e = shift; # Mon code } f(11,12,13,14,15);

Tout ce qui se trouve après le ; est optionnel.

Un appel comme f(11,12,13,undef,15); ou f(11,12,13,undef,15); gardera bien l'ordre des argument mais attention f(11,12,13,,15); se transforme en f(11,12,13,15); et ne fera probablement pas ce que vous souhaitez.

ATTENTION nous avons parlé jusque la des prototypes or les signatures ne sont pas la même chose que les prototypes !

Pour ce qui concerne les signatures, il s'agit d'aller plus loin que la prototype avec des paramétres nommés :

use feature qw(signatures); no warnings qw(experimental::signatures); sub hello($name) { print "Hello $name !\n"; } hello("DLFP");

Qui produit donc Hello DLFP !

On pourra donner des valeurs par defaut aux arguments :

sub fourchette($min = 0, $max = 10) { $min..$max; } print fourchette();

Qui affiche

012345678910

Le mécanisme d'arguments optionnels ne fonctionne pas de la même manière qu'avec les prototypes simples. Ici on n'utilise pas ; mais on donne une valeur par défaut a l'argument :

use feature qw(signatures); no warnings qw(experimental::signatures); sub hello($name, $age, $ville = undef) { print "Hello $name, ton age est $age"; print " et tu habites $ville" if $ville; print "\n"; } hello("Tux", "23");

Et ca nous donne Hello Tux, ton age est 23 — oui Tux a 23 ans en 2019, il a été dessiné par Larry Erwing sur une idée d'Alan Cox et Linus Thorvald.

En conclusion je vous donne un très bon article de blog écrit par Brian D Foy sur les signatures si vous en voulez encore plus :D

Assignement

Des optimisations à l'assignement :

  • Optimisation de l'assignement de références entre elles.
  • Optimisation de l'assignement des hash/array (lorsqu'ils sont à gauche du égal)
  • Optimisation du split
Autre
  • Nouvel algo de hash pour les machines 64 bits. Clés courtes, variante de One At A Time Hard et clés longues Siphas 1-3. Perfs améliorées pour clés courtes et longues.
  • Meilleures performances des hash en contexte booléen.
  • La lecture des fichiers avec <> est plus rapide (code qui teste le retour à la ligne a été optimisé)
  • On utilise le COW plus souvent
  • Conversion chaine mono digit plus rapide.
  • À partir de 5.26.0 on applique le constant folding également pour les chaines. Donc my $s = "a" . "b"; est compilé comme my $s = "ab";
Changement internes
  • Time::HiRes module (timers très précis) est compilé avec C++11
  • Nouveau message d'erreur Version control conflict marker si perl détecte un marqueur de VCS comme un conflit git.
  • De nombreuses nouvelles fonctions pour gérer UTF8
  • Perl compile par défaut avec PERL_OP_PARENT qui permet à un opérateur de connaitre son parent
  • Des nouveaux opérateurs pour gérer les signatures de fonctions.
  • Une fonction op_class() pour connaitre la classe d'un opérateur
  • Sortie en ASCII art de op_dump()
  • Meilleur mode debug
Compilation
  • On en a parlé longuement déjà, nouvelle option -Ddefault_inc_excludes_dot pour ne plus ajouter . au @INC à l'exécution.
  • On peut désactiver PERL_HASH_SEED et PERL_PERTURB_KEYS. Désactiver c'est mettre le comportement de base tout simplement.

Si on donne une valeur à PERL_HASH_SEED alors on force la graine pour le côté aléatoire du parcours de hash. C'est potentiellement une mauvaise idée… et ça va forcer PERL_PERTURB_KEYS (si pas défini) :

  • PERL_PERTURB_KEYS = 0 alors traverser un hash se fait toujours de la même manière, même lors d'une seconde exécution de programme
  • PERL_PERTURB_KEYS = 1 alors traverser est totalement aléatoire
  • PERL_PERTURB_KEYS = 2 alors l'ordre des clés change à l'insertion mais de manière reproductible entre les exécutions de programme

Cela se fait à l'aide de cette variable configure -Accflags=NO_PERL_HASH_ENV.
Pareil pour PERL_HASH_SEED_DEBUG qu'on pourra désactiver avec -Accflags=-DNO_PERL_HASH_SEED_DEBUG

  • Fin du support de nombreux algos de hash non recommandés.
  • Plus de warning Warning: perl appears in your path car Perl est quasi toujours dans le path :)

Des améliorations au niveau du padding :

  • Mise à zéro pour l'alignement.
  • Format de sortie change pour perl -V
  • Fixes sur clang, gcc 6 flto et cross-compilation
  • PATH séparateur sur VMS devient : lorsque le shell est un shell Unix
  • Fin du support du format a.out. Je cite Linux has used ELF for over twenty years. :)
  • Toujours pas de support pour pid, gid, uid avec SA_SIGINFO sur OpenBSD 6
  • Un test qui ne finit pas est désactivé sur FreeBSD
  • Support de setproctitle() sur DragonFly BSD
  • Pas de support des nombres flottants infinis sur NetBSD. 98% des test sont bons.
  • D'autres trucs sur VAX, Hurd, HP-UX, EBCDIC, Darwin
Bugfixes Parsing %::

Un bugfix sur un mauvais parsing de code comme use re %:=0. %: n'est rien mais %:: est le main stash (équivalent de %main::).

Si on déclare une variable sans my elle s'attache au main stash et on peut lister le contenu du main stash comme un autre hash :

perl -e 'my $toto = "a"; $tata = "b"; foreach my $k (keys %::) { print "$k\n"}' | grep "tata\|toto" tata

NB : toto n'est pas dans le main stash et un foreach sur %: ne fait rien du tout
Ou accéder à la variable comme ceci :

perl -e '$tata = "b"; print "$main::tata\n"' b Parsing de $foo::$bar

Le parsing de "$foo::$bar" a changé en 5.18. Le parsing "normal" consiste à traiter ça comme $foo:: . $bar, donc

my $foo = "abc"; my $bar = "def"; print "$foo::$bar"

produit def. Mais avec le changement de parsing $foo."::".$bar, ça donnait abc::def. Les perl porters n'étaient pas sûrs du bon comportement, mais partant du principe de rester cohérent avec $foo::%bar ils ont remis l'ancien parsing.

Regex recursion infinie

Dans certains cas, l'exécution de code embarqué dans une regex pouvait aboutir à une récursion infinie de la stack C (pas la même que la stack Perl). Un exemple de code est celui-ci /(?{ s!!! })/. Il faut que le pattern qui match soit lui-même.

Lorsque rien n'est spécifié c'est $_ qui est matché :

$_ = "toto"; print "Get it\n" if /to/;

nous donne donc Get it.

perl -le '/(?{ m##, s|||})/' Segmentation fault (core dumped)

Pas besoin de préciser le premier m car le slash suffit mais le second m est obligatoire.
Au niveau fonctionnel ce code est un non-sens en tout cas.

LHS RHS

Changement de comportement dans le cas d'assignement avec RHS n’ayant pas assez d'éléments par rapport au nombre d'éléments LHS.

LHS et RHS signifient à gauche du égal et à droite du egal (cf LHS/RHS).

Dans le cas où on avait plus d'éléments à gauche on a bien le comportement normal de Perl qui fait du mieux qu'il peut et retourne un maximum d'éléments. Mais si un tableau s'était glissé dans le groupe alors seulement un élément était retourné.

La mort de "dollar dash"

Fix d’une utilisation du tas après un free ou un buffer overflow avec la variable dépréciée $# (plus d'infos sur cette variable). Attention $# n'est PAS $#array. On en reparle en 5.30.0

Autre
  • Plus de crash lors en utilisant setlocale avec certaines valeurs (bug libc).
  • Fix d'un memory leak avec les captures nommées (chercher par ici)
  • Un fix sur la commande magique et mystérieuse formline
  • Un autre fix sur un accès possible à de la mémoire libérée avec formline
  • Le combo regex et smart match ne fonctionnait pas bien (smart match converti en regex), c'est fixé
  • Fix bug dans des cas obscurs contenant ?{code} qui permet d'exécuter du code dans une regex
  • De même forcer un local dans un ?{} pouvait rester bloqué à la sortie.
  • use utf8 concerne bien le fichier dans sa globalité à présent alors qu'avant seules les parties entre quotes étaient concernées.
  • Fix range operateur .. pour fonctionner avec les unicode_strings
  • Bugfix d'une allocation insuffisante par split sans pour autant être un problème de sécurité (inexploitable…)
  • Bugfix implémentation de sort() avec des grands entiers
  • Fix coredump généré par chop ou chomp et ce genre de code chop(@x =~ tr/1/1/)
  • Un commentaire dans une regex avec modifier /x pouvait être ignoré parfois, c'est fixé.
  • Ignorer {}->$x plutôt que crasher quand $x n'est pas défini.
  • Des lectures de données non initialisées dans un cas très particulier de tr/// ou avec une backreference comme \1
  • Bugfix de crash possible ou réclusion infinie avec les forward déclaration comme sub c { sub c; }
  • Fix assertion failure dans des regex utilisant des regex_sets
  • Fix crash d'un code invalide comme \sort = 1.
  • Fix d'un crash possible avec evalbytes (vu en 5.24.3)
  • Fix d'erreurs de lexer.
  • Plusieurs problèmes de regex avec utf8 (crash avec s/// et buffer overflow)
  • Fix segfault avec option -DC (pas grave, c'est du debugging)
  • Fix lexer sur ce genre de chose (notez le backslash en dernier) print "<<`\". En fait l'interpreteur va lire trop loin car il ne trouve pas la fin (il est dupé par les caractères échappés).
  • Dans certains cas le tri en place @tab = sort { ... } @tab pouvait crasher. C'est fixé
  • Fix report de warning inapproprié avec pack("p", …)
  • Plus de memory leak sur des tests de définition de typeglobs (déjà parlé avant) comme defined *{'!'}
  • Le classique format %a du printf a eu de nombreux fixes et également le support pour subnormals (ou denormals) c'est à dire les nombres flottants à virgules très très petits.
  • Plus de warnings sur @DB::args. Profitons-en pour parler de DB qui est une interface pour accéder au debugger perl. Et @DB::args contient les arguments de la fonction courante. Warning présent qu'avec le switch -w et non le use warning blablabla
  • Plus de warning non plus sur les builtin tableaux. Le warning Possible unintended interpolation… était en fait lié au fait que les tableaux n'étaient pas déclarés (or ils n'ont par définition pas besoin de déclaration car intégrés à perl)
  • Fix d'une régression de 5.24 sur tr/\N{U+...}/foo/ avec le caractère compris entre 128 et 255. C'est fou le nombre de bugs autour d'Unicode… :/
  • Les délimiteurs de chaine c'est à dire le caractère spécial comme q// ou q?? ou qmm ne pouvait pas être un code point trop grand car confondu avec d'autres caractères. Dans les faits ça signifie que q\x{fffffff}machaine\x{fffffff} ne marchait pas.
  • Un code faux comme @{\cX (déréférencer un tableau caractère de contrôle) puis retour à la ligne crashait en plus de donner une erreur de syntaxe.
  • Fix d'un crash quand on joue avec les stash et typeglobs comme ceci sub P::f{} undef *P::; *P::f =sub{};. Fonction f dans stash P. Suppression du symbole P. Redéfinir fonction f dans symbole P inexistant.
  • Meilleur report pour /(?<=/ et /(?<!/ (séquence non terminée plutôt que assertion failure)
  • Meilleur report pour until quand on met = a la place de == (par exemple)
  • Fix bug du bitwise assignement quand on assigne dans un hash ou un array par exemple @array &= 0.
  • Bugfix d'un require conditionnel dans ce genre de cas inclure_ou_pas() ? require : require $_. C'est particulier, car en omettant l'argument de require on veut $_ bref c'était cassé.
  • Fix runtime erreur avec vec "Can't coerce" lorsque le premier argument de vec est un hash ou un tableau. A présent, l'erreur est à la compilation.
  • Meilleure erreur lorsqu'un \N { n'est pas fermé dans une regex.
  • Un fix sur un bug du lexer avec une fin de ligne avec un code UTF8 trop court.
  • Un bugfix sur UTF8 et les alternations dans les regex. Alternations kesako ? Simplement | :)
  • Pas d'erreur de compilation sur un do "monfichier\0dutexte" alors que perl doit partir en erreur.
  • Vous vous souvenez que le comportement de chdir (en 5.24.0) avait changé ou au moins avait été limite. Pour aller dans le home il faut maintenant faire chdir sans argument.
  • Lorsqu'on fait un undef du typeglob du tableau courant comme ceci sub f() {undef *_; shift} f(); perl crash. Attention, ça ne crash que dans une fonction.
  • Le parsing des classes de caractère POSIX peut entrainer une fuite mémoire. Une classe de caractère POSIX est une sous sorte de classe de caractères.
Problèmes connus
  • Déjà mentionné dans Compilation/Plateforme mais travailler avec des virgules flottantes très très petites peut être arrondi a zéro tout simplement (à cause de g++ 6)
5.26.1 Sécurité
  • [CVE-2017-12837] Bugfix d'un possible buffer overflow lorsqu'une regex avec modifier case-insensitive et une expression \N{}
  • [CVE-2017-12883] Bugfix d'un buffer overflow avec une erreur de syntaxe comme par exemple \\N{U+.}.
MAJ de modules
  • Encore du travail sur le module base.pm vis à vis de la suppression du répertoire courant dans @INC
Compilation
  • Fix build avec g++ sur FreeBSD. Le compilateur par défaut pour FreeBSD 11 et FreeBSD 12 semble être clang.
  • Fix modules XS compilation avec gcc 6 en 64-bits
Bugfixes
  • Fix cas de panique lors de certains cas de return de fonctions. Par exemple ce code sub test { my @x; (@x,@x); }; test(); (il faut que les tableaux soient vides).
  • Une référence symbolique combinée avec une post déréférencement (->@* ou ->%* ou ->$*) produisait une assertion failure alors qu'il ne faut pas. Attention les symbolic ref sont déconseillées à l'usage notamment si on utilise use strict.
  • Bugfix sur un assignement de liste. En rapport avec la stack de la mort (f3ar !). Plus d'infos en 5.28.0.
  • Fix d'un crash de perl quand on veut mettre un attribut à une variable globale mais qu'une fonction existe déjà avec ce nom. Je pense que les attributs sont en quelque sorte des decorators. Les attributs sur les variables globales sont gérés à la compilation. On trouve plus d'explications ici.
  • Tenter d'exécuter une référence de fonction qui a été déclarée à travers un typeglob sur le stash main comme ceci $::{"A"} = sub {}; \&{"A"} peut produire un crash (il faut aimer le risque). C’est fixé.
  • Bugfix sur atof2().
  • Des bugs occasionnels sur certains caractères UTF8. Le bug est initialement reporté par Benjamin Bayart sur la liste debian puis géré dans le gestionnaire de tickets Perl. Bugs occasionnels car ça crash 50% du temps environ.
  • La mise en place du code pour gérer les exceptions perl est paresseuse, tellement paresseuse que certaines exceptions pouvaient apparaître avant la fin de la mise en place et le code pouvait sauter à une adresse pas encore bien configurée et crasher. C’est fixé :)
  • Une régression (malgré un cas de test) sur le parsing des classes de caractères POSIX. perl simplement reportait des warnings là où il n'y a pas lieu d'être.
5.26.2 Sécurité
  • [CVE-2018-6797] Un fix sur encore un problème de regex avec \N{U+0}. Quand on lit le ticket, honnêtement on peut tirer son chapeau à ces uber programmers qui arrivent à fixer ce genre de problème.
  • [CVE-2018-6798] Possible buffer overflow avec une regex contenant \x{nombre} avec modifier case insensitive applique sur une autre valeur \x{nombre}
  • [CVE-2018-6913] Problème avec pack avec un nombre d'item très large. On a déjà vu ça par le passé, mais c'était pas la même root cause.
Bugfixes Regex alambiquées

J'aime le terme utilisé pour décrire les regex qui produisent ce bug. Il est dit convoluted kinds of regexp qui se traduit par alambiquées. À quoi ressemble une regex alambiquée ? Eh bien ça ressemble à ça :

'0(0?(0||00*))|' Rapport d’erreur et arrêt plus précoce

Plutôt que d'essayer de donner de meilleurs messages d'erreur en crashant parfois, certaines erreurs vont être reportées plus tôt et s'arrêter ensuite.

Comme on peut voir, de très nombreux bug fix concernent du code incorrect. Un code qui crash peut au minimum est utilisé pour faire un DoS, donc il faut le prendre au sérieux.

Autre
  • Plus de vérifications à la compilation pour readpipe(), ça évite la corruption à l’exécution.
  • Fix un use-after-free bug lorsqu'on a des espaces et des retours à la ligne après une déclaration partielle de fonction.
  • Un fix du tokenizer sur le parsing des identifiers avec espaces.
  • L'aliasing des variables $a et $b variables magiques au sein d'un sort était mal fait et un nouvel alias n'était pas forcement compté alors qu'un unalias était bien noté. Cela pouvait entrainer un free sur variable alors qu'elle n'était plus comptée comme utilisée et perl n'était pas d'accord.
  • Bug avec -flto et -mieee-fp. -flto on en a déjà parle (optimiser la vitesse de compilation) quant à -mieee-fp, il sert à Contrôler ou non si le compilateur utilise des comparaisons à virgule flottante IEEE. Ce qui permet de gérer correctement le cas où le résultat d'une comparaison est non ordonné. (man gcc)
5.26.3 Sécurité Faille dans Archive::Tar

[CVE-2018-12015] Un bug intéressant. L'implémentation de tar dans Perl est Archive::Tar qui permet de faire tout ce que vous pouvez faire en ligne de commande. Normalement Archive::Tar empêche d'extraire en dehors du répertoire courant mais une feinte avec un symlink permet de bypasser facilement cette limitation.

Je reprends le très bien expliqué exemple du ticket de Jakub Wilk :

tar -tvvf traversal.tar.gz lrwxrwxrwx root/root 0 2017-09-30 15:36 moo -> /tmp/moo -rw-r--r-- root/root 4 2017-09-30 15:36 moo pwd /home/jwilk ls /tmp/moo ls: cannot access '/tmp/moo': No such file or directory perl -MArchive::Tar -e 'Archive::Tar->extract_archive("traversal.tar.gz")' ls /tmp/moo /tmp/moo Autre
  • [CVE-2018-18311] En mettant une valeur très grande dans une variable d'environnement par exemple une très grande chaine composée de la même lettre 0xFFFFFFFF fois on peut écrire après le buffer alloué. C’est fâcheux.
  • [CVE-2018-18312] (basé sur \x), [CVE-2018-18313] (basé sur \N{}) et [CVE-2018-18314] (base sur les classes de caractère étendus) Des regex peuvent crasher à la compilation et lire après le buffer ou bien écrire après
Sortie de Perl 5.28 5.28.0 Améliorations du core de perl Hash slices et slices clé/valeur

En 5.20.0 ont été ajoutées 2 nouvelles sortes de slice : les key/value hash slices et les index/value array slices.

Ces 2 sortes de slices s'appliquent sur un hash contrairement aux slices de base.

Les key/value hash slice sont en fait un façon d'obtenir un sous ensemble d'un hash par exemple en faisant my %petit = %grand{'cle1', 'cle2'}; qui va sélectionner les 2 paires de clé/valeurs pour faire un nouveau hash.

Les index/value array slice suivent un peu le même principe mais on sélectionne avec les index et on récupère une liste index/valeur. Voici un exemple : @petit = %grand[1,3];
Les slices standard (si on peut dire) s'appliquent sur les tableaux et permettent également de récupère un sous tableau :

perl -e 'my @joueuses = ("le sommer", "gauvin", "henry", "thiney", "cascarino"); print join " ", @joueuses[1,3,4]; print "\n";' gauvin thiney cascarino

Avec 5.28.0 on peut maintenant utiliser delete sur les array slices et hash slices c'est à dire pas du tout ce que je viens de présenter :-) Un exemple :

my %hash = ( cle1 => "valeur1", cle2 => "valeur2", cle3 => "valeur3" ); delete @hash{cle2}; foreach my $k (keys %hash) { print "$k\n";}

qui donne

cle3 cle2

Attention, comme on peut le voir, le sigil a changé c'est bien @hash{} avec un arobase. En Perl, il peut exister @var, $var et %var simultanément.
Pour s'en convaincre, ajoutons une autre variable @var :

my @var = ("a", "b"); my %var = ( cle1 => "valeur1", cle2 => "valeur2", cle3 => "valeur3" ); delete @var{cle2}; foreach my $k (keys %var) { print "$k\n";} print @var;

qui donne

cle1 cle3 ab Regex lookaround

Des synonymes pour les expressions lookaround qui sont des expressions regex pour tester des choses comme :

/foo(?=bar)/

je veux le mot foo suivi par le mot bar mais sans l'inclure dans le match.

Quel est l'avantage des lookaround assertions ? (oui assertions car on parle de tester sans consommer le caractère)

En fait examinons un cas simple ou je veux matcher un a qui n'est pas suivi par un b. Si j'utilise une classe de caractère avec négation a[^b] ça signifie un a SUIVI par quelque chose et cette chose est autre chose que b… Donc la chaine "archlinux" va matcher et le match va contenir "ar". Mais la chaine "fedora" ne va pas matcher… Car il n'y a rien après le "a". Grâce à un lookaround assertion comme ceci a(?!b) (lookahead negatif) on va matcher les deux chaines et on aura bien que le "a" même pour "archlinux".

Autre
  • Support de unicode 10.0 qui ajoute environ 8500 caractères dont le signe bitcoin, des émojis encore dont la tête qui explose et les magiciens/fées/sirènes
  • Meilleure gestion des unicode script run
  • L’édition en place avec -i devient safe. Une copie du fichier à traiter est faite pendant le travail. perl -i.bak va prendre le fichier en entrée et s'en servir comme output (en faisant au préalable un backup ici avec l'extension .bak. Si on ne précise pas d'extension, le mode legacy unsafe est utilisé.
  • Une variable lexicale persistante peut maintenant être déclarée et initialisée si c'est un tableau ou un hash par exemple state @a = qw(x y z). Une variable persistante c'est une variable qui garde sa valeur entre les appels de fonction.
  • Sur les plateformes qui utilisent des inodes plus grandes que le type entier natif de Perl, Perl gère maintenant ces inodes dans des chaines.
  • Une petite amélioration concernant sprintf %j (choisit la taille du champ)
  • Les filehandles sont plus souvent ouverts avec le flag close-on-exec ce qui protège de passer accidentellement le filehandle à un autre programme.
  • La feature bitwise en 5.28.0 n'est plus expérimentale !! Hourra !!
  • Le changement de locale est thread safe sur les plateformes qui le gèrent. La variable ${^SAFE_LOCALES} sert justement à dire si la plateforme est locale thread safe ou non.
Sécurité
  • On retrouve les CVE de 2.26.1 donc [CVE-2017-12837], [CVE-2017-12883] et [CVE-2017-12814]
  • En 5.26.0 de nombreux algo de hash ont ete retirés des options Configure. En 5.28.0 ajoute des options pour configurer les principaux algos :
    • -DPERL_HASH_FUNC_SIPHASH
    • -DPERL_HASH_FUNC_SIPHASH13
    • -DPERL_HASH_FUNC_STADTX
    • -DPERL_HASH_FUNC_ZAPHOD32
    • -DPERL_HASH_USE_SBOX32_ALSO=0
    • -DSBOX32_MAX_LEN=16
Changements incompatibles Here-docs sans delimiteur

Généralement on utilise les heredocs avec un texte de fin comme END. Mais on peut également utiliser une ligne vide comme délimiteur :

my $var = <<""; toto print $var

Ou encore la version implicite :

my $var = <<; toto print $var

Cette dernière version était dépréciée et devient interdite.

Readline delimiteur

Mettre une valeur bizarre dans $/ qui sert à dire à Perl quel est le délimiteur de ligne (quand on lit ligne par ligne). Il n'est plus autorisé de mettre une valeur négative. Cette valeur est utilisée par le readline ou <> et également par chomp(). Exemple si on dit à Perl que le séparateur de ligne est la lettre b :

$/ = "b"; while(<>) { print "[$_]\n"; }

Et on pourra tester avec un :

echo -n "ababa" | perl sep.pl

Le séparateur peut être plusieurs lettres ou undef dans ce dernier cas un readline va simplement lire toute l'entrée en une fois. Petite précision, le contenu de $/ ne peut pas être une regex.

Yada yada usage restreint

L'opérateur yada yada qui sert de placeholder pour le code non implémenté (lance une exception unimplemented). Il était accepté comme expression autorisant ce genre de chose ... . "toto" Or il ne doit être accepté que comme statement. Pas de panique (oui j'en vois qui paniquent xD), on pourra toujours simuler une expression avec do{...}.

Algo de tri

Les subpragamata de sort pour choisir l'algorithme de classement disparaissent. Restent le pragma sort pour spécifier la stabilité du classement :

use sort 'stable'; # guarantee stability use sort 'defaults'; # revert to default behavior no sort 'stable'; # stability not important Autre
  • Changements dans le feature expérimentale des signatures et les attributs (l'attribut ne se place plus au même endroit)
  • Attribut :locked et :unique supprimés. Ces attributs étaient utilisés pour le multithreading, or la gestion du multithreading a changé et ces attributs ne servent plus à rien depuis longtemps. C'était prévu depuis 5.12 et 5.10, il fallait s'y attendre :D
  • L'expression vide \N{} devient fatale. Cette expression ne fait strictement rien.
  • Ouvrir un filehandle et un dirhandle dans la même variable n'est plus autorisé.
  • Interdiction de donner des codes Unicode au-delà de IV_MAX (dépend de la plateforme). Plus d'infos sur l'entrée dans perldeprecation
  • B::OP::Terse disparait au profit de B::Concise::b_terse. Le module B est un core module qui sert à aller fouiller dans le backend du compilateur de Perl.
  • Une feature accidentelle de AUTOLOAD est supprimée. Qu'est-ce exactement qu'autoload ? L'autoloading est une façon de définir un comportement par défaut pour les fonctions non définies.
  • Plus de backslash pour échapper les : dans le PATH (sécurité…)
  • Plus d'option -DH pour builder perl, c'est cassé depuis longtemps.
  • En octal ou binaire il était possible de donner des nombres hors base après la virgule dans un nombre a virgule flottante. Ce bug est fixé.
  • Changement de comportement de unpackstring() en C.
Dépréciations Démarrer ses tableaux avec un index original

Changer la valeur de *`{mathjax} [** va devenir interdit. Cette variable magique permet de changer l'index de départ d'un tableau (pour s'amuser ou pour s'approcher du style de certains autres outils comme fortran). En effet, la philosophie de Perl est TIMTOWTDI (Tim Toady) mais dans ce cas bien précis, changer la valeur de *`[** dans un coin d'un programme peut rendre un programme totalement illisible et pose des problèmes de maintenabilité donc. On peut utiliser un autre module pour faire ça si on en a vraiment besoin. On peut suivre la vie de $[ sur perlbanjo.

Autre
  • On ne doit plus utiliser vec avec des chaines ayant des points de code après 0xff car leur représentation se fait en UTF8 et vec travaille sur des bits.
  • En 5.26.0, l'usage des accolades non échappées dans un regex devenait fatal. Fait intéressant, ça avait cassé GNU autoconf et c'est un cas intéressant de gros logiciel qui fait plier une dépendance puisque Perl a fait un fix de dernière minute pour être plus laxiste vis à vis des accolades. Ce fix est désormais appliqué pour tout le monde :)
  • Bientôt plus d'arguments pour hostname()
Mises à jour de modules Suppression de Local::Codes du core

Suppression prévue de Local::Codes. La suppression est demandée par son auteur, Dans le cadre de cette suppression et comme discuté sur la liste, les autres modules cpan qui consomment cette dépendance doivent se mettre à jour et il est donc nécessaire de les prévenir. J'en profite pour glisser un lien qui permet de lister les dépendances DECLAREES d'un module cpan. Les modules qui posent problème n'apparaissent pas dans cette page.

Autre
  • Suppression de B::Debug.
  • Suppression du pragma use vars partout où c'est possible.
  • Remplacer DynaLoader par XSLoader. Dynaloader et XSLoader sont des modules Perl pour faire du dynamic linking en gros du dl_open.
  • MAJ de Archive::Tar suite au fix de sécurité en 5.26.?.?
  • MAJ de B::Deparse et fix bug avec les attributs
  • MAJ Carp. Bug fix sur la constante ISA, le comptage des références et l'overloading.
  • MAJ de zlib pour fixer un problème de sécurité de la lib zlib
  • Amélioration de Data::Dumper output
  • Devel::PPPort prend du grade et devient core module
  • File::Copy utilise Time::HiRes si possible
  • POD::Html génère un title
  • On fait plus attention aux locales dans le module POSIX.
  • XSLoader doc
  • Suppression compatibilité VMS::stdio
Performances Multi Concat
  • Les concaténations multiples sont optimisées donc
my $var = "a"; $var .= "$b $c $d\n"

est vue comme une seule concaténation.

En parlant du temps de concaténation, on perd en performance des qu'on mélange constantes et variables et utf8 et non utf8 chaine mais c'est aussi là qu'il y a le plus à gagner en terme de performances :) sprintf aussi bénéficie de cette amélioration.

Require

Appeler require sur un module déjà chargé est plus rapide.

require est une fonction qui permet soit de spécifier une version Perl, soit d'exécuter un code externe.

Voici une belle explication stackoverflow sur la différence entre do/use/require mais en gros :

  • use : lit fichier, vérifie, exécute et fait import
  • require : lit fichier une fois, vérifie et exécute
  • do : lit et exécute fichier
Autre
  • Perl plus rapide au démarrage de la compilation des p{} (propriétés unicodes)
  • ref() devient plus rapide car il ne construit plus la représentation chaine de caractère.
  • keys appliqué sur rien ou sur une variable qui n'est pas un hash est plus rapide.
  • Le classique if(index() != -1) { #J'AI PAS TROUVE :/ } est optimisé
  • Optimisation des boucles for (et foreach car je rappelle que for et foreach sont des alias en Perl)
  • Le core module File::Glob recoit des optimisations. Ce module sert à faire ce genre de chose my @sources = <*.{c,h,y}>; soit les BSD glob routines.
  • Optimisations sur des fonctions retournant des entiers qu'on utiliserait par exemple en contexte booléen.
  • Petite optim sur le parsing des noms de symboles
  • Meilleures perf pour les classes de caractère ascii [[ascii]].
  • Des optimisations sur certaines regex. Dans de bonnes circonstances, on peut gagner pas mal.
  • D'autres optimisations concernant la gestion d'UTF8
Compilation et plateformes
  • C89 minimum requis ! Documente depuis 1998
  • Option GCC -Werror=pointer-arith par défaut. On peut toujours faire de l'arithmétique de pointers, mais pas avec n'importe quoi
  • Ajout d'un .travis.yml pour que les devs qui forkent perl sur github puissent avoir le build dans Travis CI. Le git officiel de Perl5 est sur git.perl.org mais il y a un miroir sur github
  • Plus de support du format .bz2, seuls les formats .xz (compresse mieux et plus vite) et .gz (peu gourmand en mémoire) seront utilisés
  • Centos 5 fixé
  • Suppression de PowerUX et Power MAX OS
  • Cygwin <3 quadramath
  • Perl utilise correctement les fonctions réentrantes de Darwin
  • Perl s'aligne sur -O2 sur FreeBSD
Changements internes Weak references

Nouvelle fonction sv_rvunweaken() qui complète sv_rvweaken(). Weaken ou unweaken sont en rapport avec les weak references.

Une weak référence en Perl n'incrémente pas le compteur de référence pour l'objet, et donc ne protège pas l'objet d'une garbage collection destruction à cause du compteur de référence qui fait son ménage.

Les références sont liées à leurs scopes donc une variable dans une boucle pourra être détruite dès la sortie de la boucle.

UTF8 invariance

Ajout de la fonction is_utf8_invariant_string_loc qui fait comme is_utf8_invariant_string mais assigne l'index de l'endroit où on trouve le premier caractère variant.

Si j'ai bien compris le principe, il s'agit de vérifier les caractères qui sont encodés de la même manière en ASCII ou en UTF8 c'est à dire que A est code 01000001 en ASCII et 01000001 en UTF8 donc c'est invariant.

Mais é est codé 11101001 en ASCII et 11000011 10101001 en UTF8 donc c'est variant.

Changement de locale

Nouvelle fonction sync_locale pour synchroniser les threads au niveau du local même si la doc précise que changer la locale est antisocial et dangereux sur les systèmes multi-threadés qui n'ont pas d'operations locales multi-thread safe.

Autre
  • L'outil perlbug qui sert à envoyer des rapports de bugs, reçoit un argument --help et --version. Vous n’avez plus aucune bonne raison de ne pas reporter un bug si vous en découvrez un.
  • Amélioration du multithreading
  • Nouveau flag SORTf_UNSTABLE pour forcer le comportement instable du mergesort lorsqu'on spécifie no sort stable.
  • Pour les modules XS donc non pure-perl on peut spécifier #define PERL_REENTRANT pour que les fonctions reentrantes soient utilisées (et ce de manière transparente).
  • En 5.26.0 le build par défaut se faisait avec PERL_OP_PARENT qui permet à un opérateur de connaître son parent. À partir de 5.28.0, son contraire PERL_NO_OP_PARENT n'est plus supporté.
  • Nouveau define pour le compilateur THX_DEBUGGING qui permet d'avoir le thread contexte pour le XS et C
  • Nouvelle fonction setlocale qui est thread safe.
  • Nouvelle sorte de scalar magique, le nonelem scalar
Correction de bogues La stack de la mort

Dans certains cas très rares un assignement de liste pouvait faire l'allocation sur la stack de la mort (ou mortal stack) au lieu de de l'allouer correctement.

Cela laissait l'entrée non assignée et pouvait provoquer un crash.

D'après la documentation :

Pour une ref, être "mortelle" signifie qu'elle est possédée par la stack temporaire, une des nombreuses stack internes de perl, et qu'elle va être détruite "dans pas longtemps". (cf perlguts)

Stringification

Un peu de fork. Depuis 5.16.0, la stringification des arguments de system se faisait plus tard et donc on a ce comportement :

print $$; system 'echo', "$$"; system 'echo', $$; 32480 32480 32488

Notez bien le dernier, la conversion de

$$

en

"$$"

se fait dans le fils et non le parent.

Ce fut l'objet d'un fix en 5.28.0

eval fait son ménage
  • eval fait mieux le ménage en nettoyant par exemple :
$@

qui contient le message d'erreur du eval.

C'est débile vous allez dire ?! Car on veut cette valeur si le eval n'a pas réussi…

Oui et non (spoiler c'est non)

Si on enchaine les eval, par exemple le premier eval plante puis le second est un succès (donc ne met rien dans cette variable), alors on aura une variable $@ polluée avec le message d'erreur du premier eval.

Donc c'est utile dans le cas de eval imbriqués.

Autres
  • Meilleure gestion de split avec Unicode. En gros, les caractères Unicode codés sur un byte mais n'étant pas du ASCII et représentant un espace n'étaient pas reconnus par split.
  • Les variables magiques de capture de regex peuvent être indexées dans les chaines donc "${^CAPTURE[0]}" peut être utilisé pour aller chercher le premier élément du tableau @{^CAPTURE}
  • Si une variable avec un nom en UTF8 était déclarée comme symbole puis supprimée et déclarée mais sans UTF8, alors elle était toujours flaguée UTF8. On parle bien du nom de la variable.
  • sprintf retravaillée pour corriger des petits bugs sur la spécification de longueur et la représentation d'entier larges. Et la fonction est plus rapide également !
  • Perl partait en erreur si aucun exposant n'est donné dans ce genre d'expression 1e--3.
  • Une regex de match comme ceci m/$nada/ avec $nada qui est juste vide ne va plus ajouter le modifier /o si le match précédent l'avait. En parlant des autres modifiers, voilà ce que dit la doc a propos de /o : "prétend optimiser votre code, mais en fait introduit des bugs" :D :D :D
  • Jouer avec les opérations I/O sur des non-glob fait des erreurs avec ${^LAST_FH}. C'est fixé
  • Certaines fonctions XS font de meilleures vérifications (tester si le pointeur donné en paramètre est nul) pour éviter des comportements indéfinis.
  • Pour donner des valeurs par défauts aux paramètres d'une fonction (donc en mode signature expérimental) il faut utiliser =. D'autres operateurs étaient possibles, mais par erreur.
  • Les warnings émis par prototype incluent à présent le package.
  • Fix bug avec exec lorsque LIST est vide comme ça : exec {"true"} ()
  • On peut de nouveau exécuter des commandes d'une seule lettre avec l'argument concatène dans le debugger comme p$^V.
  • Splice devient consistant avec push et renvoie une erreur si on essaie de la faire travailler sur un tableau read only.
  • stat (plein d'infos sur un fichier) et lstat (pareil mais sur un symlink). Et la variable magique $! est bien settée si un problème arrive.
  • Lorsqu'on fait des tests sur un fichier et que certaines opérations ne sont pas possibles car n'existent pas sur cette plateforme, Perl va d'abord vérifier si le fichier existe et éventuellement donner un message d'erreur plus fin avant de se précipiter à dire "pas dispo sur cet OS de faible".
  • Encore des bugfix en rapport avec \N{} soit un leak de mémoire quand c'est vide, soit un problème avec le transliteration operator in perl (c'est le nom de tr///)
  • Essayer d'exécuter un répertoire ou un device de block avec do c'est con, mais bon perl retourne à présent un message d'erreur compréhensible.
  • Alors là accrochez-vous, dans une regex de substitution, si on met du code qui retourne un texte à l'aide d'une fonction overloadée comme "", alors on avait un problème de taintification (gestion des inputs safe/non safe).
  • Un autre problème avec do et la déclaration de fonctions lexicales qui pouvaient altérer la stack.
  • Support de 64 bits pour pack et unpack
  • Fix d'une possible corruption de stack avec reverse sans argument. Un problème de réallocation qu'on peut mettre en valeur avec for$0(0..1000){()=(0..$0,scalar reverse)} (reverse travaille dans ce cas sur $_).
  • Plus de problème de réentrance avec system, exec et leurs amis.
  • Fix un problème grave d'allocation d'une grande quantité de mémoire sur une machine 64 bits (> 1 Giga)
  • Fix un crash avec les tests de fichiers empilés dans un sort (oui on peut trier sur beaucoup de choses exemple sort { -s $a <=> -s $b } @files). On pouvait reproduire le crash avec sort{ -s -s -b } () tout simplement.
  • Fix d'un comportement indéfini parfois quand perl lit un chiffre qui est tellement peu significatif qu'il ne peut modifier la valeur du nombre à virgule.
  • open en plus d'ouvrir un fichier, crée un filehandle et l'ajoute à la table des symboles. Donner une valeur bizarre, peut aboutir à un memory leak. C'est le cas de open $$scalarref et c'est l'objet du fix.
  • Bug fix sur les typemaps. Un typemap est une façon de représenter les input/output des fonctions C à interfacer.
  • L'arrondi des nombres à virgule avec perl est à présent juste (printf %.0f)
  • Fix une erreur Cannot printf Inf with 'c' quand un tableau commençait par Inf et qu'on avait une autre erreur
  • getcwd est amélioré (retourne si erreur, set correctement $!)
  • Un très vieux bug (2002 !!) fixé au sujet de la vivification des tableaux
  • Un autre très vieux bug (2001) fixé à propos d'accolades optionnelles et de déréférencement
  • Des bugs sur tr/non_utf8/long_non_utf8/c avec des caractères de remplacement trop grands et aussi sur tr/non_utf8/non_utf8/cd à cause des modifier cd
  • Bugfix sur un problème de nombre à virgule flottante avec un séparateur qui n'est pas un point en environnement threadé (quel rapport ?)
  • Fix certaines assertions failures dans la compilation de regex qui doivent être simplement des erreurs de compilation.
5.28.1 Sécurité
  • [CVE-2018-18311] : Un overflow lors d'une addition d'entiers dans la fonction Perl_my_setenv() :
void Perl_my_setenv(pTHX_ const char *nam, const char *val) { ... const int nlen = strlen(nam); ... vlen = strlen(val); new_env = (char*)safesysmalloc((nlen + vlen + 2) * sizeof(char));

nam et val sont la paire clé/valeur et ici en donnant une ou des valeurs très grandes on peut obtenir un overflow d'entier. On alloue alors trop peu de place et ensuite quand on utilise nlen et vlen pour des memcopy on écrit hors de la mémoire allouée.

  • [CVE-2018-18312] : Un sérieux bug qui peut faire un buffer/heap overflow. C'est à cause d'une regex mal parsée. Et en ajoutant des caractères de contrôles non ASCII, on peut déplacer le curseur dans la mémoire. Vous voulez un exemple ? Vous êtes sûrs ? OK (désolé) (?[(?^:(?[\\\x00]))\\]\x00|2[^^]\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80])R.\\670
Corrections de bogues
  • L'optimisation faite en 5.28.0 sur la comparaison d'index -1 (souvenez-vous if(index() != -1) { #J'AI PAS TROUVE :/ }) produisait un warning dans la construction when. C'est fixé
  • Un bug dans le matching regex de décimaux par le biais des scripts run
  • Problème avec l’édition en place (option -i) qui a été changée en 5.28.0. Il y avait un nombre limité de fichiers après quoi ça ne marchait plus.
5.28.2 Changements incompatibles
  • Un changement sur les scripts run dans les regex. C'est un changement incompatible sur une "release patch" mais c'était tout simplement cassé alors ce n'est pas un problème
Compilation et plates‐formes
  • Compilation sur MAC OS X avec -Duseshrplib fonctionne avec SIP (System Integrity Protection = réduction des droits de root, certaines variables d'env pas partagées ce qui pose problème pour le chargement dynamique de libperl, pendant le build)
Corrections de bogues
  • L’édition en place avec -i est mieux gérée si le programme s'arrête mais n'a pas d'erreur, le fichier est bien écrit.
  • Fix régression de 5.28.0 lorsqu'on stdin dans le parent puis on rouvre dans l'enfant close(STDIN); open(CHILD, "|wc -l")'. C'est parce que stdin était fermé dans l'enfant aussi.
  • Fix un bug avec pack "u" quand il n'y a pas de deuxième argument. La valeur retournée était mal terminée. pack "u" c'est pour uuencode ça vous rappelle peut être quelque chose ? Moi des bouts de textes dans les ezines
  • Fix un bug avec formline et un format mal terminé.
Sortie de Perl 5.30 5.30.0

Le 22 mai 2019, Sawyer X a annoncé la sortie de Perl 5.30.0.

Améliorations du cœur de Perl Lookbehind à longueur variable

On a déjà parlé des expressions de regex lookaround eh bien 5.30.0 accueille une nouvelle feature concernant les lookbehind (donc le lookaround vers l'arrière).

Il s'agit des lookbehind à longueur variable c'est à dire par exemple

/(?<=a{1,6}b)\w+/

On peut donc faire ça avec cependant une limitation de longueur à 255. Et un warning est émis car le comportement n'est pas forcement bien définitif.
Cette limite s'applique uniquement au lookbehind car il n'y a pas de limitation de ce genre en lookahead.

Et pour conclure, une méthode pour émuler cette feature existait déjà dans les versions précédentes de Perl mais c'était compliqué (le lien c'est pour les guerriers).

AdopteUnEmoji

Support de unicode 12.1… Pourquoi pas unicode 11 ?
Parce que unicode a changé son cycle de releasing donc ça rajoute unicode 11.0 (684 nouveaux caractères) ainsi que unicode 12.0 (554 caractères) et unicode 12.1 qui ajoute exactement 1 caractère.

Au fait, savez-vous qu'on peut adopter un caractère unicode ? Google a par exemple adopté l'émojis burger, IBM le nuage, Ford des voitures et ballantine's… devinez :D

Autres
  • Toujours côté regex, la limite de longueur variable des expressions (quantifiers) passe à 65534 dans les expressions de ce type {n,m}. En ce qui concerne la version sans max comme ceci {n,} la valeur du max dépend de la plateforme (mais est plus que 65534, en général 2**31 - 1)
  • Une restriction sur la compilation des regex entre simples quotes est levée. Il s'agit de qr'\N{name}' qui est n'est plus interdit donc.
  • Meilleure gestion de la casse avec l'UTF8 et la langue turque qui est visiblement spéciale de ce côté-là.
Changements incompatibles Mort de certaines variables magiques

L'utilisation de $* et $# sont interdites :

$* servait à faire du multi line matching. Mais depuis longtemps les modifiers /m et /s font le même job. Quant à $#, il a deux sens : l'un pour formater les nombres (celui-là est donc interdit maintenant), l'autre pour obtenir le dernier index d'un tableau, comme ceci (celle-là ne risque pas d'être dépréciée) :

my @a = qw(a b c); print $#a;

L'utilisation supprimée peut être obtenue avec printf ou sprintf et la raison de supprimer cette feature est de libérer $# pour un possible nouvel usage.

Index de départ des tableaux

Comme prévu, c'est devenu interdit de changer la valeur de `. Pour résumer, cette variable qui permet de changer l'index de départ d'un tableau (déjà parle en 5.28.0, details sur cette variable). En fait on peut assigner quelque chose dans $[ mais seulement la valeur "0"…
L'important c'est d'avoir l'impression d’être libre :)

Autres
  • Depuis 5.24.0 on avait un warning pour sysread(), syswrite(), recv() et send() si on les utilisent avec un filehandle marque :utf8. A partir de 5.30.0, c'est tout simplement fatal ! C'est intéressant de voir le cycle d'interdiction sur le ticket car il y a d'abord eu un warning et ça a laissé du temps pour les modules qui utilisaient cette "misfeature" d'être adaptés (c'est le cas du module File::Slurp).
  • On ne peut plus faire de ce genre de déclarations my $x if 0. Mais attention une déclaration comme my $f = 0; my $x if $f marche toujours.
  • Utilisez CORE::dump() a la place de dump()
  • Le wrapper File::Glob::glob() ne faisait qu'appeler File::Glob::bsd_glob() tout en ressemblant a CORE::glob(). Pour éviter la confusion, il faut utiliser la fonction wrappée et non le wrapper.
  • La fonction pack va croak (warn and die) plutôt que de générer de l'UTF8 malformé.
  • Le comportement par défaut du core module JSON::PP a changé et maintenant allow_nonref est active. Ce qui est beaucoup plus pratique.
Securité

Rien :)

Dépréciations Performances Meilleure transformation UTF-8 vers Unicode code point

La transformation de UTF-8 vers le code point représenté (regardez des exemples de correspondances dans cette table de caractères) utilise maintenant un automate fini déterministe. Cela permet un gain de plus de 10 % du nombre d’instructions par traduction. Le même genre d’amélioration est appliqué lors des vérifications de validité UTF-8.

Plus de dépassement de pile sur les fonctions gigantesques

Des fonctions très très grandes (taille du code dans le corps de la fonction) pouvaient générer un stack overflow. C'est dû à une récursion dans le code qui analyse. Pour donner une idée de très très grand, il s'agit d'un code avec 100000 elsifs. La récursion a été supprimée en 5.30.0.

Optimisation sur le character folding

Des optimisations des classes de caractères et le character folding. C'est quoi le character folding ? Il s'agit, par exemple lors d'une comparaison, de passer une chaine en minuscule ou d'enlever les accents.

Autres
  • Optimisation de la conversion de IV vers UV. IV est une variable interne à perl pour contenir un pointer. UV est la même chose en unsigned.
  • Optimisation de la conversion en chaine d'un entier en prenant 2 chiffres à la fois (moins d'instructions).
  • Le code de perl est passé dans un outil d'analyse (LGTM) et certaines remarques (on peut voir les alertes sur la page lgtm de perl)
  • Optimisation de la regex qr/[^a]/ et les choses similaires. L'optimisation ne concerne pas toutes les valeurs après la négation, seules celles en ASCII. Les autres pourraient en bénéficier mais demandent trop de spécialisation du code.
Mises à jour des modules
  • MAJ de File::Find : la valeur par défaut de dont_use_nlink est 1 soit ne pas faire confiance au filesystem et faire plus de vérifications pour bien traverser les filesystem.
  • MAJ IO::Compress pour ajouter le support de l'algorithme de compression Zstandard et LZMA
  • MAJ de Math::Bigint pour modifier bnok (binomial coefficient). Math::Bigint est un module pour gère les entiers de taille arbitraire dans sans la limitation des 4 bytes.
  • Moins de warning sur PerlIO::encoding sauf si on les demande.
  • Possibilité d'être en mode "non-interactif" pour le module Storable (qui normalement demande des valeurs limites pour la limite de récursion ou l'allocation par exemple)
  • Toujours Storable, dans le cadre du fix de [CVE-2015-1992], un code malicieux mais pas dangereux était fourni en test de perl. Comme une sorte de vaccin en fait… Or il était reconnu par certains antivirus comme un virus !!! Le code a été remplace par un test fonctionnel.
  • Plus de trace pour threads::shared.
  • Un bugfix sur use vars. Une commande désactivait une autre.
Changements internes
  • Une passe a été supprimée de l'évaluation des regex par perl. Il s'agit de la passe de dimensionnement qui sera faite en option si besoin est.
  • Nouvelle fonction strtod dans l'API perl qui correspond à la fonction c strtod.
  • On ne peut plus allouer plus de mémoire que ce que les structures de données pourront utiliser.
  • Nouveaux regnodes.
  • print_bytes_for_locale() a présent défini aussi en debugging mode.
Compilation et plates‐formes
  • On peut compiler un code pour être toujours thead-safe avec -Accflags='-DUSE_THREAD_SAFE_LOCALE' même si perl n'est pas compilé pour être en multi-thread (quelle utilité ?).
  • Définir -Drv en plus de -DDEBUGGING permet de mettre le mode verbeux pour les regex.
  • Configure : meilleure détection de memrchr, strlcat, strlcpy et memmem.
  • Des améliorations concernant -DPERL_GLOBAL_STRUCT et un fix sur -DPERL_GLOBAL_STRUCT_PRIVATE.
  • Fix un problème obscur sur HP-UX 11.11 avec pack.
  • Support minix 3 remis.
  • Cygwin ne retourne plus cuserid.
Corrections de bogues Ouverture filehandles et ulimit -n

Fix un bug de leak de file handles, les conditions du bug étant d'ouvrir de nombreux répertoires (plus de 1019 environ sous GNU/Linux), avec l'option d'édition en place. La valeur magique 1020 est en fait ulimit -n moins les file handles déjà ouverts.
Perl ouvrait le répertoire mais ouvrait le suivant avant de refermer le dir handle, provoquant le leak. La source du problème vient de la feature de safe in place editing introduite en 5.28.0. Il est d'ailleurs proposé de mettre ce fix dans 5.28.1 ce qui n'est finalement pas fait.

Réécriture de propriétés Unicode en C

Réécriture des propriétés unicodes définies par l'utilisateur. Ça permet d'écrire nos propres tests. La réécriture de pure Perl vers C apporte de nombreux changements :

  1. Mieux intégré dans le reste du code, plus d'informations accessibles pour reporter des erreurs.
  2. Plus contraignant sur le naming de la fonction et son package
  3. La récursion est détectée à la compilation et produit une erreur
  4. D'autres erreurs s'arrêtent à la compilation.
  5. Meilleurs vérifications des fourchettes (fourchettes illégales)
  6. Les propriétés sont compilées le moins souvent possible (les propriétés sont des fonctions Perl, qui sont ensuite exécutée dans une regex)
  7. Plus (moins ?) de blocage ou race conditions
Corrections de bogues de dernière minute, gel et arbitrage du pumpking

Un bug fix de dernière minute sur un panic lorsqu'on fait sort untrucenUTF8. Dans le ticket, les discussions tournent aussi autour du freeze, des remerciements à Sergey Aleynikov qui a reporté pas mal de bug avec un outil de fuzzing, et un arbitrage de l'actuel possesseur de la citrouille empaillée (Sawyer X).

Perl ne sait pas garder un secret ;)

Des erreurs avec les regex et les modifiers /di. C'est quoi /di ?

  • i c'est insensible à la casse
  • d c'est pour l'usage interne de Perl

La documentation dit "ne vous en occupez pas" mais également "(…) since Perl can't keep a secret, and there may be rare instances where they are useful, they are documented here (…)". Et donc, comme ce n'est pas un secret ou du moins que Perl ne sait pas le garder… d permet de forcer un vieux et problématique set de caractères de Perl 5.14 :)

Autres
  • Fix compilation avec -DPERL_MEM_LOG (log de l'allocation mémoire) et -DNO_LOCALE
  • Petit fix sur l'optimisation du index introduit en 5.28.0 (optimisation dans la comparaison avec -1). Cette optimisation introduisait un warning quand on utilisait index dans un given/when.
  • Fix un warning sur le constant folding
  • Un problème de lexer à cause du multiconcat (ajoute récemment)
  • Meilleure output pour calloc quand on compile avec -Dm pour tracer la mémoire.
  • Philippe Hazel qui est le père de la bibliothèque PCRE (attention PCRE est une lib autonome qui implémente les regex comme Perl mais qui n'est pas utilisée par Perl) reporte qu'une nouvelle feature ne semble pas marcher correctement. Il s'agit des unicode script runs. Certaines fourchettes de valeurs unicodes n'étaient pas bien gérées dans les regex.
  • Parfois le mieux est l'ennemi du bien :) Sur certaines plateformes, la façon de déterminer $^X (soit le nom du binaire ayant lance le script) était optimisée. Le problème étant que lorsque certaines conditions ne permettaient pas de faire cette optimisation (/proc pas monte) alors le fallback était cassé. Régression depuis 5.28.0.
  • Meilleure gestion des bases de données corrompues avec SDBM_File. Qu'est-ce que ce module ? Une façon d'ouvrir un base de données et de la lier à une variable. De telle sorte que pour ajouter/modifier/supprimer des choses dans la base de données, il suffit de travailler sur le hash et tout sera bien sauvé à la fermeture du programme. L'échange de fichier SDBM n'était et n'est toujours pas un format d'échange entre plateformes.
  • On a déjà parlé de l'assignement vers une référence (feature récente). En fait, une expression comme \@a = était traitée implicitement comme local \@a =. C'est simplifié, car le bug n'existe qu'avec les slices.
  • Fix un problème de reportant d'errno sur FreeBSD lié au realloc.C'est un cas observable uniquement sur cette plateforme mais pourtant standard au niveau de C. Vu sur FreeBSD 13.0
  • Des problèmes de bootstraping liés au module Cwd qui peut maintenant fallback sur certaines fonctions systèmes. Ça aide pour les installations multi plateformes (1 perl pour 2 machines ou plus sur le réseau)
  • Fix un problème avec le contenu de `. Pour faire court, cette variable contient le retour d'une assertion dans une regex.
  • Fix un bug sur le modifier /g en regex qui permet de faire un match global c'est à dire que sur un remplacement, le remplacement se fera plusieurs fois s'il faut. C'est un problème de décision dans le découpage des chaines.
  • Un comportement incohérent entre perl -e 'eof() or die' /dev/null et perl -e 'eof or die' /dev/null qui produit Died at -e line 1.
  • Un format syntaxiquement incorrect est maintenant traité comme une erreur de compilation.
  • Un bug reporté chez Red Hat pour une erreur d’édition en place. L'erreur est dans la gestion des erreurs (die). Le bugfix permet d'écrire le fichier même lorsque le script perl est mort avec une exception.
  • Fix des problèmes de comportement dans le cas de compilation avec les flags -DNO_LOCALE_NUMERIC et -DNO_LOCALE_COLLATE
CONCLUSION

J'espère que ce grand tour des changements Perl des dernières années a été intéressant/utile. C'était l'occasion de parler du vénérable Perl et de redécouvrir Perl dans son ère post moderne.

(d'après xkcd lien - Licence CC-BY-NC)

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Catégories: Les actus

Revue de presse de l'April pour la semaine 27 de l'année 2019

mar, 09/07/2019 - 10:33

Cette revue de presse sur Internet fait partie du travail de veille mené par l'April dans le cadre de son action de défense et de promotion du logiciel libre. Les positions exposées dans les articles sont celles de leurs auteurs et ne rejoignent pas forcément celles de l'April.

[Numerama] Un pirate devient vice-président du Parlement européen: quels sont ses projets?

✍ Julien Lausson, le vendredi 5 juillet 2019.

Le Tchèque Marcel Kolaja, élu au Parlement européen sur une liste du Parti pirate, sera l'un des vice-présidents de l'hémicycle.

[GinjFo] Microsoft Azure, Linux dépasse Windows

Le jeudi 4 juillet 2019.

Dans un récent entretient Microsoft va bien plus loin que de réaffirmer son slogan «Microsoft loves Linux». Le géant déclare que ce système d’exploitation est utilisé massivement sur Microsoft Azure. La plate-forme open source s’est tellement développée qu’elle a finalement réussi à dépasser Windows Server.

Et aussi:

[ZDNet France] Directive Copyright: Github apprend le lobbying

✍ Louis Adam, le mercredi 3 juillet 2019.

Si Github était jusqu'alors une entreprise plutôt discrète, la société s'est montrée particulièrement active sur le lobbying autour de la réforme européenne du copyright. Un tournant pour l'entreprise, désormais propriété de Microsoft. ZDNet a évoqué ce sujet avec Mike Linksvayer, de Github.

[Usbek & Rica] «Créer une communauté technocritique est vital»

✍ Valentin Cebron, Nicolas Celnik et Sarah Lapied, le mercredi 3 juillet 2019.

Pour les technocritiques «historiques», tant que la technique ne sera pas considérée comme un enjeu politique, les discussions sur le sujet resteront vaines.

Et aussi:

[AndroidPIT] Technologie 2.0: pourquoi ne pas opter pour l'Open Source?

✍ Benoit Pepicq, le mardi 2 juillet 2019.

L'Open Source peut-il rivaliser avec les grands noms de la tech qui s'engouffrent toujours plus dans des problèmes de confidentialité et de sécurité?

[ZDNet France] Des défenseurs du Libre demandent à l'INPI de permettre le format ouvert ODF pour le dépôt de brevet

✍ Thierry Noisette, le dimanche 30 juin 2019.

L'Union des entreprises du logiciel libre (CNLL), le Ploss Auvergne-Rhone-Alpes et l'association La Mouette demandent à l'INPI de ne pas imposer l'usage du format propriétaire bureautique de Microsoft.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Catégories: Les actus

Entrée Libre : pour comprendre Internet, découvrir les logiciels libres et protéger sa vie privée

lun, 08/07/2019 - 22:28

Les 27, 28 et 30 août 2019, trois jours de conférences et d’ateliers organisés par et au Centre des Abeilles de Quimper (4 rue Sergent Le Flao) en partenariat avec Linux Quimper et Penn Ar Web.

Plus de renseignements sur iloveframasoft.frama.site.

Sommaire Pourquoi cet événement ?

Cela fait dix ans que le Centre des Abeilles, avec l’aide technique de Linux Quimper, assure et a assuré la distribution gratuite de plus de 2 200 ordinateurs, déclassés par des administrations ou des entreprises, et reconfigurés avec des logiciels libres autour du système GNU/Linux. C’est donc pour cet anniversaire qu’est née l’idée de créer « Entrée Libre »

À qui cela s’adresse‐t‐il ?

À toute personne utilisant un ordinateur (fourni ou non par le Centre des Abeilles) portant un intérêt pour ces sujets et/ou souhaitant s’y initier. Les conférences et ateliers seront gratuits et ouverts à tout public, sans distinction d’âge et de sa connaissance du sujet.

Pour quoi faire ?

L’objectif de cet événement est d’aider les participants à utiliser leur ordinateur (ainsi que leurs autres équipements reliés à Internet, comme par exemple les smartphones). À se réapproprier leur utilisation du Numérique, notamment en évitant de voir leurs données personnelles faire l’objet d’un commerce. En découvrant ce que devrait réellement être Internet.

Le programme Qu’est‐ce que c’est Internet, avec Stéphane Bortzmeyer, mardi 27 août à 10 h 30

« Une grande partie des activités humaines se déroule aujourd’hui sur l’Internet. On y fait des affaires, de la politique, on y bavarde, on travaille, on s’y distrait, on drague… L’Internet n’est donc pas un outil qu’on utilise, c’est un espace où se déroulent nos activités. »
Après un passage à Quimper en septembre, pour nous parler de notre vie privée sur le Web, Stéphane Bortzmeyer revient nous voir pour nous expliquer ce qu’est Internet.

Numérique et intimité biologique, avec Xavier Coadic, mardi 27 août à 14 h

Xavier Coadic va venir nous parler des traces biologiques que nous laissons traîner sur Internet.

Problématique des données de santé, avec Djelouze, mardi 27 août à 15 h

Djelouze va venir nous parler de ce sujet qui nous interpelle de plus en plus. Qui donc peut accéder à nos données médicales ?

Exodus Privacy (application pour smartphone), par MeTal_Pou, mardi 27 août à 16 h

Pour nous aider à comprendre ce qui se cache derrière les applications installées dans nos smartphones.

INFINI, par Denis Dordoigne, mercredi 28 août à 11 h

L’association INFINI (INternet FINIstère) est née de la volonté de quelques amis de la région brestoise, désireux de faire partager leur passion de l’informatique et des réseaux. Son but est de promouvoir le développement du réseau Internet à des fins non commerciales. Elle s’adresse aux particuliers, aux autres associations ainsi qu’aux collectivités locales et territoriales

Mais pourquoi le Libre c’est mieux ? par Denis Dordoigne, mercredi 28 août à 15 h

April : en novembre 1996, des étudiants du laboratoire informatique de l’Université Paris Ⅷ de Saint‐Denis créent l’association April (Association pour la Promotion et la Recherche en Informatique Libre) dont le but est de promouvoir le logiciel libre en France.

Caliopen, par Lanza, mercredi 28 août à 14 h

La messagerie libre qui vous aide à protéger votre vie privée et regroupe tous vos services de messagerie habituels. Lanza est développeur front‐end chez Caliopen, c’est donc lui qui nous expliquera son fonctionnement.

Internet et nos libertés La Quadrature du Net, par Mindiel, mercredi 28 août à 16 h

Mindiel, membre de La Quadrature du Net va venir nous expliquer comment fonctionne l’association, et tout le travail qu’elle fait pour défendre nos libertés, ainsi que ce que nous pouvons faire pour nous protéger.

Qu’en est‐il de nos données lorsque l’on utilise un moteur de recherche, par Tristan Nitot, jeudi 29 août à 14 h

Lorsque l’on parle de moteurs de recherche, il y a encore beaucoup de confusions entre les méta‐moteurs qui se contentent d’afficher des résultats fournis par d’autres dans une interface différente, et les moteurs de recherche indépendants tels que Qwant. C’est ce que nous allons voir avec la conférence de Tristan Nitot.

Dégooglisons Internet et faisons plus encore ! par Tcit, jeudi 29 août à 15 h

Tcit, l’un des salariés de la célèbre association lyonnaise Framasoft.

Ateliers

Des ateliers animés par Xavcc, Maiwann, TkPx, metal_pou, Denis Dordoigne et P.Y :

  • tous les jours, pour démarrer la journée , pour la finir ou pour accompagner les conférences ;
  • discussion libre ;
  • pour grands débutants qui ne savent pas ce qu’est le Libre, ou alors qui ne savent pas du tout par où commencer ;
  • contribatelier, on vient essayer des applications et on ramène les problèmes aux développeurs si besoin, on apprend ce qu’est « contribuer à un logiciel » ;
  • traduction de logiciels en breton ;
  • réseaux sociaux, découverte de réseaux dits « sociaux » autres que Facebook et Twitter ;
  • faire passer les services de son téléphone des GAFAM vers le Cloud ;
  • café vie privé : utiliser une boîte de courriel sécurisée qui permet d’envoyer des messages chiffrés (mode facile : Protonmail, mode difficile : Thunderbird + Enigmail), utiliser un gestionnaire de mots de passe, configurer la confidentialité de son smartphone.
Install party

Et pour celles et ceux qui veulent aller plus loin, en installant GNU/Linux sur leur ordinateur
Install party le samedi 30 août de 14 h à 18 h.
Ce sera l’occasion de découvrir, tester et installer sur son ordinateur personnel le système GNU/Linux avec l’aide des bénévoles de Linux Quimper.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Catégories: Les actus

Agenda du Libre pour la semaine 28 de l’année 2019

dim, 07/07/2019 - 16:17

Calendrier Web, regroupant des événements liés au Libre (logiciel, salon, atelier, install party, conférence), annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 16 événements (tous en France) est en seconde partie de dépêche.

Sommaire [FR Châteaubriant] Ateliers d'informatique - Du mercredi 3 juillet 2019 à 07h00 au vendredi 19 juillet 2019 à 18h00.

Ateliers d'informatique tous les jours.

Sauf samedis dimanches avec l'association ACIAH et le système AccessDV Linux.

Ouvert à tous, jeunes et moins jeunes, avec ou sans handicap.

[FR Châteaubriant] Informatique adaptée - Du mercredi 3 juillet 2019 à 08h00 au vendredi 30 août 2019 à 18h00.

Stages intensifs.

Public concerné

 personnes déficientes visuelles, maîtrisant le clavier et désirant s’approprier l’ensemble des possibilités de AccessDV Linux,

associations désirant créer et animer des ateliers d'informatique auprès des personnes âgées.

[FR Saint-Denis] Battlemesh - Du lundi 8 juillet 2019 à 09h00 au dimanche 14 juillet 2019 à 20h00.

Le Battlemesh, ou "Wireless Battle of the Mesh", est un événement annuel autour des réseaux mesh.
Le but de cet événement est de rassembler des personnes de tous horizons qui s'intéressent aux réseaux communautaires, en particulier aux réseaux maillés sans fil ("wireless mesh networks"), aux infrastructures de fibre optique et aux FAI associatifs, ainsi qu'à la manière de créer et entretenir des communautés dynamiques qui prennent en main leurs réseaux de communications électroniques.

La volonté de l'événement est de proposer 7 jours de présentations expertes, d'ateliers pratiques, de sessions pour travailler collaborativement sur des projets, et bien sûr proposer un espace qui favorise les discussions entre les participants Que vous soyez un expert des réseaux mesh, actif dans un FAI associatif, ou juste curieux d'en savoir plus sur les réseaux communautaires, venez rendre visite à la communauté mondiale pour échanger sur ces sujets

Comme tous les ans, le Battlemesh est gratuit et ouvert à tous grâce au soutien généreux de sponsors. Par ailleurs, l'équipe d'organisation s'efforce de diminuer autant que possible le coût de la participation en proposant un hébergement bon marché aux participants.

[FR Montpellier] Wikipermanence - Le lundi 8 juillet 2019 de 18h00 à 22h00.

Une Wikipermanence est une rencontre physique entre des wikipédiens chevronnés et de nouveaux ou futurs wikipédiens qui souhaitent acquérir des connaissances et des conseils sur le fonctionnement de Wikipédia. Il ne s’agit pas d’une simple rencontre entre wikipédiens la Wikipermanence organisée par le groupe local de Montpellier est là pour répondre aux questions, permettre des démonstrations, offrir une aide aux premiers pas et permettre un suivi.

Pour cette soirée, chacun amène ce qu’il veut à manger et à boire pour un repas partagé.

Cette rencontre nous permettra d’aborder les sujets suivants

Si vous avez des propositions, n’hésitez pas à compléter la page dédiée sur Wikipédia.

N’hésitez pas à venir c’est sans inscription, et vous l’aurez deviné, libre et gratuit

Wikipédia est une encyclopédie libre rédigée collaborativement par des milliers d’internautes. Mais, saviez-vous que vous pouviez y participer En apportant des connaissances, en créant ou améliorant des articles, en prenant des photos, ou simplement en corrigeant des fautes, vous pouvez contribuer à ce grand projet d’encyclopédie collaborative.

Alors, venez participer aux rendez-vous des Wikipermanences de Montpellier qui auront lieu à l’Atelier de Pigistes, le deuxième lundi de chaque mois, de 18h00 à 22h00.

Cet événement vous est proposé dans le cadre du partenariat qui lie le Club de la Presse, Wikimédia France et Montpel’libre.

Tramway lignes 1 et 3, arrêts Port-Marianne et Rives du Lez
GPS Latitude 43.603095 | Longitude 3.898166

[FR Paris] Atelier Hebdomadaire de Contribution au Libre - Le mardi 9 juillet 2019 de 10h00 à 19h00.

Une journée de co-travail sur le thème de la contribution au logiciel libre.

Chacun vient avec son sujet individuel avec l'intention d'y travailler aux côtés d'autres contributrices/teurs.

Le prix d'entrée est de 25 euros pour la journée (tarif Narma).

[FR Toulouse] Apero mobicoop et monnaie libre - Le mardi 9 juillet 2019 de 19h00 à 21h00. [FR Troyes] Internet ou la révolution du partage - Le mercredi 10 juillet 2019 de 18h00 à 20h00.

Conférence débat basée sur le documentaire de Philippe BORREL Internet ou la révolution du partage

En première partie, la projection du documentaire Internet ou la révolution du partage (environ 56 mn).
Cette projection sera suivie d’un échange sur ces partages dont les logiciels libres et ouverts font partie.

La conférence sera animée par les membres de Tricassinux, un groupe d’utilisateurs de ces logiciels libres et ouverts. Ce groupe a pour objectif d’accompagner les aubois et les auboises dans la découverte et l’appropriation d’outils numériques alternatifs sous licences libres.

Si vous ne savez pas ce que c’est, venez.

Gratuit, ouvert à tous. Une participation au chapeau sera ouverte pour aider les intervenants à financer les droits d’auteurs pour la diffusion du film, nous remercions d’avance les participants.

[FR La Roche-sur-Yon] Café Vie Privée - Le mercredi 10 juillet 2019 de 18h30 à 20h30.

DONNÉES PERSONNELLES - CHIFFREMENT - SÉCURITÉ MAIL - MOT DE PASSE - SMARTPHONE

Audric Gueidan, ancien médiathécaire chargé de développement numérique pour des communautés de communes (91 et 44), facilitateur et formateur indépendant, intervenant en milieu scolaire, dans des makerspaces, et en entreprises.

Pendant cette soirée, nous allons voir ensemble ce qu'est une donnée personnelle, comment différents acteurs (entreprises, régies publicitaires, gouvernements) peuvent les capter, et donc comment limiter cette fuite massive. La navigation internet et l'utilisation du smartphone sont deux des grandes portes d'entrée vers ces données.

Nous allons donc

  • configurer Firefox et ajouter des extensions (et pas n'importe lesquels)
  • faire de la datavisualisation en direct
  • configurer son compte gmail
  • tester la solidité d'un mot de passe et vérifier que notre mail n'est pas dans une liste piratée
  • tester des applications smartphone

Hésitez pas à venir avec votre Pc.

[FR Lyon] Hadoly permanence du chaton Lyonnais - Le mercredi 10 juillet 2019 de 19h00 à 20h00.

La permanence (mensuelle) d’Hadoly (Hébergeur Associatif Décentralisé et Ouvert à LYon), chaton lyonnais, est l’occasion d’échanger avec les membres de l’asso sur les services et moyens mis à disposition des adhérents afin de se libérer des Gafams tout en grignotant et en en buvant un coup (n’hésitez pas à apporter quelque chose).

Nous partageons du mail, du cloud, et d’autres services, le tout basé exclusivement sur des logiciels libres avec le respect de la neutralité du net et de la vie privée.

Et en plus l’hébergement est physiquement local

[FR Cappelle en Pévèle] Mercredis Linux - Le mercredi 10 juillet 2019 de 19h30 à 23h30.

L'Association Club Linux Nord Pas-de-Calais organise chaque mois une permanence Logiciels Libres ouverte à tous, membre de l'association ou non, débutant ou expert, curieux ou passionné.

Les Mercredis Linux sont des réunions mensuelles désormais organisées le mercredi.

Ces réunions sont l’occasion de se rencontrer, d’échanger des idées ou des conseils.

Régulièrement, des présentations thématiques sont réalisées lors de ces réunions, bien sûr, toujours autour des logiciels libres.

Durant cette permanence, vous pourrez trouver des réponses aux questions que vous vous posez au sujet du Logiciel Libre, ainsi que de l'aide pour résoudre vos problèmes d'installation, de configuration et d'utilisation de Logiciels Libres. N'hésitez pas à apporter votre ordinateur, afin que les autres participants puissent vous aider.

Cette permanence a lieu à la Médiathèque Cultiv'Art, 16 rue de la Ladrerie, Cappelle en Pévèle

[FR Rezé] Groupes d’Entraide Mutuelle - Le jeudi 11 juillet 2019 de 16h00 à 18h00.

Accompagnement informatique

Groupes d’Entraide Mutuelle

Comment passer son ordinateur sous Linux Comment installer son imprimante sous Linux Comment retrouver ses usages sur logiciels libres Comment fonctionne un ordinateur Comment entretenir soi-même son ordinateur
Venez poser vos questions lors du GEM hebdomadaire Les adhérent-e-s et l’équipe de Nâga répondent aux questions de chacun-e sur le matériel, Linux et les Logiciels Libres.

 Tarif

  • GEM pour 3 mois 20
  • GEM pour 1 an 50 ou gratuit pour les personnes ayant adhéré à l'association avec l’acquisition d’un ordinateur.

Horaire

[FR Bordeaux] Jeudi Giroll - Le jeudi 11 juillet 2019 de 18h30 à 20h30.

Les membres du collectif Giroll, GIROnde Logiciels Libres, se retrouvent une fois par semaine, pour partager leurs  savoir-faire et expériences autour des logiciels libres.

Le collectif réalise aussi une webradio mensuelle, tous les seconds jeudis du mois, à retrouver en direct sur le site de Giroll.

Ces rencontres sont ouvertes à tous.

[FR Paris] Soirée de Contribution au Libre - Le jeudi 11 juillet 2019 de 19h30 à 22h00.

Parinux propose aux utilisateurs de logiciels libres de se réunir régulièrement afin de contribuer à des projets libres. En effet, un logiciel libre est souvent porté par une communauté de bénévoles et dépend d'eux pour que le logiciel évolue.

Nous nous réunissons donc tous les jeudis soir dans un environnement propice au travail (pas de facebook, pas de télé, pas de jeux vidéos, pas de zombies).

Vous aurez très probablement besoin d'un ordinateur portable, mais électricité et réseau fournis.

En cas de difficulté, vous pouvez joindre un des responsables de la soirée, Emmanuel Seyman (emmanuel (at) seyman.fr), Paul Marques Mota mota (at) parinux.org, ou Magali Garnero (Bookynette) tresorier (at) parinux.org.

Pour obtenir le code d'entrée de la porte cochère, envoyez un mail au responsable.

On peut amener de quoi se restaurer (Franprix, 8 rue du Chemin Vert, ferme à 22h)

Regazouillez sur Twitter - Wiki des soirées

Programme non exhaustif

  • Fedora (sa traduction)
  • Parinux, ses bugs et son infrastructure
  • April… y a toujours quelque chose à faire
  • Open Food Facts/ Open Beauty Facts, sa base de données, ses contributeurs, sa roadmap
  • Schema racktables, son code
  • Agenda du Libre, mise à jour et amélioration du code
  • Ubuntu-Fr, son orga, ses événements
  • En vente libre, maintenance et commandes
  • Open street map, une fois par mois
  • Linux-Fr sait faire
  • en vente libre

tout nouveau projet est le bienvenu.

Tous les 1ᵉʳˢ jeudis => L'association ouvre-boite organise une réunion pour ses membres.

 Tous les 3ᵉ jeudis, dès 18h45, le groupe de travail Sensibilisation de l'April se réunit pour réfléchir à mieux communiquer vers le grand public et à 20h30, le groupe transcriptions prend le relais et transcrit ou relit des transcriptions.

Tous les 4ᵉ jeudis, des membres de Framasoft organisent des contrib'atliers et vous invitent à venir participer, tester ou améliorer des logiciels libres

[FR Caen] Initiation à la 3D avec Blender 2.8x - Le vendredi 12 juillet 2019 de 17h00 à 20h00.

Initiation à la 3D avec Blender 2.8x

(Atelier organisé en partenariat avec l'association VireGUL)

Blender est un logiciel 3D disposant d'un panel impressionnant d'outils de modélisation, d'animation, de rendu… Cet atelier d'introduction à Blender a pour but de vous familiariser avec l'interface pour faire vos premiers pas dans cet univers.

La formation reposera sur la version 2.8 (en version beta à ce jour), une version nettement améliorée et dotée d'une interface simplifiée beaucoup plus accessible. Vous découvrirez les outils principaux et vous pourrez construire votre première scène 3D et en faire le rendu.

Note

Le téléchargement de Blender 2.8 devra être effectué sur le site blender.org avant la formation (https://builder.blender.org/download/). Une souris est également indispensable pour prendre en main l'interface.

Infos pratiques

Participation aux frais 10, le premier atelier est gratuit avec une nouvelle adhésion anuelle.
Pour toute question contact@artifaille.fr ou laissez-nous votre message sur le répondeur

Inscription

https://artifaille.fr/attendee/?event_id=281

[FR Paris] Apéro April - Le vendredi 12 juillet 2019 de 19h00 à 22h00.

Un apéro April consiste à se réunir physiquement afin de se rencontrer, de faire plus ample connaissance, d'échanger, de partager un verre et manger mais aussi de discuter sur le logiciel libre, les libertés informatiques, fondamentales, l'actualité et les actions de l'April…

Un apéro April est ouvert à toute personne qui souhaite venir, membre de l'April ou pas.

N'hésitez pas à venir nous rencontrer.

Où et quand cela se passe-t-il

L'apéro parisien aura lieu vendredi 12 juillet 2019 à partir de 19h00 dans les locaux de l'April.

L'adresse
April, 44/46 rue de l'Ouest, bâtiment 8, 75 014 Paris (entrée possible par la place de la Catalogne, à gauche de la Biocoop).
Métros Gaîté, Pernety, Montparnasse. Sonner à "April" sur l'interphone.
Le téléphone du local 01 78 76 92 80.

L'Apéro a lieu à Paris notamment parce que le local s'y trouve ainsi que les permanents et de nombreux actifs. Pour les apéros dans les autres villes voir sur le pad plus bas.

En ouverture de l'apéro nous ferons un court point sur les dossiers/actions en cours.

Le glou et le miam

Vous pouvez apporter de quoi boire et manger afin de reprendre des forces régulièrement. Nous prévoirons bien sûr un minimum vital.

Vous pouvez vous inscrire sur le pad.

[FR Rennes] Permanence Gulliver - Le samedi 13 juillet 2019 de 14h00 à 18h00.

Gulliver organise la permanence de juillet samedi 13 juillet 2019, de 14h à 18h, à la MCE, salle Accueil (localisation).

Vous pouvez venir installer GNU Linux ou un logiciel libre, pour diffuser facilement et rapidement vos œuvres grâce aux licences GNU et Creative Commons.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Catégories: Les actus

« Internet est cassé » ou plutôt : comment tester du TCP ou de l’UDP

mer, 03/07/2019 - 11:46

N. D. L. A. : cet article est généré via une commande du type ansible-playbook InternetEstCassé.yml pour tester réellement les commandes.

Internet est cassé. Le Web ne marche plus. Le réseau est pété. Ça marche pas. Ce site est indisponible. Des lutins bloquent ma connexion. Les tuyaux sont bouchés. Y a Firefox qui veut pas, etc. Quand il y a un souci de réseau, toutes sortes d’imprécations, de suppositions, de supplications ou de raisons sont lancées. Peut‐on aller plus loin et essayer d’y voir plus clair, de déboguer un peu le souci et d’identifier le problème.

On va parler un peu d'IP — surtout la version 4 —, de TCP, d’UDP, d’ICMP, d’ARP, de DNS, de HTTP, etc., d’un peu de vue pratique de vérification du bon fonctionnement ou de recherche d’un souci. En dehors des pages Wikipédia, une lecture utile : la RFC 1180 « A TCP/IP Tutorial » (avec une traduction en français disponible).

    Sommaire Tester un flux TCP ou UDP

    TL;DR : En TCP on va avoir des réponses de type connexion refusée si le port est fermé ou filtré avec rejet, une attente ou un délai d’attente trop long si le trafic est poubellisé, et une connexion établie si tout va bien. En UDP, on sera notifié d’une erreur en cas de port fermé ou filtré avec rejet, et ne saura pas différencier un port ouvert d’une « poubellisation » du trafic. Il y a plein d’outils possibles pour tester un flux TCP ou UDP en client ou en serveur.

    Prenons un cas simple : on sait si l’on utilise du TCP ou de l’UDP, et l’on veut joindre un port précis sur une adresse IP donnée.

    Port TCP Port TCP fermé

    Commençons par essayer de joindre un port fermé (rien en écoute, le programme qui devait écouter dessus n’a pas été lancé, a mal démarré, écoute sur une autre adresse ou port, une autre version d’IP, a déjà planté, etc.). Dans cet exemple, on veut joindre l’adresse IP 127.0.0.1 et le port TCP 60001, avec ce que l’on a sous la main (souvent sur un serveur, le choix des outils disponibles est limité). On constate des réponses de type connexion refusée.

    $ telnet 127.0.0.1 60001 (durée d'exécution 00:00) Trying 127.0.0.1...telnet: Unable to connect to remote host: Connection refused (code de retour 1) $ nc -t -v 127.0.0.1 60001 (durée d'exécution 00:00) nc: connect to 127.0.0.1 port 60001 (tcp) failed: Connection refused (code de retour 1) $ bash -c exec 3<>/dev/tcp/127.0.0.1/60001 (durée d'exécution 00:00) bash: connect: Connexion refusée bash: /dev/tcp/127.0.0.1/60001: Connexion refusée (code de retour 1) $ zsh -c autoload -U tcp_open;tcp_open 127.0.0.1 60001 (durée d'exécution 00:00) tcp_open:ztcp:174: connection failed: connexion refusée (code de retour 1) $ nmap -v -sT -p 60001 127.0.0.1 (durée d'exécution 00:00) Starting Nmap 7.70 ( https://nmap.org ) at 2019-06-30 19:06 CEST Initiating Ping Scan at 19:06 Scanning 127.0.0.1 [2 ports] Completed Ping Scan at 19:06, 0.00s elapsed (1 total hosts) Initiating Connect Scan at 19:06 Scanning localhost (127.0.0.1) [1 port] Completed Connect Scan at 19:06, 0.00s elapsed (1 total ports) Nmap scan report for localhost (127.0.0.1) Host is up (0.00011s latency). PORT STATE SERVICE 60001/tcp closed unknown Read data files from: /usr/bin/../share/nmap Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds (code de retour 0) $ sudo traceroute -T -N 1 -m 1 -q 1 -p 60001 127.0.0.1 -O info (durée d'exécution 00:00) traceroute to 127.0.0.1 (127.0.0.1), 1 hops max, 60 byte packets 1 localhost (127.0.0.1) <rst,ack> 0.033 ms (code de retour 0) $ openssl s_client -connect 127.0.0.1:60001 (durée d'exécution 00:00) 140595570463872:error:0200206F:system library:connect:Connection refused:../crypto/bio/b_sock2.c:110: 140595570463872:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111: connect:errno=111 (code de retour 1) $ ssh -p 60001 127.0.0.1 (durée d'exécution 00:00) Pseudo-terminal will not be allocated because stdin is not a terminal. ssh: connect to host 127.0.0.1 port 60001: Connection refused (code de retour 255) $ perl -e use IO::Socket::INET;new IO::Socket::INET ( PeerHost => "127.0.0.1", PeerPort => "60001", Proto => "tcp",) or die "ERROR in Socket Creation : $!\n"; (durée d'exécution 00:00) ERROR in Socket Creation : Connection refused (code de retour 111) $ python3 -c import socket;socket.socket().connect(("127.0.0.1",60001)) (durée d'exécution 00:00) Traceback (most recent call last): File "<string>", line 1, in <module> ConnectionRefusedError: [Errno 111] Connection refused (code de retour 1) $ ruby -e require "socket";s = TCPSocket.open("127.0.0.1", 60001) (durée d'exécution 00:00) -e:1:in `initialize': Connection refused - connect(2) for "127.0.0.1" port 60001 (Errno::ECONNREFUSED) from -e:1:in `open' from -e:1:in `<main>' (code de retour 1) $ curl -v -s --max-time 60 http://127.0.0.1:60001 (durée d'exécution 00:00) * Expire in 0 ms for 6 (transfer 0x55bf2d3fec40) * Expire in 60000 ms for 8 (transfer 0x55bf2d3fec40) * Trying 127.0.0.1... * TCP_NODELAY set * Expire in 200 ms for 4 (transfer 0x55bf2d3fec40) * connect to 127.0.0.1 port 60001 failed: Connexion refusée * Failed to connect to 127.0.0.1 port 60001: Connexion refusée * Closing connection 0 (code de retour 7) $ wget --timeout=60 --tries=1 http://127.0.0.1:60001 (durée d'exécution 00:00) --2019-06-30 19:06:05-- http://127.0.0.1:60001/ Connexion à 127.0.0.1:60001… échec : Connexion refusée. (code de retour 4) $ links -dump http://127.0.0.1:60001 (durée d'exécution 00:00) Connection refused (code de retour 1) $ chromium http://127.0.0.1:60001 (Ce site est inaccessible. 127.0.0.1 n'autorise pas la connexion. ERR_CONNECTION_REFUSED) $ firefox http://127.0.0.1:60001 (Unable to connect Firefox can’t establish a connection to the server at 127.0.0.1:60001) Port TCP filtré avec rejet

    Essayons de joindre un port TCP filtré avec rejet par un pare‐feu. Dans cet exemple, on veut joindre l’adresse IP 127.0.0.1 et le port TCP 60000 (et l’on va obtenir exactement le même résultat que précédemment, à part pour nmap).

    $ telnet 127.0.0.1 60000 (durée d'exécution 0:00:01.015323) Trying 127.0.0.1...telnet: Unable to connect to remote host: Connection refused (code de retour 1) $ nc -t -v 127.0.0.1 60000 (durée d'exécution 0:00:01.012197) nc: connect to 127.0.0.1 port 60000 (tcp) failed: Connection refused (code de retour 1) $ bash -c exec 3<>/dev/tcp/127.0.0.1/60000 (durée d'exécution 0:00:01.006805) bash: connect: Connexion refusée bash: /dev/tcp/127.0.0.1/60000: Connexion refusée (code de retour 1) $ zsh -c autoload -U tcp_open;tcp_open 127.0.0.1 60000 (durée d'exécution 0:00:01.026754) tcp_open:ztcp:174: connection failed: connexion refusée (code de retour 1) $ nmap -v -sT -p 60000 127.0.0.1 (durée d'exécution 0:00:00.277299) Starting Nmap 7.70 ( https://nmap.org ) at 2019-06-30 19:06 CEST Initiating Ping Scan at 19:06 Scanning 127.0.0.1 [2 ports] Completed Ping Scan at 19:06, 0.00s elapsed (1 total hosts) Initiating Connect Scan at 19:06 Scanning localhost (127.0.0.1) [1 port] Completed Connect Scan at 19:06, 0.20s elapsed (1 total ports) Nmap scan report for localhost (127.0.0.1) Host is up (0.00012s latency). PORT STATE SERVICE 60000/tcp filtered unknown Read data files from: /usr/bin/../share/nmap Nmap done: 1 IP address (1 host up) scanned in 0.26 seconds (code de retour 0) $ sudo traceroute -T -N 1 -m 1 -q 1 -p 60000 127.0.0.1 -O info (durée d'exécution 0:00:00.019657) traceroute to 127.0.0.1 (127.0.0.1), 1 hops max, 60 byte packets 1 localhost (127.0.0.1) 0.030 ms (code de retour 0) $ openssl s_client -connect 127.0.0.1:60000 (durée d'exécution 0:00:01.042588) 140296376857728:error:0200206F:system library:connect:Connection refused:../crypto/bio/b_sock2.c:110: 140296376857728:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111: connect:errno=111 (code de retour 1) $ ssh -p 60000 127.0.0.1 (durée d'exécution 0:00:01.022311) Pseudo-terminal will not be allocated because stdin is not a terminal. ssh: connect to host 127.0.0.1 port 60000: Connection refused (code de retour 255) $ perl -e use IO::Socket::INET;new IO::Socket::INET ( PeerHost => "127.0.0.1", PeerPort => "60000", Proto => "tcp",) or die "ERROR in Socket Creation : $!\n"; (durée d'exécution 0:00:01.052922) ERROR in Socket Creation : Connection refused (code de retour 111) $ python3 -c import socket;socket.socket().connect(("127.0.0.1",60000)) (durée d'exécution 0:00:01.077612) Traceback (most recent call last): File "<string>", line 1, in <module> ConnectionRefusedError: [Errno 111] Connection refused (code de retour 1) $ ruby -e require "socket";s = TCPSocket.open("127.0.0.1", 60000) (durée d'exécution 0:00:01.178000) -e:1:in `initialize': Connection refused - connect(2) for "127.0.0.1" port 60000 (Errno::ECONNREFUSED) from -e:1:in `open' from -e:1:in `<main>' (code de retour 1) $ curl -v -s --max-time 60 http://127.0.0.1:60000 (durée d'exécution 0:00:01.038146) * Expire in 0 ms for 6 (transfer 0x55d959531c40) * Expire in 60000 ms for 8 (transfer 0x55d959531c40) * Trying 127.0.0.1... * TCP_NODELAY set * Expire in 200 ms for 4 (transfer 0x55d959531c40) * connect to 127.0.0.1 port 60000 failed: Connexion refusée * Failed to connect to 127.0.0.1 port 60000: Connexion refusée * Closing connection 0 (code de retour 7) $ wget --timeout=60 --tries=1 http://127.0.0.1:60000 (durée d'exécution 0:00:01.031294) --2019-06-30 19:06:20-- http://127.0.0.1:60000/ Connexion à 127.0.0.1:60000… échec : Connexion refusée. (code de retour 4) $ links -dump http://127.0.0.1:60000 (durée d'exécution 0:00:03.066049) Connection refused (code de retour 1) $ chromium http://127.0.0.1:60000 (Ce site est inaccessible. 127.0.0.1 n'autorise pas la connexion. ERR_CONNECTION_REFUSED) $ firefox http://127.0.0.1:60000 (Unable to connect Firefox can’t establish a connection to the server at 127.0.0.1:60000) Port TCP filtré avec poubellisation

    Maintenant tentons de joindre un port TCP filtré avec poubellisation des paquets par un pare‐feu. Dans cet exemple, on veut joindre l’adresse IP 127.0.0.1 et le port TCP 60020. Les résultats obtenus sont de type délai d’attente trop long, en l’absence de réponse.

    $ telnet 127.0.0.1 60020 (durée d'exécution 0:02:10.315065) Trying 127.0.0.1...telnet: Unable to connect to remote host: Connection timed out (code de retour 1) $ nc -t -v 127.0.0.1 60020 (durée d'exécution 0:02:10.256818) nc: connect to 127.0.0.1 port 60020 (tcp) failed: Connection timed out (code de retour 1) $ bash -c exec 3<>/dev/tcp/127.0.0.1/60020 (durée d'exécution 0:02:09.811710) bash: connect: Connexion terminée par expiration du délai d'attente bash: /dev/tcp/127.0.0.1/60020: Connexion terminée par expiration du délai d'attente (code de retour 1) $ zsh -c autoload -U tcp_open;tcp_open 127.0.0.1 60020 (durée d'exécution 0:02:10.423479) tcp_open:ztcp:174: connection failed: connexion terminée par expiration du délai d'attente (code de retour 1) $ nmap -v -sT -p 60020 127.0.0.1 (durée d'exécution 0:00:00.860462) Starting Nmap 7.70 ( https://nmap.org ) at 2019-06-30 19:15 CEST Initiating Ping Scan at 19:15 Scanning 127.0.0.1 [2 ports] Completed Ping Scan at 19:15, 0.00s elapsed (1 total hosts) Initiating Connect Scan at 19:15 Scanning localhost (127.0.0.1) [1 port] Completed Connect Scan at 19:15, 0.20s elapsed (1 total ports) Nmap scan report for localhost (127.0.0.1) Host is up (0.00012s latency). PORT STATE SERVICE 60020/tcp filtered unknown Read data files from: /usr/bin/../share/nmap Nmap done: 1 IP address (1 host up) scanned in 0.39 seconds (code de retour 0) $ sudo traceroute -T -N 1 -m 1 -q 1 -p 60020 127.0.0.1 -O info (durée d'exécution 0:00:05.126178) traceroute to 127.0.0.1 (127.0.0.1), 1 hops max, 60 byte packets 1 * (code de retour 0) $ openssl s_client -connect 127.0.0.1:60020 (durée d'exécution 0:02:11.242094) 140029672752256:error:0200206E:system library:connect:Connection timed out:../crypto/bio/b_sock2.c:110: 140029672752256:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111: connect:errno=110 (code de retour 1) $ ssh -p 60020 127.0.0.1 (durée d'exécution 0:02:10.451898) Pseudo-terminal will not be allocated because stdin is not a terminal. ssh: connect to host 127.0.0.1 port 60020: Connection timed out (code de retour 255) $ perl -e use IO::Socket::INET;new IO::Socket::INET ( PeerHost => "127.0.0.1", PeerPort => "60020", Proto => "tcp",) or die "ERROR in Socket Creation : $!\n"; (durée d'exécution 0:02:10.522130) ERROR in Socket Creation : Connection timed out (code de retour 110) $ python3 -c import socket;socket.socket().connect(("127.0.0.1",60020)) (durée d'exécution 0:02:10.415526) Traceback (most recent call last): File "<string>", line 1, in <module> TimeoutError: [Errno 110] Connection timed out (code de retour 1) $ ruby -e require "socket";s = TCPSocket.open("127.0.0.1", 60020) (durée d'exécution 0:02:10.149211) -e:1:in `initialize': Connection timed out - connect(2) for "127.0.0.1" port 60020 (Errno::ETIMEDOUT) from -e:1:in `open' from -e:1:in `<main>' (code de retour 1) $ curl -v -s --max-time 60 http://127.0.0.1:60020 (durée d'exécution 0:01:00.105772) * Expire in 0 ms for 6 (transfer 0x556c2510fc40) * Expire in 60000 ms for 8 (transfer 0x556c2510fc40) * Trying 127.0.0.1... * TCP_NODELAY set * Expire in 200 ms for 4 (transfer 0x556c2510fc40) * Connection timed out after 60000 milliseconds * Closing connection 0 (code de retour 28) $ wget --timeout=60 --tries=1 http://127.0.0.1:60020 (durée d'exécution 0:01:00.365540) --2019-06-30 19:27:14-- http://127.0.0.1:60020/ Connexion à 127.0.0.1:60020… échec : Connexion terminée par expiration du délai d'attente. Abandon. (code de retour 4) $ links -dump http://127.0.0.1:60020 (durée d'exécution 0:06:32.165744) Connection timed out (code de retour 1) $ chromium http://127.0.0.1:60020 (Ce site est inaccessible. 127.0.0.1 a mis trop de temps à répondre. ERR_CONNECTION_TIMED_OUT) $ firefox http://127.0.0.1:60020 (The connection has timed out. The server at 127.0.0.1 is taking too long to respond. Port TCP en écoute

    Au fait, ça donne quoi des connexions TCP réussies ? Dans notre exemple, la connexion est réussie, mais le serveur ne parle pas forcément le bon protocole, et de toute façon il coupe la connexion.

    $ telnet 127.0.0.1 60040 (durée d'exécution 0:00:00.109715) Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'.Connection closed by foreign host. (code de retour 1) $ nc -t -v 127.0.0.1 60040 (durée d'exécution 0:00:00.072833) Connection to 127.0.0.1 60040 port [tcp/*] succeeded! (code de retour 0) $ bash -c exec 3<>/dev/tcp/127.0.0.1/60040 (durée d'exécution 0:00:00.077887) (code de retour 0) $ zsh -c autoload -U tcp_open;tcp_open 127.0.0.1 60040 (durée d'exécution 0:00:00.582218) Session 1 (host 127.0.0.1, port 60040 fd 3) opened OK. Setting default TCP session 1 (code de retour 0) $ nmap -v -sT -p 60040 127.0.0.1 (durée d'exécution 0:00:00.575144) Starting Nmap 7.70 ( https://nmap.org ) at 2019-06-30 19:34 CEST Initiating Ping Scan at 19:34 Scanning 127.0.0.1 [2 ports] Completed Ping Scan at 19:34, 0.00s elapsed (1 total hosts) Initiating Connect Scan at 19:34 Scanning localhost (127.0.0.1) [1 port] Discovered open port 60040/tcp on 127.0.0.1 Completed Connect Scan at 19:34, 0.00s elapsed (1 total ports) Nmap scan report for localhost (127.0.0.1) Host is up (0.0022s latency). PORT STATE SERVICE 60040/tcp open unknown Read data files from: /usr/bin/../share/nmap Nmap done: 1 IP address (1 host up) scanned in 0.21 seconds (code de retour 0) $ sudo traceroute -T -N 1 -m 1 -q 1 -p 60040 127.0.0.1 -O info (durée d'exécution 0:07:30.000489) traceroute to 127.0.0.1 (127.0.0.1), 1 hops max, 60 byte packets 1 localhost (127.0.0.1) <syn,ack> 0.097 ms (code de retour 0) $ openssl s_client -connect 127.0.0.1:60040 (durée d'exécution 0:00:00.123910) CONNECTED(00000003) --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 0 bytes and written 283 bytes Verification: OK --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated Early data was not sent Verify return code: 0 (ok) ---write:errno=104 (code de retour 1) $ ssh -p 60040 127.0.0.1 (durée d'exécution 0:00:00.210452) Pseudo-terminal will not be allocated because stdin is not a terminal. ssh_exchange_identification: Connection closed by remote host (code de retour 255) $ perl -e use IO::Socket::INET;new IO::Socket::INET ( PeerHost => "127.0.0.1", PeerPort => "60040", Proto => "tcp",) or die "ERROR in Socket Creation : $!\n"; (durée d'exécution 0:00:01.093543) (code de retour 0) $ python3 -c import socket;socket.socket().connect(("127.0.0.1",60040)) (durée d'exécution 0:00:00.156651) (code de retour 0) $ ruby -e require "socket";s = TCPSocket.open("127.0.0.1", 60040) (durée d'exécution 0:00:01.445306) (code de retour 0) $ curl -v -s --max-time 60 http://127.0.0.1:60040 (durée d'exécution 0:00:00.182162) * Expire in 0 ms for 6 (transfer 0x55ebb4398c40) * Expire in 60000 ms for 8 (transfer 0x55ebb4398c40) * Trying 127.0.0.1... * TCP_NODELAY set * Expire in 200 ms for 4 (transfer 0x55ebb4398c40) * Connected to 127.0.0.1 (127.0.0.1) port 60040 (#0) > GET / HTTP/1.1 > Host: 127.0.0.1:60040 > User-Agent: curl/7.64.0 > Accept: */* > * Empty reply from server * Connection #0 to host 127.0.0.1 left intact (code de retour 52) $ wget --timeout=60 --tries=1 http://127.0.0.1:60040 (durée d'exécution 0:00:00.215817) --2019-06-30 19:42:33-- http://127.0.0.1:60040/ Connexion à 127.0.0.1:60040… connecté. requête HTTP transmise, en attente de la réponse… Erreur de lecture (Connexion ré-initialisée par le correspondant) dans les en-têtes. Abandon. (code de retour 4) $ links -dump http://127.0.0.1:60040 (durée d'exécution 0:00:00.214406) Error reading from socket (code de retour 1) $ chromium http://127.0.0.1:60040 (Ce site est inaccessible. Il se peut que la page Web à l'adresse http://127.0.0.1:60040/ soit temporairement inaccessible ou qu'elle ait été déplacée de façon permanente à une autre adresse Web. ERR_SOCKET_NOT_CONNECTED) $ firefox http://127.0.0.1:60040 (The connection was reset. The connection to the server was reset while the page was loading.) Trafic réseau

    Jetons un œil au trafic réseau échangé (si le port est fermé, la réponse est un TCP RST ; si le trafic est rejeté, la réponse est un « ICMP port inaccessible » ; si le trafic est poubellisé, le TCP SYN (et les réessais) restent sans réponse ; enfin, si le port est ouvert, la connexion s’établit avec la poignée de main TCP, la fermeture de session pouvant être différente suivant si des données ont été envoyées ou non). Ici, source et destination sont une seule et même machine, mais peu importe.

    $ sudo tshark -i lo -f "host 127.0.0.1 and (tcp or icmp)" Running as user "root" and group "root". This could be dangerous. tshark: Lua: Error during loading: [string "/usr/share/wireshark/init.lua"]:44: dofile has been disabled due to running Wireshark as superuser. See https://wiki.wireshark.org/CaptureSetup/CapturePrivileges for help in running Wireshark as an unprivileged user. Capturing on 'Loopback' (n° paquet, horloge, source -> destination protocole...) 1 0.000000000 127.0.0.1 → 127.0.0.1 TCP 74 39766 → 60001 [SYN] Seq=0 Win=43690 Len=0 MSS=65495 SACK_PERM=1 TSval=10596677 TSecr=0 WS=128 2 0.000016574 127.0.0.1 → 127.0.0.1 TCP 54 60001 → 39766 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0 (...) 37 8.190159737 127.0.0.1 → 127.0.0.1 TCP 74 42694 → 60000 [SYN] Seq=0 Win=43690 Len=0 MSS=65495 SACK_PERM=1 TSval=10598724 TSecr=0 WS=128 38 8.190177891 127.0.0.1 → 127.0.0.1 ICMP 102 Destination unreachable (Port unreachable) 39 9.190192177 127.0.0.1 → 127.0.0.1 TCP 74 [TCP Retransmission] 42694 → 60000 [SYN] Seq=0 Win=43690 Len=0 MSS=65495 SACK_PERM=1 TSval=10598975 TSecr=0 WS=128 40 9.190276171 127.0.0.1 → 127.0.0.1 ICMP 102 Destination unreachable (Port unreachable) (...) 103 28.328151130 127.0.0.1 → 127.0.0.1 TCP 74 51006 → 60020 [SYN] Seq=0 Win=43690 Len=0 MSS=65495 SACK_PERM=1 TSval=10603759 TSecr=0 WS=128 104 29.326198277 127.0.0.1 → 127.0.0.1 TCP 74 [TCP Retransmission] 51006 → 60020 [SYN] Seq=0 Win=43690 Len=0 MSS=65495 SACK_PERM=1 TSval=10604009 TSecr=0 WS=128 105 31.330178795 127.0.0.1 → 127.0.0.1 TCP 74 [TCP Retransmission] 51006 → 60020 [SYN] Seq=0 Win=43690 Len=0 MSS=65495 SACK_PERM=1 TSval=10604510 TSecr=0 WS=128 (...) 207 1683.477081380 127.0.0.1 → 127.0.0.1 TCP 74 45876 → 60040 [SYN] Seq=0 Win=43690 Len=0 MSS=65495 SACK_PERM=1 TSval=11017546 TSecr=0 WS=128 208 1683.477103411 127.0.0.1 → 127.0.0.1 TCP 74 60040 → 45876 [SYN, ACK] Seq=0 Ack=1 Win=43690 Len=0 MSS=65495 SACK_PERM=1 TSval=11017546 TSecr=11017546 WS=128 209 1683.477118197 127.0.0.1 → 127.0.0.1 TCP 66 45876 → 60040 [ACK] Seq=1 Ack=1 Win=43776 Len=0 TSval=11017546 TSecr=11017546 210 1683.477172642 127.0.0.1 → 127.0.0.1 TCP 66 60040 → 45876 [FIN, ACK] Seq=1 Ack=1 Win=43776 Len=0 TSval=11017546 TSecr=11017546 211 1683.477299723 127.0.0.1 → 127.0.0.1 TCP 66 45876 → 60040 [FIN, ACK] Seq=1 Ack=2 Win=43776 Len=0 TSval=11017546 TSecr=11017546 212 1683.477307741 127.0.0.1 → 127.0.0.1 TCP 66 60040 → 45876 [ACK] Seq=2 Ack=2 Win=43776 Len=0 TSval=11017546 TSecr=11017546 (...) 276 1688.854649280 127.0.0.1 → 127.0.0.1 TCP 66 45900 → 60040 [ACK] Seq=1 Ack=1 Win=43776 Len=0 TSval=11018891 TSecr=11018891 277 1688.854689131 127.0.0.1 → 127.0.0.1 TCP 66 60040 → 45900 [FIN, ACK] Seq=1 Ack=1 Win=43776 Len=0 TSval=11018891 TSecr=11018891 278 1688.854759615 127.0.0.1 → 127.0.0.1 HTTP 145 GET / HTTP/1.1 279 1688.854773879 127.0.0.1 → 127.0.0.1 TCP 54 60040 → 45900 [RST] Seq=2 Win=0 Len=0 Port UDP Port UDP fermé

    Et si l’on teste de l’UDP, lorsque rien n’est en écoute, par exemple, on peut détecter que le port est fermé (globalement le client est notifié de la fermeture).

    $ sh -c echo coin|nc -u -v -w10 127.0.0.1 60011 (durée d'exécution 0:00:00.009070) (code de retour 1) $ bash -c exec 3<>/dev/udp/127.0.0.1/60011; echo coin >&3; sleep 10 (durée d'exécution 0:00:10.011074) (code de retour 0) $ traceroute -U -N 1 -m 1 -q 1 -p 60011 127.0.0.1 (durée d'exécution 0:00:00.030841) traceroute to 127.0.0.1 (127.0.0.1), 1 hops max, 60 byte packets 1 localhost (127.0.0.1) 0.039 ms (code de retour 0) $ sudo nmap -v -sU -p 60011 127.0.0.1 (durée d'exécution 0:00:00.519691) Starting Nmap 7.70 ( https://nmap.org ) at 2019-06-30 19:42 CEST Initiating UDP Scan at 19:42 Scanning localhost (127.0.0.1) [1 port] Completed UDP Scan at 19:42, 0.24s elapsed (1 total ports) Nmap scan report for localhost (127.0.0.1) Host is up (0.000090s latency). PORT STATE SERVICE 60011/udp closed unknown Read data files from: /usr/bin/../share/nmap Nmap done: 1 IP address (1 host up) scanned in 0.44 seconds Raw packets sent: 1 (28B) | Rcvd: 2 (84B) (code de retour 0) Port UDP filtré avec rejet

    Ou que le trafic est rejeté par un pare‐feu, cela revient plus ou moins au même :

    $ sh -c echo coin|nc -u -v -w10 127.0.0.1 60010 (durée d'exécution 0:00:00.027297) (code de retour 1) $ bash -c exec 3<>/dev/udp/127.0.0.1/60010; echo coin >&3; sleep 10 (durée d'exécution 0:00:10.010258) (code de retour 0) $ traceroute -U -N 1 -m 1 -q 1 -p 60010 127.0.0.1 (durée d'exécution 0:00:00.015655) traceroute to 127.0.0.1 (127.0.0.1), 1 hops max, 60 byte packets 1 localhost (127.0.0.1) 0.035 ms (code de retour 0) $ sudo nmap -v -sU -p 60010 127.0.0.1 (durée d'exécution 0:00:00.392441) Starting Nmap 7.70 ( https://nmap.org ) at 2019-06-30 19:43 CEST Initiating UDP Scan at 19:43 Scanning localhost (127.0.0.1) [1 port] Completed UDP Scan at 19:43, 0.22s elapsed (1 total ports) Nmap scan report for localhost (127.0.0.1) Host is up (0.000081s latency). PORT STATE SERVICE 60010/udp closed unknown Read data files from: /usr/bin/../share/nmap Nmap done: 1 IP address (1 host up) scanned in 0.33 seconds Raw packets sent: 1 (28B) | Rcvd: 2 (84B) (code de retour 0) Port UDP filtré avec poubellisation

    En revanche, il est devient difficile de différencier le trafic UDP poubellisé du trafic réussi (car le client n’est pas notifié de l’erreur, le protocole UDP n’est pas connecté et ne garantit ni livraison, ni l’ordre d’arrivée, ni la non‐duplication des paquets transmis).

    $ sh -c echo coin|nc -u -v -w10 127.0.0.1 60030 (durée d'exécution 0:00:20.026213) Connection to 127.0.0.1 60030 port [udp/*] succeeded! (code de retour 0) $ bash -c exec 3<>/dev/udp/127.0.0.1/60030; echo coin >&3; sleep 10 (durée d'exécution 0:00:10.010664) (code de retour 0) $ traceroute -U -N 1 -m 1 -q 1 -p 60030 127.0.0.1 (durée d'exécution 0:00:05.016796) traceroute to 127.0.0.1 (127.0.0.1), 1 hops max, 60 byte packets 1 * (code de retour 0) $ sudo nmap -v -sU -p 60030 127.0.0.1 (durée d'exécution 0:00:02.354541) Starting Nmap 7.70 ( https://nmap.org ) at 2019-06-30 19:43 CEST Initiating UDP Scan at 19:43 Scanning localhost (127.0.0.1) [1 port] Completed UDP Scan at 19:43, 2.04s elapsed (1 total ports) Nmap scan report for localhost (127.0.0.1) Host is up. PORT STATE SERVICE 60030/udp open|filtered unknown Read data files from: /usr/bin/../share/nmap Nmap done: 1 IP address (1 host up) scanned in 2.23 seconds Raw packets sent: 2 (56B) | Rcvd: 2 (56B) (code de retour 0) Port UDP en écoute

    On retrouve le même résultat sur un test avec effectivement un serveur en écoute :

    $ sh -c echo coin|nc -u -v -w10 127.0.0.1 60050 (durée d'exécution 0:00:20.029595) Connection to 127.0.0.1 60050 port [udp/*] succeeded! (code de retour 0) $ bash -c exec 3<>/dev/udp/127.0.0.1/60050; echo coin >&3; sleep 10 (durée d'exécution 0:00:10.015239) (code de retour 0) $ traceroute -U -N 1 -m 1 -q 1 -p 60050 127.0.0.1 (durée d'exécution 0:00:05.020411) traceroute to 127.0.0.1 (127.0.0.1), 1 hops max, 60 byte packets 1 * (code de retour 0) $ sudo nmap -v -sU -p 60050 127.0.0.1 (durée d'exécution 0:00:02.302030) Starting Nmap 7.70 ( https://nmap.org ) at 2019-06-30 19:44 CEST Initiating UDP Scan at 19:44 Scanning localhost (127.0.0.1) [1 port] Completed UDP Scan at 19:44, 2.03s elapsed (1 total ports) Nmap scan report for localhost (127.0.0.1) Host is up. PORT STATE SERVICE 60050/udp open|filtered unknown Read data files from: /usr/bin/../share/nmap Nmap done: 1 IP address (1 host up) scanned in 2.18 seconds Raw packets sent: 2 (56B) | Rcvd: 2 (56B) (code de retour 0) Trafic échangé

    Regardons le trafic réseau échangé (un port fermé ou un trafic rejeté génère une réponse « ICMP port inaccessible », et un port ouvert ou un trafic poubellisé ne génère aucune réponse). Ici source et destination sont une seule et même machine, mais peu importe.

    $ sudo tshark -i lo -f "host 127.0.0.1 and (udp or icmp)" Running as user "root" and group "root". This could be dangerous. tshark: Lua: Error during loading: [string "/usr/share/wireshark/init.lua"]:44: dofile has been disabled due to running Wireshark as superuser. See https://wiki.wireshark.org/CaptureSetup/CapturePrivileges for help in running Wireshark as an unprivileged user. Capturing on 'Loopback' (n° paquet, horloge, source -> destination protocole...) 1 0.000000000 127.0.0.1 → 127.0.0.1 UDP 43 58991 → 60011 Len=1 2 0.000018701 127.0.0.1 → 127.0.0.1 ICMP 71 Destination unreachable (Port unreachable) (...) 9 15.846541876 127.0.0.1 → 127.0.0.1 UDP 43 52810 → 60010 Len=1 10 15.846560153 127.0.0.1 → 127.0.0.1 ICMP 71 Destination unreachable (Port unreachable) (...) 17 31.086988181 127.0.0.1 → 127.0.0.1 UDP 43 48647 → 60030 Len=1 18 31.086997796 127.0.0.1 → 127.0.0.1 UDP 43 48647 → 60030 Len=1 19 32.087088785 127.0.0.1 → 127.0.0.1 UDP 43 48647 → 60030 Len=1 (...) 34 73.221725214 127.0.0.1 → 127.0.0.1 UDP 43 46294 → 60050 Len=1 35 73.221740517 127.0.0.1 → 127.0.0.1 UDP 43 46294 → 60050 Len=1 36 74.221835792 127.0.0.1 → 127.0.0.1 UDP 43 46294 → 60050 Len=1 TODO : des idées pour la suite

    Des idées pour la suite :

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Bienvenue Mageia 7

    mar, 02/07/2019 - 19:25

    Elle s’est fait attendre, mais ça en valait la peine. Sortie le 30 juin 2019, la plus chouette, la plus bleue (ou presque) et la plus magique des distributions GNU/Linux, avec cette version 7 nous offre, notamment, un panneau de Bienvenue Mageia renouvelé et repensé, de nouvelles fonctionnalités et des versions les plus récentes possibles des logiciels. Toutefois, Mageia 7 reste fidèle à elle-même et propose toujours une version 32-bit et une version 64-bit ainsi qu’un grand choix d’environnements de bureau. Elle reste aussi toujours facilement accessible des personnes qui découvrent GNU/Linux.

    L'arrière-plan par défaut de Mageia 7.

    Magiea 6 sera encore maintenue pendant les trois mois suivant la sortie de la version 7.

    Sommaire Les médias d’installation et les dépôts Les médias

    Mageia fournit deux médias d’installation différents qui nécessitent des clés USB de 4 Go minimum :

    • les ISO classique en 32 et 64-bit qui sont celles à utiliser pour une mise à jour ;
    • les ISO live qui permettent de tester la distribution sans l’installer ou, évidemment, de l’installer mais ne peuvent servir aux mises à jour. Elles ne proposent qu’un environnement de bureau selon la version téléchargée.

    Si vous êtes déjà sous Mageia, vous pouvez utiliser IsoDumper pour générer facilement une clé bootable. Sinon n’importe quel outil basé sur dd peut faire l’affaire. En revanche, Unetbootin n’est pas supporté.

    Enfin, il est également possible de télécharger un installeur réseau. Méthode à réserver à un réseau filaire pour plus de fiabilité.

    Les dépôts

    Comme toujours, Mageia a trois types de dépôts : les dépôts « Core » (de base) qui contiennent les paquetages de logiciel libre, les dépôts « Nonfree » (non-libre) qui contiennent des logiciels à source non libre mais qui sont libres de distribution (typiquement les divers pilotes de cartes graphiques, réseau etc.). Ces deux dépôts sont activés par défaut, le second pouvant être désactivé pendant l’installation. Le troisième concerne les dépôts « Tainted » (« contaminé ») qui contiennent des paquetages avec diverses licences et qui sont susceptibles d’enfreindre des lois sur la propriété intellectuelle. Ils ne sont pas activés par défaut.

    Les nouveautés et améliorations

    Le noyau, en version 5.1, est disponible pour ARMv7 et arrch64. Le support pour ARMv5 est abandonné.

    La Bienvenue sur Mageia, une application spécifique à Mageia qui s’affiche lors du premier démarrage, et qui peut être affichée à volonté, a été complètement repensée. Elle est plus informative et plus efficace. La fenêtre peut être redimensionnée et elle utilise les polices du bureau.

    L'onglet Mettre à jour de la Bienvenue sur Mageia, version 7, permet non seulement d'accéder aux mises à jour, mais d'avoir aussi les annonces. Il est également plus informatif.

    IsoDumper, outil qui permet de créer des clés bootables et de vérifier les signatures a maintenant une fonctionnalité permettant d’ajouter, dans le cadre des images « Live », une partition dans l’espace restant qui ajoute la persistance et permet de travailler avec et d’enregistrer des données dessus.

    DNF (Dandified Yum), introduit comme alternative à urpmi depuis Mageia 6, est proposé en version 4.2.6. Il utilise maintenant des métadonnées de dépôt compressées avec zchunk si disponibles. On peut ainsi migrer de Mageia 6 à Mageia 7 en réseau en utilisant DNF, qui, en ne téléchargeant que les différences entre l'ancienne copie et la version actuelle, assurera un gain considérable de bande passante lors des rafraîchissements des méta données de dépôt.

    Bien évidemment, Mageia 7 propose une collection de nouveaux arrière-plans de bureau créés par les utilisateurs et les utilisatrices.

    Enfin, à l’occasion de la sortie de Mageia 7, le wiki a également fait l’objet d’un gros travail, toujours en cours, pour le mettre à jour, mais aussi pour le rendre plus facile à utiliser.

    Versions des paquetages les plus utilisés

    Sans détailler tous les paquetages de Mageia 7, voici ceux qui sont les plus utilisés. Certains sont installés par défaut, d’autres non (Thunderbird, Inkscape, Chromium par exemple).

    • noyau Linux 5.1.14 ;
    • rpm 4.14.2 ;
    • dnf 4.2.6 ;
    • Mesa 19.1 ;
    • Plasma 5.15.4 ;
    • GNOME 3.32 ;
    • Xfce 4.14pre ;
    • Firefox 67 ;
    • Chromium 73 ;
    • LibreOffice 6.2.3 ;
    • Gimp 2.10 ;
    • Thunderbird 60.7.1 ;
    • Inkscape 0.92.
    Les environnements graphiques

    Mageia 7 en propose un large choix. On pourra ainsi installer la distribution sur des ordinateurs très variés, même s’ils disposent de peu de mémoire vive :

    • Plasma 5.15.4 ;
    • GNOME 3.32 ;
    • LXDE ;
    • Xfce 4.14pre ;
    • LXQt 0.14.1 ;
    • MATE 1.22.0 ;
    • Cinnamon 4.0 ;
    • Enlightenment ;
    • IceWM.
    Passer à Mageia 7, précautions d’usage

    Que l’on vienne de Mageia 6, d’une autre version ou d’une autre distribution, voire d’un autre système d’exploitation, quelques précautions sont à prendre. En effet, quelle que soit la qualité de la distribution, on n’est pas à l’abri d’un problème d’ordinateur ou d’une étourderie.

    1. Sauvegarde des données sur une source externe ;
    2. sauvegarde des profils d’applications, dossier .config et, le cas échéant des dossiers .mozilla, .thunderbird, .fonts et .local qui sont à la racine de votre espace personnel si vous êtes déjà sous Mageia ou une autre distribution GNU/Linux ;
    3. sauvegarde des dossiers de profil de LibreOffice, Gimp, Inkscape, Firefox, Thunderbird, et autres logiciels que vous trouverez dans C:\Users\<nom d'utilisateur>\AppData\Roaming pour Windows et users/<nom d’utilisateur>/Bibliothèque (ou Library selon les configurations) pour MacOS. Certains éléments pourront être récupérés et réinjectés, palettes .gpl pour Inkscape et Gimp par exemple, palettes, galeries, etc. pour LibreOffice.

    Avoir une clé « Live » par-devers soi est aussi une bonne idée qui permettra d’aborder ce changement de version avec encore plus de sérénité. Par la suite, il sera toujours possible de reformater la clé avec IsoDumper.

    Au besoin, vous pourrez vous référer aux pages suivantes :

    Pourquoi choisir Mageia

    Entre autres qualités, livrées sans ordre particulier.

    Mageia ne sort que quand elle est prête, sans être liée à la contrainte d’un calendrier de sorties rigide à respecter coûte que coûte. La durée de vie d’une version est de l’ordre de dix-huit mois à deux ans, ce qui est confortable pour les personnes qui n’ont pas envie de passer leur temps à faire des mises à jour majeures.

    Mageia propose encore une version 32-bit.

    Parmi la diversité des environnements de bureaux proposés par Mageia, il y en a forcément un qui vous convient et qui convient à votre ordinateur, si peu puissant qu’il soit (ou presque).

    Le Centre de Contrôle de Mageia (CCM) qui permet de gérer facilement votre ordinateur : installation, désinstallation de logiciels, réglage des divers paramètres, etc.

    Le CCM s'ouvre sur la Gestion des logiciels, fonctionnalité probablement la plus utilisée.

    La distribution est conçue pour les « débutants », à savoir les personnes qui n’ont pas trop envie de mettre les mains dans le cambouis pour utiliser leur ordinateur, sans, toutefois, les en empêcher.

    Elle dispose d’une bonne communauté francophone et les membres du forum de Mageia Linux Online (MLO) sont incroyablement patients.

    Créer une clé bootable est d’une grande facilité grâce à l’outil de la distribution IsoDumper.

    Et un grand merci à toutes les personnes qui ont contribué à ce que naisse cette nouvelle version de Mageia.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Cinéma, logiciels libres ou non : état des lieux

    mar, 02/07/2019 - 18:39

    Comme d’autres marchés de niche, le cinéma et la télévision sont relativement hermétiques au Libre, et il est parfois difficile d’en comprendre les raisons, la présence de productions légères très abouties sur YouTube donnant l’impression que produire une œuvre cinématographique ou audiovisuelle peut se faire entièrement à l’aide d’outils « légers » où le Libre est bel et bien présent.

    Je propose de fournir un état des lieux de l’industrie (principalement télévisée), et d’expliquer quels sont certains des freins à l’adoption du Libre, en terminant par une liste non exhaustive de projets me semblant avoir atteint une maturité suffisante pour être employés dans une industrie souvent très conservatrice.

    Sommaire Les étapes d’une production

    Parlons tout d’abord brièvement de la manière dont la production audiovisuelle est découpée.

    Dans le milieu professionnel, on retrouvera presque systématiquement :

    • la préproduction ;
    • le tournage/la production ;
    • la postproduction ;
    • la diffusion.

    Selon le type d’œuvre et le milieu, on trouvera aussi le développement en amont de la préproduction, la distribution entre la postproduction et la diffusion, et des étapes annexes (archivage…).

    Chaque étape requiert des actes techniques particuliers et des connaissances différentes. Toutes font appel ou peuvent faire appel à l’outil informatique, mais la postproduction est la plus gourmande en la matière et est complètement soumise à des éditeurs de logiciels propriétaires très spécialisés, raison pour laquelle cette dépêche se concentrera sur elle.

    En TV, la post‐production est complexe

    Quand on parle de post‐production, il faut distinguer plusieurs postes techniques, dont l’acquisition, le montage, l’étalonnage vidéo, les effets spéciaux, le mixage audio, la conformation… Chaque poste ayant souvent ses propres best practices et ses ténors logiciels, une partie du travail de l’informaticien est de faire en sorte que des logiciels ultra-propriétaires puissent échanger des données, en sachant que les aller‐retour entre différents postes sont fréquents et qu’ils doivent être sans pertes (lossless). À titre d’exemple, on trouve généralement :

    Le libre doit donc réussir à se faire une place au milieu de ces logiciels extrêmement bien implantés, tout en résolvant les problèmes ci-dessous.

    L’interopérabilité et les formats

    Les éditeurs de logiciels propriétaires fournissent généralement un support plus ou moins complet de la spécification AAF, mais l'interopérabilité se passe rarement sans douleur 1. Dans les faits, on tend donc à se tourner vers des outils dont les formats d'échange comme AAF sont compatibles, et qui puissent être articulés autour des incontournables que sont, par exemple, Photoshop et Pro Tools, ce qui limite rapidement les choix.

    En termes de formats, on trouve une gamme assez étendue de formats vidéo dits professionnels : des formats dont la spécification est plus ou moins accessible (l'accès aux spécifications principales est possible à tous ceux prêts à payer pour, et il y a parfois quelques ajouts propriétaires facilement compréhensibles) comme AVC-Intra,XDCAM HD… encapsulés dans un ou plusieurs conteneurs MXF, mais aussi parfois du raw complètement propriétaire et avec une rétro-ingénierie difficile, dans des résolutions rarement inférieures au 1080p24 et régulièrement très supérieures. Ils viennent parfois avec des intermédiaires de moindre qualité (ProRes, DNxHD…), et le son est souvent enregistré sur un autre support en BWF (du WAV avec quelques métadonnées dont les spécifications sont pour une fois librement accessibles). La post-production – généralement le montage – doit donc pouvoir gérer ces formats et résolutions, ainsi que les timecodes des différents fichiers afin de réconcilier vidéo et audio, le tout de manière aussi automatisée que possible. Dans un souci de facilité et de rapidité, on trouve typiquement une fonction Auto Sequence dans les outils de montage, qui permet de créer une séquence reprenant tous les rushes sélectionnés, dans l'ordre chronologique, et pouvant gérer les vides laissés par du Time of Day Timecode et les superpositions de différents clips (c'est fréquent en multicam, par exemple).

    Par ailleurs, en TV, il arrive qu'il faille débuter un travail de montage vidéo et de mixage audio alors qu'un direct n'est pas encore terminé. Il faut donc soit travailler avec des fichiers dits « ouverts », soit avec des flux vidéo / audio et du matériel d'acquisition, soit avec des protocoles de vidéo ou audio sur IP. Dans tous les cas, les logiciels doivent prendre en compte quelque chose de relativement peu commun.

    Le matériel et les protocoles

    Pour travailler rapidement de façon précise, il est commun dans certaines sociétés d'employer des surfaces de contrôle pour certains outils. Ainsi, on trouve régulièrement des surfaces S3 ou S6 pour les stations de travail Pro Tools, des contrôleurs pour l'étalonnage et l’audio dans Resolve, etc. Ces contrôleurs ne fonctionnent bien souvent qu'avec le logiciel pour lequel il a été conçu, les surfaces Avid étant une exception bien qu’employant un protocole IP à 100 % propriétaire nommé EuCon, qui est qualifié d'ouvert parce qu’Avid autorise certains partenaires commerciaux à obtenir un SDK afin de rendre leurs logiciels compatibles avec le matériel fabriqué exclusivement par Avid. Ce matériel coûtant une petite fortune, et les utilisateurs étant souvent très aguerris à leur utilisation, on réfléchit longtemps avant d’en changer.

    Certains DAW n’intègrent pas la lecture vidéo nécessaire au mixage à l’image, ce qui requiert de disposer d'un PC pour l’audio et d’un autre pour jouer la vidéo, les deux étant synchronisés à l’aide d'une référence commune, le lecteur vidéo devant également comprendre les commandes GPIO envoyées par le DAW pour les fonctions de transport (lecture, arrêt, avance rapide…). On trouve donc un besoin pour des cartes spécifiques ainsi que pour des protocoles de synchronisation et d’entrée‐sortie peu communs dans le monde de l’informatique dont est issu le Libre. Ardour semble gérer ce cas de figure.

    Autre point très important en post-production : le contrôle. Les logiciels de montage et d'étalonnage doivent pouvoir envoyer l'image directement vers une carte vidéo afin de contrôler la fidélité des couleurs, du contraste, la fluidité de l’image, etc., sur un moniteur ou projecteur calibré. Dans l’audio, des interfaces AES10 sont régulièrement présentes, avec lesquelles le DAW doit communiquer, en partie afin de pouvoir in fine contrôler la qualité du son. Les pilotes et SDK pour ces cartes ne sont pas toujours disponibles pour les systèmes libres et ne sont par conséquent pas utilisables dans les outils libres.

    Dans le broadcast, il est également important de pouvoir distribuer un signal vidéo et / ou audio dans un bâtiment, ce qui implique des équipements vidéo et / ou audio prenant en charge certains protocoles de distribution et de contrôle (SDI, HDBaseT, SDVoE, Dante, Ravenna, AES70…), que les logiciels de post-production doivent pouvoir gérer, que ça soit directement ou via des greffons (protocoles réseaux…) ou à l’aide d'équipements auxquels ils doivent s'interfacer (cartes SDI…).

    Les greffons

    D’autres pierres d’achoppement sont les greffons, dont certains sont parfois aussi importants que le logiciel hôte, et qui ne sont fournis que pour les logiciels propriétaires connus (les greffons audio VST font figure d’exception, mais sont eux‐mêmes propriétaires la plupart du temps). Certains éditeurs vendent des cartes DSP et / ou FPGA afin d’accélérer certains traitements / greffons, et ces cartes ne sont bien entendu pas utilisables par d’autres logiciels que les leurs. Quand il s’agit de traiter 200 pistes audio en temps réel, bourrées d’effets, tout en fournissant un retour audio et image sans latence à des personnes enregistrant leurs voix, ça devient précieux.

    The Open Effects Association est une initiative intéressante qui changera sans doute la donne, mais elle ne concerne apparemment que l’industrie des effets visuels, l'audio bénéficiant déjà du format ouvert VST, qui est malheureusement abandonné par le leader du marché au profit de son format propriétaire AAX.

    Les normes

    Il existe de nombreuses normes en TV : normalisation audio, niveaux blanc et noir, etc., qui nécessitent des équipements de mesure qui sont de plus en plus souvent des… greffons ou des fonctions intégrées, ce qui est bien meilleur marché que les appareils de mesure matériels qui restent cependant nécessaires à certains postes. Je connais trop peu le cinéma pour pouvoir en parler, mais de telles normes y sont très probablement présentes. Ce n’est pas mon domaine, aussi je ne développerai pas.

    J’aime me penser libriste, mais, à ce stade, intégrer du libre dans un workflow professionnel de post-production est très délicat. On en trouve de façon anecdotique, comme dans des grappes de transcodage vidéo où FFmpeg et FFmbc sont intégrés dans un outil propriétaire, et compilés avec la prise en charge d’algorithmes de compression propriétaires (et très concurrencés par Nablet et MainConcept). Si on tient compte du temps de formation, de l’envie compréhensible des utilisateurs d’employer des outils auxquels ils ont parfois consacré des années d’apprentissage, des contraintes budgétaires et des deadlines, de l’interdépendance très forte entre les postes, de l’inertie, du support et des SLA parfois nécessaires, du marché verrouillé, et qu‘on les ajoute aux défis techniques déjà fréquemment rédhibitoires, force est de constater que le libre n'a aucune chance pour le moment, peu importe la qualité des outils proposés.

    Une complexité excessive pour un documentaire ?

    On comprend mieux en quoi la tache est titanesque. C’est une chaîne extrêmement complexe où tous les outils doivent s’interfacer afin de communiquer avec le moins de perte possible entre chacun d’eux.

    C’est assez marrant de voir la différence entre les youtubeurs qui prennent un smartphone, un bon micro et font du contenu tout à fait regardable, et le monde professionnel qui utilise une chaîne d’une complexité qui donne le vertige. Peut-il y avoir un entre deux ? N’est-il pas possible de réaliser une production de très bonne qualité sans avoir à utiliser tous ces outils ?

    Car pour un documentaire, il n'y a pas les contraintes de temps réel et de pilotage de matériel vers l’ordinateur personnel. Par exemple avec une caméra Blackmagic Pocket on arrive à faire son acquisition très simplement, et ensuite on se sert des outils de post-processing de Blackmagic (non-libres).

    Ça dépend des cas

    Avant toute chose, rappelons que la production audiovisuelle, c'est se mettre au service de la vision d'un réalisateur qui devra composer avec énormément de limites humaines, financières, techniques, temporelles, auxquelles on essaiera d'éviter l'ajout de limites idéologiques. C'est normal que ça passe mal auprès des libristes, mais le but d'une œuvre n'est généralement pas d'en vanter les moyens de production, même si je comprends aisément qu'un docu sur le libre donne envie qu'il en soit le porte-étendard. Je ne prétends pas que le libre ne doive pas s'y retrouver, mais plutôt que ça n'est pas une préoccupation de la plupart des acteurs d'une telle entreprise, pour qui le fond et la forme priment généralement sur les moyens.

    En ce qui concerne la production avec des moyens libres, je crois qu’'il faut distinguer plusieurs approches, et ce qui précède ne prenait en compte que l’une d’entre elles :

    1. d’une part, le réalisateur-directeur photo-ingénieur du son-cadreur-monteur-étalonneur-mixeur, bien souvent auto-financé ou soutenu par un financement communautaire. Il y a fort à parier que pas mal de youtubeurs tombent dans cette catégorie ;
    2. d’autre part, le réalisateur-tout-court, qui travaille avec un producteur qui lui a trouvé des moyens financiers, techniques, humains et énormément de techniciens, délégués, chefs opérateurs, etc. ;
    3. enfin, bon nombre de réalisateurs qui se situent entre ces deux extrêmes.

    Dans le premier cas, chacun fait ce qu’il lui plaît. La caméra ne sera sans doute pas libre, les formats vidéo d’acquisition et de distribution non plus, mais la chaîne de post-production pourra sans doute l’être à 100 %. Par contre, elle sera – je crois – nettement moins complète, puisqu'il n’existe à ma connaissance aucun outil de compositing libre (Natron peut-être ? Mais la page github affiche un bandeau maintainer needed), ni d'ailleurs d’étalonnage dédié. Par ailleurs, les formats des caméras grand public, des smartphones, etc. ne contiennent généralement pas assez d’informations pour permettre un étalonnage approfondi 2 (le sous-échantillonnage de la chrominance est généralement du 4:2:0), et les écrans grand public n’ont de toute façon pas le gamut d’un projecteur ou d’un moniteur de contrôle professionnel. Le son sera probablement également compressé. Tout transfert entre les différents postes sera vraisemblablement lossy 3. Je passe sur l’aspect tournage, où remplir tous les rôles aura une incidence très significative sur la qualité de la matière qui arrivera ensuite en post-production, et où les limitations du matériel se feront vite sentir. Ça marchera pour les productions à la portée réduite, mais rarement pour les projets au périmètre plus large.

    Dans le second cas, concerné par les précédentes parties, le réalisateur n’a ni le temps, ni les compétences pour maîtriser tous les outils, il travaille donc avec énormément de monde, chacun étant un professionnel qualifié dans un domaine déjà très vaste. Les prix sont élevés car le matériel est onéreux, les compétences se paient d’autant plus cher que ces personnes ont fréquemment travaillé bénévolement durant des années, et le marché est minuscule. On fait très régulièrement appel à des sociétés spécialisées, tels des studios d’enregistrement audio ou d’étalonnage vidéo, dont les tarifs horaires approchent parfois le salaire mensuel brut d'un ingénieur.

    Le troisième cas est probablement celui qui concerne bon nombre de réalisateurs de documentaires. Souvent, ils vont remplir quelques rôles (par exemple réalisateur / monteur), et d’autres personnes porteront également plusieurs casquettes (cadreur / étalonneur, scripte / assistante, preneur de son / mixeur…). Ça varie trop pour pouvoir établir des généralités, les seules constantes étant le manque de moyens et l’énorme bonne volonté des intervenants.

    Une affaire de support

    En production professionnelle, une chose importante est le support de diffusion. Pour un youtubeur, c’est YouTube. Pour un réalisateur de documentaires appartenant à la troisième catégorie, c’est, potentiellement, les projecteurs de cinéma, la TV, le Web, le BluRay… Chaque médium ayant ses spécificités (formats d'image, son, types de fichiers, balayage progressif ou entrelacé…). Par exemple, YouTube, c’est, à mon humble avis, du 16/9 4:2:0 progressif en stéréo 44.1 kHz dans la plupart des cas, voire du double mono, mais les autres supports sont plus variés (2.35:1 4:4:4, 16/9 4:2:2, 5.1, 7.1…). Par ailleurs, un écran de cinéma va magnifier tous les détails, y compris les défauts qui deviennent très visibles alors qu’ils étaient invisibles sur un smartphone ou même sur un moniteur de PC. Idem avec le son : on a quelque chose de « parfait », avec son casque chez soi, mais une fois diffusé à l’aide d’amplificateurs et de moniteurs audio un peu plus puissants et/ou plus neutres, les différences de niveau s’accentuent énormément, des sons parasites apparaissent, au point de rendre le travail impossible à faire passer en salle ou même en TV, et je ne parlerai pas de la spatialisation sonoreLe youtubeur ne se préoccupe pas forcément de tout ça, il peut donc travailler avec des moyens beaucoup plus légers, alors que le réalisateur qui vise une diffusion plus large devra passer par des étapes supplémentaires nettement plus techniques, qu’il aura bien du mal à réaliser sans le concours de techniciens comme des ingénieurs du son ou des étalonneurs vidéo, les fameuses normes venant s'ajouter au tableau. À titre d’exemple, dans l’endroit où je travaille, un documentaire ne serait probablement pas diffusé s’il ne passait pas le test automatisé de contrôle qualité de BATON. Ça serait rejeté méchamment avec un simple rapport PDF expliquant quels sont les défauts du fichier, et ça peut aller très loin (pics audio, blancs trop hauts, noirs trop bas, trop long, trop court, présence d’un silence trop long ou de trop d’images noires…).

    Les apparences sont parfois trompeuses

    Il est très important également de noter qu’un documentaire peut être nettement plus complexe techniquement qu’il n’y paraît. Ainsi, il est fréquent d’employer plusieurs caméras dans des conditions lumineuses très variables, des micros divers dans des pièces aux acoustiques très hétérogènes et d’avoir à minimiser toutes ces différences en post-production afin d’éviter des sensations de « saut » d’un plan à l'autre (sauf quand c'est intentionnel). Ça dépendra là aussi des moyens à disposition.

    Enfin, il faut noter que certains youtubeurs sont des professionnels qui utilisent des équipement professionnels ou semi-professionnels, parfois même des studios sur fond vert, des équipes de production, etc. Bien souvent, il est dans leur intérêt de préserver l’illusion de l’auto-production pour masquer l’aspect lucratif de leur travail. Le plus souvent, leur chaîne de post-production n’est pas libre, même si je ne doute pas une seconde que de nombreux youtubeurs utilisent du 100 % libre.

    Si je résume, il est important de se rappeler qu’un produit audiovisuel n’est pas la somme de ses moyens de production, et que le but du jeu est de concrétiser la vision du réalisateur dans les limites des contraintes « obligatoires » (temps et argent), le travail des différents corps de métier étant aussi de jouer les tampons entre la technique et la réalisation. Le réalisateur n’est que très rarement celui qui décide des outils, et le producteur n'est pas toujours impliqué non plus dans des décisions de si « bas niveau ». Le libre peut sans aucun doute se faire une place sur des productions légères et / ou autonomes, mais pour des productions plus lourdes, ça sera difficile car les outils sont verrouillés et fortement interdépendants, sans compter sur le budget « marketing » dont ne disposent pas les acteurs du logiciel libre mais qui est important dans ce domaine pour tisser des liens avec les « décideurs ». On se retrouve donc avec la difficulté que le budget d’investissement est trop gros pour les petits acteurs qui ont aussi des difficultés à se créer une communauté, et verrouillé pour les gros acteurs. Il existe cependant de nombreux logiciels libres absolument pro dans ce domaine, dont une liste non-exhaustive est fournie ci-dessous.

    Logiciels libres de (post‐)production audiovisuelle

    Sans ordre particulier, voici quelques logiciels dont la maturité a attiré mon attention. Certains n’ont été portés à mon attention que très récemment par des membres de la communauté Linuxfr. Merci à eux.

    • Jack, qui non seulement rend le travail de l’audio sous GNU/Linux possible, mais qui a surtout réinventé le transport audio ;
    • FFmpeg, le transcodeur universel ;
    • Ardour, un DAW très complet qui permet l’enregistrement, le mixage, et probablement d’autres choses (mastering, création musicale…) ;
    • OpenDCP, un outil de création de DCP, standard de fait dans l’industrie du cinéma ;
    • OBS, outil d’enregistrement et de diffusion vidéo. Avec le matériel adéquat, on pourrait l’employer comme mélangeur vidéo pour des productions professionnelles ne nécessitant pas de faible latence ;
    • Blender, qu’il n'est probablement pas nécessaire de présenter ici ;
    • GIMP et CinePaint/Film Gimp, qui sont eux aussi des usual suspects ;
    • Natron, que j’ai découvert grâce à Linuxfr, est un outil de compositing « par nœud », qui trouvera – je l'espère – un repreneur rapidement tant il paraît prometteur ;
    • Cinelerra-GG (à ne pas confondre avec Cinelerra-CV, Cinelerra-CVE ou Cinelerra-HV, comme expliqué sur le site du projet) semble être un NLE doté des outils nécessaires à un montage professionnel (multi caméra, support pour la vidéo 8K…). Je n’ai jamais pu trouver le temps de m’y mettre sérieusement, mais ça paraît assez complet, et l’interface et le workflow de Cinelerra me rappellent ceux des anciennes versions de Media Composer, que beaucoup de monteurs professionnels connaissent très bien.

    Dans le même ordre d’idée, les bibliothèques et SDK suivants sont très professionnels et / ou très prometteurs.

    Enfin, un projet que je trouve intéressant — même s’il vise un marché moins lourd qu’une télévision nationale — est le Bitfocus Companion. Les studios qualifiés de « légers » pourraient probablement en tirer quelque chose d’utile.

    1. Il existe d’ailleurs un logiciel propriétaire qui ne fait rien d'autre que transcoder des fichiers de sessions d'un format à un autre, y compris d'une « version » de AAF à une autre. C’est dire si l'interopérabilité est loin d'être garantie. 

    2. La Blackmagic susmentionnée fait partie des exceptions puisqu’elle permet d'obtenir du 4:4:4. D'autres constructeurs sortent des caméras entre 2 000 € et 10 000 € permettant d'obtenir du 4:2:2, ce qui est déjà intéressant pour de l’étalonnage, sans avoir la latitude du 4:4:4. 

    3. On perdra au moins la possibilité d’altérer le montage au cours du mixage ou de l‘étalonnage (même si la vidéo et l’audio sont totalement lossless), sauf si les différents outils prennent en compte des formats comme AAF, certains formats XML, voire OMF, … 

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Émission « Libre à vous ! » du 25 juin 2019 — Podcasts et références

    mar, 02/07/2019 - 18:11

    La trente‐et‐unième émission « Libre à vous ! » de l’April a été diffusée sur la radio Cause Commune, mardi 25 juin 2019.

    Nous avons commencé par la chronique « Les transcriptions qui redonnent le goût de la lecture » de Marie‐Odile Morandi, animatrice du groupe de travail Transcriptions, qui a porté sur le RGPD (Règlement général sur la protection des données). Nous avons enchaîné avec notre sujet principal qui portait sur la bureautique libre et plus particulièrement sur LibreOffice et The Document Foundation avec Stéphanie Robert, Christophe Cazin membres de La Mouette, et Philippe Hemmel, de The Document Foundation et fondateur de la société Arawa. Nous avons poursuivi par la chronique « Jouons collectif » de Vincent Calame, bénévole à l’April, qui a porté sur la migration vers le logiciel libre de la FPH (Fondation Charles‐Léopold Mayer pour le Progrès de l’Homme). Nous avons terminé par des annonces diverses.

    La radio Cause Commune dispose d’une messagerie sur laquelle vous pouvez laisser des messages (annonces, rires, poèmes, coups de gueule, vœux…) destinés à passer à l’antenne sur la radio. Le numéro à appeler est le +33 1 88 32 54 33.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Revue de presse de l’April pour la semaine 26 de l’année 2019

    mar, 02/07/2019 - 10:51
    [Next INpact] Le Sénat impose une sensibilisation des fonctionnaires aux enjeux numériques et aux logiciels libres (¤)

    ✍ Xavier Berne, le jeudi 27 juin 2019.

    « Contre l’avis du gouvernement, le Sénat vient d’adopter un amendement prévoyant une sensibilisation des fonctionnaires aux “enjeux liés à l’écosystème numérique”, tels les données personnelles et les logiciels libres. Certains élus ont profité des débats pour dénoncer l’absence de “doctrine” de l’exécutif sur ce dernier dossier. »

    Voir aussi :

    [Usbek & Rica] « J’espère qu’ils appréhenderont la technologie autrement que par la fascination »

    ✍ Mathieu Brand, le jeudi 27 juin 2019.

    « Après avoir imaginé les futurs de l’intelligence artificielle avec sa classe, Jean‐Baptiste Souday poursuit son enseignement du futur auprès de ses élèves. »

    [Numerama] Face à la cryptomonnaie Libra, les autorités montent au créneau

    ✍ Julien Lausson, le mercredi 26 juin 2019.

    « Depuis l’annonce de la Libra, les autorités politiques et bancaires se sont succédé pour émettre des mises en garde. Dernière sortie en date, celle du gouverneur de la Banque de France. »

    Et aussi :

    [Le Monde.fr] Gaël Musquet, « hacker citoyen » et vigie du changement climatique (¤)

    ✍ Claire Legros, le mercredi 26 juin 2019.

    « Pour répondre à la recrudescence des épisodes météorologiques hors normes liés au réchauffement climatique, ce passionné de logiciel libre mise sur l’autonomie des habitants en “outillant les solidarités locales”. Deuxième volet de notre série sur celles et ceux qui préparent l’“après‐effondrement”. »

    [Developpez.com] La NSA assigne des développeurs au projet Coreboot, une alternative open source au BIOS et à l’UEFI

    ✍ Christian Olivier, le lundi 24 juin 2019.

    « La NSA a commencé à assigner des développeurs au projet Coreboot, une alternative open source au BIOS (Basic Input‐Output System) traditionnel qu’on trouvait déjà sur les PC MS-DOS des années 80 et à son remplaçant l’UEFI (Unified Extensible Firmware Interface) lancé en 2007. Eugene Myers de la NSA a commencé à fournir le code d’implémentation du SMI Transfer Monitor (STM) ciblant les processeurs x86. Myers travaille pour le Trusted Systems Research Group de la NSA, un groupe qui d’après le site Web de l’agence est destiné à “mener et parrainer des recherches sur les technologies et techniques qui sécuriseront les systèmes d’information de l’Amérique de demain”. »

    [Next INpact] Le scan 3D du Penseur de Rodin est un document administratif communicable

    ✍ Marc Rees, le lundi 24 juin 2019.

    « En mars 2019, la justice a estimé que l’interdiction de photographier les expositions temporaires au Louvre était aussi légale que justifiée. Un nouveau bras de fer concerne cette fois les données 3D issues des sculptures du musée Rodin. La commission d’accès aux documents administratifs considère ces informations parfaitement communicables. »

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Agenda du Libre pour la semaine 27 de l’année 2019

    dim, 30/06/2019 - 21:12

    Calendrier Web, regroupant des événements liés au Libre (logiciel, salon, atelier, install party, conférence), annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 39 événements (France : 36, Belgique : 1, Québec : 2) est en seconde partie de dépêche.

    Sommaire [FR Montpellier] Permanence Les logiciels libres, parlons-en - Le lundi 1 juillet 2019 de 17h00 à 19h00.

    Les logiciels libres parlons-en Ouvrons le dialogue sur l’ouverture des données Partageons nos expériences pour une meilleure répartition des connaissances.

    Cette permanence vous permet de rencontrer le groupe Montpel’libre, ses activités, d’être orienté vers nos ateliers et permanences techniques et d’être accompagné pour une transition digitale progressive et adaptée vers les logiciels libres.

    Proposition de programme

    • discussions autour de l’organisation d’événements
    • gestion des groupes de travail
    • propositions diverses
    • présentation de l’asso

    Montpel’libre est un Groupe d’Utilisateurs GNU/Linux et Logiciels Libres qui promeut les logiciels libres, la culture libre et les biens communs.
    Notre association se situe à la jonction des secteurs d’activités du numérique, des industries culturelles et créatives, de l’économie sociale et solidaire, du développement durable, de la recherche et formation ainsi que de l’éducation populaire et de l’éducation scientifique.
    Elle s’adresse à l’informaticien comme au néophyte, au particulier comme au professionnel ou à l’étudiant et à un public de tout âge.

    Montpel’libre exerce des activités multiples autour de six pôles

    1. PERMANENCES
    2. ATELIERS
    3. CONFÉRENCES / FORMATIONS / EXPERTISE
    4. ÉVÉNEMENTIEL
    5. TECHNIQUE / SÉCURITÉ
    6. PUBLICATION

    Et de plusieurs communautés et groupes de travail.

    Ces permanences sont suivies d’un Apéro refaire le monde convivial et partagé, de 18h30 à 21h30. Elles ont lieu au Faubourg marché, tous les vendredis de 17h00 à 19h00.
    Permanences

    • vendredi 3 mai 2019 de 17h00 à 19h00
    • vendredi 10 mai 2019 de 17h00 à 19h00
    • vendredi 17 mai 2019 de 17h00 à 19h00
    • vendredi 24 mai 2019 de 17h00 à 19h00
    • vendredi 31 mai 2019 de 17h00 à 19h00

    Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible.

    Cet événement vous est proposé dans le cadre du partenariat qui lie Le Faubourg Marché et Montpel’libre.

    Vendredis 3, 10, 17, 24 et 31 mai 2019 de 17h00 à 19h00 (tous les vendredis sauf fériés)
    Le Faubourg - 15, rue du Faubourg de Nîmes, 34 000 Montpellier

    [FR Paris] Atelier Hebdomadaire de Contribution au Libre - Le mardi 2 juillet 2019 de 10h00 à 19h00.

    Une journée de co-travail sur le thème de la contribution au logiciel libre.

    Chacun vient avec son sujet individuel avec l'intention d'y travailler aux côtés d'autres contributrices/teurs.

    Le prix d'entrée est de 25 euros pour la journée (tarif Narma).

    [FR Paris] Émission Libre à vous » - Le mardi 2 juillet 2019 de 15h30 à 17h00.

    L'émission Libre à vous de l'April est diffusée chaque mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande FM en région parisienne (93.1) et sur le site web de la radio. Et l'émission est rediffusée le soir même de 21 h à 22 h 30. Le podcast est disponible rapidement après la diffusion de l'émission.

    Les ambitions de l'émission Libre à vous

    La radio Cause commune a commencé à émettre fin 2017 sur la bande FM en région parisienne (93.1) et sur Internet.

    Sur le site de la radio on lit Radio associative et citoyenne, les missions de Cause Commune sont de fédérer toutes les initiatives autour du partage et de l’échange de savoirs, de cultures et de techniques.

    Nous avons alors proposé de tenir une émission April intitulée Libre à Vous d'explications et d'échanges concernant les dossiers politiques et juridiques que l'association traite et les actions qu'elle mène.

    Une partie de l'émission est également consacrée aux actualités et actions de type sensibilisation.

    L'émission Libre à vous est principalement animée par l'équipe salariée de l'April mais aussi par des membres bénévoles de l'association et des personnes invitées.

    Donner à chacun et chacune, de manière simple et accessible, les clefs pour comprendre les enjeux mais aussi proposer des moyens d'action, tel est l'objectif de cette émission mensuelle, qui est diffusée en direct chaque mardi du mois de 15 h 30 à 17 h. Et rediffusée le soir même de 21 h à 22 h 30.

    L'émission dispose d'un flux RSS compatible avec la baladodiffusion ainsi qu'un salon dédié sur le webchat de la radio.

    [FR Montpellier] Rencontre du Groupe Blender - Le mardi 2 juillet 2019 de 17h00 à 19h00.

    Nous avons le plaisir de vous annoncer cette réunion du groupe Blender à Montpellier. (Le premier mardi de chaque mois)

    Rencontrer le groupe local d’utilisateurs du logiciel de modélisation 3D Blender pour échanger et actualiser ses connaissances sur ce logiciel à la fois très puissant et riche en potentialités. Attention, il ne s’agit pas d’ateliers d’initiation à Blender.

    Les thèmes que nous vous proposons d’aborder

    Le programme

    • les activités de Les Fées Spéciales et du Groupe Blender de Montpel’libre
    • premiers pas dans l’univers 3d
    • prise en main des outils de base
    • inscriptions aux formations Blender

    Faites passer l’info autour de vous.

    Les compte-rendus et contenus des réunions précédentes.

    Blender est un logiciel libre de modélisation, d’animation et de rendu en 3D. Cette réunion se veut pour partager du temps autour du projet, s’entre-aider, s’émuler, s’amuser, produire, ou tout simplement discuter. Cette réunion s’adresse à toutes les personnes débutantes, confirmées et même curieuses de l’image en 3D.

    Quelques liens utiles
    Magazine sur Blender Linux pratique hors-série n°37. Pour apprendre à créer une séquence d’introduction en 3D.

    Ces rencontres du groupe Blender ont lieu le premier mardi de chaque mois de 17h00 à 19h00
    Les rendez-vous

    • Mardi 4 septembre 2018 de 17h00 à 19h00
    • Mardi 2 octobre 2018 de 17h00 à 19h00
    • Mardi 6 novembre 2018 de 17h00 à 19h00
    • Mardi 4 décembre 2018 de 17h00 à 19h00
    • Mardi 8 janvier 2019 de 17h00 à 19h00
    • Mardi 5 février 2019 de 17h00 à 19h00
    • Mardi 5 mars 2019 de 17h00 à 19h00
    • Mardi 2 avril 2019 de 17h00 à 19h00
    • Mardi 7 mai 2019 de 17h00 à 19h00
    • Mardi 4 juin 2019 de 17h00 à 19h00
    • Mardi 2 juillet 2019 de 17h00 à 19h00

    Mardi 5 mars 2019 de 17h00 à 19h00
    Salle Nino Rota, Médiathèque Federico Fellini place Paul Bec, 34 000 Montpellier
    Inscription nécessaire

    [FR Lyon] Projection du Film 'La bataille du Libre" - Le mardi 2 juillet 2019 de 19h30 à 22h30.

    Projection du film de Philippe Borrel, "la bataille du Libre"

    Un paf de 5 est demandé. Env. 40places. Bar, tapas Alter'hostel disponibles sur place.

    Plus d'informations https://www.labatailledulibre.org/        https://www.alter-hostel.com/

    [FR Paris] Rencontre de la Monnaie Libre - Le mardi 2 juillet 2019 de 19h30 à 23h00.

    Les prochaines Rencontres Francilienne de la Monnaie Libre auront lieu le mardi 2 juillet 2019 à partir de 19h30 au salon de thé de la Mosquée de Paris.

    Au programme présentation des membres, explications, créations de comptes et G-marché.

    Vous pouvez vous inscrire sur le framapad https://framadate.org/q3XDl35lFU532GqUUR3WV4SG/admin

    [CA-QC Montréal] Linux-Meetup Montréal - Le mardi 2 juillet 2019 de 19h00 à 22h00.

    Local de la rencontre à confirmer

    Programmation de la rencontre

    Une introduction de Kubernetes sur Linux

    Présentateur Ian Crosby (de Container Solutions)

    Description L’orchestration des conteneurs est devenu l'un des sujets les plus en vogue dans la technologie. Et Kubernetes montre la voie en devenant l’un des projets open source les plus populaires. Cette présentation couvrira les concepts fondamentaux et les fonctionnalités de Kubernetes, comparez-la à d’autres outils tels que Docker Swarm et Mesos. Nous examinerons les avantages de Kubernetes, ainsi que certains des défis les plus courants. Quand vous devriez et quand vous ne devriez pas l'utiliser. Nous parlerons également de l'énorme communauté open source qui s'est développée autour de Kubernetes.

    Par la suite, nous aurons un atelier pratique où nous installerons et configurerons un cluster Kubernetes. Et ensuite, voyez comment déployer et gérer une application par-dessus.

    Public cible débutant (en termes de Kubernetes)

    Lieu
    Le Linux-Meetup aura lieu à l'École de Technologie Supérieure de 19:00 à 22:00.

    Extras

    Pour ceux voulant réseauter avec les autres avant, il y aura un souper de 17:30 à18:45 (Resto-pub Le 100 génies de l'ÉTS au pavillon B).

    Nous invitons tous les amateurs de logiciels libres (peu importe la plate-forme) à venir discuter. C'est vraiment une excellente occasion de socialiser et de faire connaissance avec d'autres qui partagent les mêmes intérêts.

    La rencontre est gratuite et ouverte à tous (de débutants à experts) et rassemble des gens de diverses professions gestionnaires, professeurs, administrateurs de systèmes, ingénieurs, programmeurs, retraités, étudiants, etc.

    Les Linux-Meetup se déroulent simultanément à travers le monde tous les premiers mardis du mois ainsi que dans plusieurs régions du Québec.

    Vous pouvez confirmer votre présence sur un ou plusieurs réseaux sociaux afin de promouvoir l'événement Google+, Linkedin, Facebook, Twitter et Meetup

    Au plaisir de vous rencontrer

    Martial

    P.S.: Pour le transport en commun Station de métro Bonaventure

    [FR Le Mans] Permanence du mercredi après-midi - Le mercredi 3 juillet 2019 de 12h00 à 17h00.

    Entrée Libre, tout public                                                                                                                                    .

    Présentation, initiation et maintenance des logiciels libres.

    Remplacement  de Windows par GNU/Linux et formation gratuite.

    Venez nombreux

    Entrée Libre, tout public.

    [FR Beauvais] Atelier hebdomadaire de partage de connaissances autour des logiciels libres - Le mercredi 3 juillet 2019 de 18h00 à 20h00.

    Chaque mercredi soir, l'association propose une rencontre pour partager des connaissances, des savoir-faire, des questions autour de l'utilisation des logiciels libres, que ce soit à propos du système d'exploitation Linux, des applications libres ou des services en ligne libres.
    C'est l'occasion aussi de mettre en avant l'action des associations fédératrices telles que l'April ou Framasoft, dont nous sommes adhérents et dont nous soutenons les initiatives avec grande reconnaissance.

    [FR Nantes] Pic-lib' ( Quadrapéro en plein air ) - Le mercredi 3 juillet 2019 de 19h00 à 23h00.

    Le quadrapero sort des murs et se tiendra le mercredi 3 juillet à 19H au bord de l'Erdre près de Waldeck.

    Au programme, un pique-nique partagé et arpentage* du hors-série "#vie privée, c'est terminé" du Canard enchaîné.

    *Un arpentage est une lecture partagée

    [FR Rezé] Groupes d’Entraide Mutuelle - Le jeudi 4 juillet 2019 de 16h00 à 18h00.

    Accompagnement informatique

    Groupes d’Entraide Mutuelle

    Comment passer son ordinateur sous Linux Comment installer son imprimante sous Linux Comment retrouver ses usages sur logiciels libres Comment fonctionne un ordinateur Comment entretenir soi-même son ordinateur
    Venez poser vos questions lors du GEM hebdomadaire Les adhérent-e-s et l’équipe de Nâga répondent aux questions de chacun-e sur le matériel, Linux et les Logiciels Libres.

    Tarif

    • GEM pour 3 mois 20
    • GEM pour 1 an 50 ou gratuit pour les personnes ayant adhéré à l'association avec l’acquisition d’un ordinateur.

    Horaire

    [FR Poitiers] Jeudi du Libre - Le jeudi 4 juillet 2019 de 17h30 à 20h30.

    Chaque premier jeudi du mois, les membres de l’APP3L se réunissent au Centre Régional d’Information Jeunesse (CRIJ).

    Ils vous invitent à les rejoindre, de 17h30 à 20h30, afin d’échanger et d’en apprendre plus à propos des logiciels libres.

    Si vous le désirez, vous pouvez venir avec votre ordinateur portable ou fixe (nous prêterons écrans, claviers et souris).

    Cette permanence est l’occasion pour chacun de

    • rencontrer d'autres utilisateurs
    • de discuter ou de s’informer
    • de trouver de l’aide (vous pouvez amener votre machine);
    • ou tout simplement de découvrir des alternatives aux logiciels et services privateurs.

    Vous pourrez aussi échanger et vous faire aider dans votre contribution aux communs numériques (Wikipédia, OpenStreetMap), la protection de votre vie privée et les services en ligne respectueux de votre intimité.

    Entrée Libre. Tout Public.

    Accès 64 rue Léon Gambetta 86 000 Poitiers

    [FR Lyon] Permanence Wiktionnaire - Le jeudi 4 juillet 2019 de 18h00 à 23h00.

    Découvrez le Wiktionnaire, dictionnaire collaboratif en ligne, et apprenez à diffuser vos connaissances sur les mots

    Que vous soyez amoureux de votre langue maternelle ou apprenants de langues étrangères, le Wiktionnaire vous permet de découvrir et de partager vos savoirs.

    Venez pratiquer et apprendre grâce aux connaissances des participants et aux ressources du KoToPo

    [FR Bordeaux] Jeudi Giroll - Le jeudi 4 juillet 2019 de 18h30 à 20h30.

    Les membres du collectif Giroll, GIROnde Logiciels Libres, se retrouvent une fois par semaine, pour partager leurs  savoir-faire et expériences autour des logiciels libres.

    Le collectif réalise aussi une webradio mensuelle, tous les seconds jeudis du mois, à retrouver en direct sur le site de Giroll.

    Ces rencontres sont ouvertes à tous.

    [FR Nantes] Rencontre mensuelle OpenStreetMap - Le jeudi 4 juillet 2019 de 18h30 à 21h30.

    Deux fois par mois les contributeurs nantais à la carte participative libre OpenStreetMap se réunissent.
    Ces rencontres libres et gratuites sont ouvertes à tout le monde.

    Pas de thème défini pour l'instant. Tous les sujets sont les bienvenus.

    En cours Le projet #NantesDansMaCarte (collecte des commerces, artisans et services de Nantes) continue. Vous pouvez y participer.
    En savoir plus

    Infos
    Le lieu de réunion est équipé d'ordinateurs mais n'hésitez pas à apporter vos appareils numériques ordinateurs portables, tablettes, smartphones.

    [FR Villeurbanne] TupperVim - Le jeudi 4 juillet 2019 de 19h00 à 22h00.

    Les TupperVim sont des réunions d’utilisateurs de l’éditeur de texte libre Vim (débutants ou avancés) durant lesquelles chacun des participants échange des trucs et astuces.

    Vim étant un éditeur très riche et hautement paramétrable, ces sessions sont l’occasion de s’initier à son utilisation, d’approfondir ses connaissances, d’échanger ses vimrc respectifs, ou encore de découvrir des greffons pour aller plus loin.

    Toute personne, quel que soit son niveau, est la bienvenue.

    Pour profiter au mieux de l’atelier, il est vivement conseillé aux débutants complets de faire le tutoriel Vim avant de venir (vimtutor); on encourage les utilisateurs avancés qui le souhaitent à proposer une petite présentation rapide (~ 10 min) d’une fonctionnalité ou d’un plugin — un support n’est pas obligatoire, une présentation en direct depuis Vim est tout aussi efficace. Aussi, vous pouvez venir dès 19h00 pour avoir une séance d’initiation à Vim (prévoir 1 heure).

    Vous pouvez annoncer une présentation sur l’Étherpad (lien en bas de message).

    Traditionnellement, ces ateliers sont aussi l’occasion de découvrir des outils qui ne sont pas directement liés à Vim mais qui s’inscrivent dans la même philosophie ergonomie, minimalisme, efficacité.

    Pour les habitués, attention: l’atelier aura lieu au Laboratoire Ouvert Villeurbannais cette fois.

    Important

    [FR Caen] Le First-jeudi Échange dînatoire canneais - Le jeudi 4 juillet 2019 de 19h00 à 21h00.

    Tous les premiers jeudis du mois, les membres (et non-membres sont également les bienvenues) se rencontrent pour discuter de l'univers des logiciels libres, tout en dînant (ou juste pour prendre un café). [N.B. le repas n'est pas offert].

    Dans un esprit totalement libre, les sujets vont et viennent en fonction de chacun.

    Venez nombreux.

    [FR Paris] Soirée de Contribution au Libre - Le jeudi 4 juillet 2019 de 19h30 à 22h00.

    Parinux propose aux utilisateurs de logiciels libres de se réunir régulièrement afin de contribuer à des projets libres. En effet, un logiciel libre est souvent porté par une communauté de bénévoles et dépend d'eux pour que le logiciel évolue.

    Nous nous réunissons donc tous les jeudis soir dans un environnement propice au travail (pas de facebook, pas de télé, pas de jeux vidéos, pas de zombies).

    Vous aurez très probablement besoin d'un ordinateur portable, mais électricité et réseau fournis.

    En cas de difficulté, vous pouvez joindre un des responsables de la soirée, Emmanuel Seyman (emmanuel (at) seyman.fr), Paul Marques Mota mota (at) parinux.org, ou Magali Garnero (Bookynette) tresorier (at) parinux.org.

    Pour obtenir le code d'entrée de la porte cochère, envoyez un mail au responsable.

    On peut amener de quoi se restaurer (Franprix, 8 rue du Chemin Vert, ferme à 22h)

    Regazouillez sur Twitter - Wiki des soirées

    Programme non exhaustif

    • Fedora (sa traduction)
    • Parinux, ses bugs et son infrastructure
    • April…. y a toujours quelque chose à faire
    • Open Food Facts/ Open Beauty Facts, sa base de données, ses contributeurs, sa roadmap
    • Schema racktables, son code
    • Agenda du Libre, mise à jour et amélioration du code
    • Ubuntu-Fr, son orga, ses événements
    • En vente libre, maintenance et commandes
    • Open street map, une fois par mois
    • Linux-Fr sait faire
    • en vente libre

    tout nouveau projet est le bienvenu.

    Tous les 1ᵉʳˢ jeudis => L'association ouvre-boite organise une réunion pour ses membres.

     Tous les 3ᵉ jeudis, dès 18h45, le groupe de travail Sensibilisation de l'April se réunit pour réfléchir à mieux communiquer vers le grand public et à 20h30, le groupe transcriptions prend le relais et transcrit ou relit des transcriptions.

    Tous les 4ᵉ jeudis, des membres de Framasoft organisent des contrib'atliers et vous invitent à venir participer, tester ou améliorer des logiciels libres

    [BE Grivegnée] Linux Meeting Party - Le jeudi 4 juillet 2019 de 19h30 à 22h30.

    Notre "Linux Meeting Party" (table de conversation informelle) a lieu tous les premiers jeudi du mois.

    Nos prochaines rencontres se tiendront dans un local du « Service de proximité » de Grivegnée, Av. Albert 1ᵉʳ, 5, à Grivegnée-bas. C'est à deux pas de la rue Belvaux (pour l'accès en bus) et un vaste parking est disponible carte interactive d'accès

    Venez quand vous voulez entre 19h30 et 22h30 papoter Linux et Logiciels Libres dans la bonne humeur-)

    [FR Montpellier] Éclairs aux Confs - Le jeudi 4 juillet 2019 de 19h30 à 23h00.

    Venez présenter vos idées, projets, coups de cœur, dans le confort de la grande salle de la Tendresse.

    Dans un format compressé d'une dizaine de minutes et quelques minutes pour des questions réponses, partagez en toute convivialité ce qui vous anime.

    Venez surtout découvrir, envisager et rencontrer celles et ceux qui portent ces idées, projets ou découvertes.

    Une dizaine de conférences éclairs, suivi d'un temps de convivialité au buffet expérimental vegan mené par VinoCircus.

    Pas de meilleur moyen pour se rencontrer autour d'un verre et d'un grignoti pour envisager et deviser sur tous les sujets, que d'être soi-même un cobaye.

    Tous les premiers jeudis du mois retrouvons-nous pour découvrir, écouter, présenter, réfléchir, partager, bref un éclair aux confs

    Si vous voulez présenter quelque chose en 10 min, que vous voulez faire, que vous avez fait, que vous aimez bien, que vous feriez avec d'autres, venez nous expliquer tout ça, vous pouvez venir avec diaporama ou sans, on a un projecteur, un chrono, c'est parti proposez-nous vos micro-conférences

    PS si vous en doutez, oui, il y a des trolls garantis grâce à notre chronique, le débat moisi™: Il faut réglementer Internet

    [FR Toucy] La bataille du Libre - Le vendredi 5 juillet 2019 de 07h00 à 23h59.

    Projection-débat organisée par i-NovaTerra et les agriculteurs Bio de l'Yonne, en présence du réalisateur

    [FR Millery] Rencontres Acousmatiques - Du vendredi 5 juillet 2019 à 11h00 au samedi 6 juillet 2019 à 23h59.

    L’image du son, le son de l’image et leurs idiomes communs

    Formes & longueurs d’ondes, traitement du signal & quantification, grains & pixels, spectroscopie & célérité, séries de Fourier, spatialisation ou mise en espace …

    L’utilisation quotidienne par les compositeurs et les artistes visuels du vocabulaire et des outils de ce même langage amène une certaine convergence épistémologique des modes de pensée et du cheminement des recherches dans la création d’aujourd’hui.

    Cette mimèsis futurologique et l’analogie de l'indétermination de l’origine des sons & images ainsi créées, s’avèrent particulièrement intéressantes.

    ___________

    Merci de nous confirmer votre participation avant le 31 mars et de nous envoyer vos propositions d'intervention, de collaboration, voir de partenariat.

    Le programme des diffusions, présentations, performances, actions … outdoor & indoor sera mis en ligne à la mi-avril.

    Les conditions de participation seront à minima (pas de droit d'inscription, repas collectifs partagés, dortoirs …).
    Nous répondrons par e-mail à toutes vos questions.

    #cranelab #musique #acousmatique #ra2019

    [FR Marseille] Réunion du Libre et des Communs - Le vendredi 5 juillet 2019 de 14h00 à 16h00.

    Le Sud vous invite si vous êtes de passage ou si vous habitez le chemin des Bons Voisins à venir à assister aux ateliers Libres et Communs organisés par La Paillasse aux Soleil et La Cristallière.

    Venir muni d'un truc qui se programme Ordinateur, tablette, smartphone, Machine quantique ou vous-mêmes avec vos données personnelles.

    Si possible ce truc doit être en voie de libération et de protection des données personnelles. on essayera de donner l'aide ou de créer le réseau d'entre-aide pour faciliter à réaliser la Libération et la création de Communs.

    Au programme Ubuntu sous toutes ses formes comme Xubuntu, Kubuntu, Gnome3 (unify) vs Xfce vs Kde… Pour les interfaces utilisateurs.

    Cà c'est pour l'OS, l'Operating system, le truc qui agit avec le matériel pour faire bonne figure ou la sale tronche, Windows, IOS, Android Googlisé dérouté par la marque dont on ne fera jamais assez la publicité pour dire de la fuir comme les GAFAM (Google, Apple, Face Book, Amazon, Microsoft )

    Coté navigateur vous avez Firefox bien que les Américains aiment le côté obscur mais c'est encore utilisable. Il y en a d'autres aussi.

    Coté applications
    Scenari un truc génial, chaîne de publication, mais qui demande de suivre avec 3 niveaux d'utilisateur. C'est tout plein de cristalS alors on adore (ruby, opale, topaze…)
    Blender, Spoonz, et plus simple Gimp et Inkscape pour les jolies images et mises en pages

    Drupal pour vos sites (la communauté drupal est riche voire les meetup réguliers). Idem pour WordPress, même sic'est moins bien, la communauté humaine Maelyz et toute la bande vous fera oublier que c'est pas du Drupal. Et ne ratez pas leur Wordpress Camp.

    Côté programmation, devops, et autres trucs technico techniques comme l'ouverture de bières qui se vident rien qu'en moussant, Jérémy et ceux du PLUG (Provence Linux User Group)  PHP, Python (encore eux),

    Nous, on est plus LISP et dérivé, R, Scala, Schema,… et genre farfelus ou plus machine C et ses avaters, Java  voir machine.  Que ce soit pour du deep learning, des objets connectés Arduino, Siemens, Microsoft,…

    On est en doublon OSM, sans Marin qui loge pas loin mais préfère des urbanités cités, car il y a plein de travail à réaliser sur le 3ᵉ, le plus beau quartier de Marseille quand on aura fini de le reconfigurer et qu'il bootera les cathédrales laïques, les surprises de l'art que l'on est en train de préparer en coulisse. La prise de la Mairie par les gueux Pour une urbanisation et des PLU de qualité et la création de la Cristallière.
    Avis on recherche des ouvreurs, merci de nous contacter.

    Côté RGPD, vous êtes à la bonne porte ainsi que pour chercher des fonds et  si vous avez des activités où vous créer des innovations techniques, sociales, éthiques, esthétiques et politiques.

    Pour parler internet RIPE et autres ainsi que de DNS, c'est aussi par là.

    Ou des grids locaux peer to peer de flux numériques ou des solutions en énergie très hautes températures

    Sur toutes ces thématiques en plus du premier samedi du mois, nous organiserons des colloques, des conférences, des ateliers, alors surveillez vos e-mails ou régulièrement sur la Cristalliere.com

    Parler ars et arts ou théâtre et mise en scène des nouveautés des labos

    En Résumé, un problème venez Des solutions venez

    Si c'est pour une utilisation personnelle c'est gratuit, mais vous pouvez contribuer en venant nous signaler vos problématiques autant en échec qu'en succès et aidant d'autres à trouver des solutions ou en faisant des dons de ressources, financières pour les moins imaginatifs, ou de tendresse pour les plus affectueux.

    Si c'est professionnel, la communauté attendra une contribution plus importante.

    Merci de le prévoir et de signaler ce que vous mettez comme ressources auprès de la communauté (heures de salariés, temps machine, connexion, hébergements, adhésion aux CHATONS…)

    [FR Mérignac] Permanences du libre - Le vendredi 5 juillet 2019 de 19h00 à 21h00.

    Unbee est une association qui relie entre eux les utilisateurs du monde libre sur Mérignac.

    Tous les 1er vendredis de chaque mois, l'association Unbee organise un moment d'échange et de discussion autour des logiciels libres Ubuntu, Libre office, Gimp, Inskscape entre autres…

    Sur place, vous pourrez consulter magazines et livres sur la même thématique.

    Nous nous réunissons pour partager nos connaissances techniques et philosophiques du numérique libre, il n'y a pas d'expert, tout le monde participe et enrichit le débat

    Avant de venir nous voir, il vaut mieux vérifier les dates dans le calendrier sur notre site internet.

    Attention nous ne sommes plus au petit puzzle

    [FR Strasbourg] Utiliser TOR browser et TAILS pour protéger sa vie privée - Le vendredi 5 juillet 2019 de 19h00 à 21h00.

    Alsace Réseau Neutre, fournisseur d’accès à internet associatif vous propose de venir découvrir lors de cet atelier les usages de

    • TOR, le navigateur web optimisé pour la vie privée par défaut. Blocage des trackers, blocages des canvas HTML et des pixels pisteurs. Il permet de surfer avec une protection accrue.
    • TAILS, un système d’exploitation amnésique qui vous permet d’utiliser un ordinateur sans laisser de traces. Ce système oublie les fichiers et dossiers créés. Il est fourni par défaut avec TOR le navigateur qui protège votre vie privée, LUKS qui permet de créer des conteneurs chiffrés et Keepass le gestionnaire de mots de passes sécurisés, des outils pour chiffrer et signer vos emails et documents, ou encore supprimer de manière sûre ses fichiers.

    Gratuit – Tout public  

    Proposé et animé par  Alsace Réseau Neutre

    Où : Hackerspace (2ᵉ étage du Shadok)

    Inscriptions (conseillées) : https://arn-fai.net/inscription

     

    [FR Lyon] Pique-nique du Libre - Le vendredi 5 juillet 2019 de 19h00 à 22h00.

     Pour soutenir le rendez-vous estival annuel initié par l'APRIL, l'ALDIL propose aux libristes et leurs mouvances de se retrouver pour un pique-nique partagé.

    Une manière de clôturer la saison 2018/2019 et causer librement des activités à venir sur la région lyonnaise.

    Nous partagerons un pique-nique composé de ce que vous amènerez (sucré/salé, plat/pétillant,…).

    Ceux qui le souhaitent proposeront des jeux/activités (frisbee, volley, hula hoop, vol libre…).

    Surtout pas trop de programme Prenons le temps de nous (re)trouver (listings de recettes de salades, desserts, sandwich, tartes… autorisés si sous licence libre…)

    Ce moment est ouvert à tous, amis, familles, licornes, gnous, geeks, pas (encore) libristes (mais si…).

    Vous êtes donc largement invités à diffuser ce message autour de vous et dans les communautés "du libre" que vous fréquentez ou côtoyez.

    Rendez-vous au parc de Gerland (métro B - Station Gerland) On se retrouvera entre l'allée de la grande prairie et l'allée des berges. 24 allée Pierre de Coubertin - 69 007 Lyon Attention Le règlement du parc indique que ce n'est pas un lieu de consommation d'alcool, merci de ne pas avoir de comportement alcoolophile ostentatoire.

    La photo est non-contractuelle (par pasja1000 de Pixabay). Si quelqu'un vient avec son appareil photo, nous aurons une photo plus pertinente les prochaines fois.

    [FR Tailhac] La bataille du Libre - Le samedi 6 juillet 2019 de 07h00 à 23h59.

    Projection-débat organisée par la Grange à palabres lors de son 5e festival, en présence du réalisateur

    [FR Clisson] Kdenlive - traitement et gestion de vidéos - Le samedi 6 juillet 2019 de 10h00 à 17h00.

    Après des ateliers de traitement et de gestion des photos, Gullivigne propose une journée de découverte / initiation de Kdenlive (kdenlive.org/fr) pour tou(te)s ceux et celles qui ont envie de numériser, traiter et stocker leurs anciens vidéos…

    [FR Clisson] Kdenlive - traitement et gestion de vidéos - Le samedi 6 juillet 2019 de 10h00 à 17h00.

    Audric viendra nous faire découvrir "Kdenlive," logiciel libre de montage vidéo.

    Pour un public débutant, mais également aux monteurs confirmés recherchant une solution viable sous Linux.

    Des effets simples aux plus sophistiqués, tels que la rotoscopie pour gérer des masques, ou encore système de stabilisation d'image.

    Kdenlive vous permet d’utiliser et d’organiser plusieurs pistes audio/vidéo et presque tous les formats audio et vidéo directement, sans avoir besoin de convertir ou de réencoder vos rushes.

    Pendant l'atelier, nous verrons

    1. le choix des séquences
    2. l'ajout de titres et autres transitions
    3. l'animation d'images fixes ou filmées…

    Enfin, nous verrons quelques petites subtilités de montage et des exemples de règles propre au cinéma.
    Si vous n'êtes pas encore passé à Linux, il existe des versions Windows et Mac de Kdenlive.

    [FR Aix-en-Provence] Samedi Libre - Le samedi 6 juillet 2019 de 10h00 à 18h00.

    PROGRAMME

    10h00 - 12h30 Interventions sur rendez-vous et démonstrations

    12h30 - 14h00 Déjeuner en commun et discussions

    14h00 - 18h00 Interventions sur rendez-vous et démonstrations

    INFORMATIONS GÉNÉRALES

    Ces Samedis Libres sont organisés par l'Axul en collaboration avec plusieurs associations de logiciels libres des Bouches-du-Rhône.

    Ils proposent des présentations générales et une aide technique pour le dépannage et la mise à jour d'ordinateurs avec des logiciels libres. Ils présentent aussi des démonstrations de matériels libres.

    Des informations sont disponibles sur la Culture Libre (OpenStreetMap, Wikipedia…).

    PRÉSENTATIONS POSSIBLES

    Présentation d'un Fairphone, un téléphone libre et éthique

    Présentation de livres et de sites Internet consacrés au Libre

    Présentation du micro-ordinateur micro:bit conçu pour rendre l’enseignement et l’apprentissage facile et amusant.

    Présentation du micro-ordinateur PyBoard co-développé avec le langage MicroPython

    Présentations liées aux nouveaux programmes scolaires sur le codage

    • Présentations de Pygame, Python, Scratch et Snap.
    • Présentations de modèles éducatifs libres écrits en HTML5 pour PC ou tablettes quel que soit le système d'exploitation exemple du site PhET.
    • Présentation du projet 1, 2, 3… codez: Enseigner l'informatique à l'école et au collège (Fondation La main à la pâte).
    • Présentations d'autres logiciels éducatifs et/ou scientifiques…

    Autres présentations

    • Comparaison des environnements Cinnamon, GNOME, KDE, LXDE et Xfce installés avec la même version d'Ubuntu.
    • Distribution Emmabuntüs pour la rénovation d'ordinateurs anciens.
    • Distribution PrimTux 4 pour les élèves de l'école primaire.
    • Distribution Pure OS associée au projet Librem pour des ordinateurs avec des matériels et des logiciels libres.
    • Distribution Ubuntu 19.04.
    • Distribution Ubuntu Touch sur un téléphone mobile.
    • Distributions Linux installées sur des clefs USB insérées dans des ordinateurs Linux, Windows 7 ou Windows 10.
    • Cohabitation Linux - Windows 10 le cas d'Ubuntu 64 bits.
    • Évolution du projet pédagogique OLPC (One Laptop per Child) : ordinateur XO-4, tablette OLPC partiellement libérée avec F-Droid et différentes machines avec la plate-forme pédagogique Sugarizer.
    • Présentation d'Inkscape, logiciel de dessin vectoriel professionnel pour Windows, Mac OS X et GNU/Linux
    • Présentation de logiciels scientifiques libres (SageMath…)

    NB Certaines démonstrations pédagogiques sont en libre service. Les autres démonstrations seront normalement possibles toute la journée elles seront lancées en fonction des souhaits des visiteurs et des disponibilités des spécialistes.

    Adresse Centre Social et Culturel des Amandiers, 8 allée des Amandiers, Jas-de-Bouffan (cliquer sur ce dernier lien pour avoir un plan détaillé).

    Ces samedis libres et gratuits sont ouverts à toutes et à tous, débutant(e)s ou expert(e)s GNU/Linux, membres ou non d'associations du Libre. Les locaux sont au rez-de chaussée et accessibles par tous.

    Entrée Libre. Tout Public.

    Prochain Samedi Libre

    [FR Mérignac] install party et coding gouter - Le samedi 6 juillet 2019 de 13h30 à 16h30.

    UNBEE organise "Mérignac numérique RENCONTRES DU LIBRE" à la maison des associations de Mérignac/Bordeaux le 6 juillet 2019 de 13h30 à 16h30:

    au programme Install Party & Coding gouter 

    Cette manifestation sera l'occasion de rencontrer les membres de l'association, de vous faire aider à passer aux logiciels libres et de discuter librement autour de l’environnement Linux UBUNTU sur Mérignac.

    Venez pour

    • Parler librement de tout.
    • Échanger des infos techniques sur le LIBRE.
    • Installer Ubuntu sur votre ordinateur, clé USB ou disque dur externe.
    • Découvrir les ordinateurs recyclés de l'association
    • Se former au bureau Ubuntu

    et l'association met en place aussi un CODING GOUTER pour les plus jeunes dès 8 ans 

    Venez découvrir le langage d'initiation à la programmation LOGO et

    résolvez les défis pour obtenir votre diplôme du "petit génie" informatique d'UNBEE.

    Ouvert à tous. Pour les plus jeunes, veuillez être accompagnés d'un adulte.

    ---------------------------------------------------------------------------------------

    PARTICIPER SUR PLACE AU TIRAGE AU SORT POUR GAGNER UN PC GRATUIT

    RECYCLÉ PAR L'ASSOCIATION UNBEE 

    (marque Dell optiplex 380 avec XUBUNTU)

    ---------------------------------------------------------------------------------------

    L'équipe d'UNBEE vous attend…

    Unbuterose'ment votre.

    [FR Vire] Install Party à Vire - Le samedi 6 juillet 2019 de 14h00 à 19h00.

    Venez assister à l'install Party de fin d'année.

    Cette journée est consacrée à la présentation, découverte et l’aide à l’installation de Linux sur votre PC. Apportez votre PC en ayant sauvegardé vos données et nous vous aiderons à installer Linux et bien le prendre en main.

    Plus d'infos sur le site viregul.fr

    [FR Gan] Install-party à la Faites du partage » - Le samedi 6 juillet 2019 de 14h00 à 18h00.

    Le samedi 6 juillet 2019 à partir de 14h, l'association PauLLA sera présente à Haut de Gan pour promouvoir et installer du logiciel libre.Pour la première fois cette année, les associations "Rencontres et Loisirs à Haut de Gan" et "Haricots verts et Radis noirs" organisent une fête sur le quartier de Haut de Gan. Cet événement, nommé Faites du partage » est dédié à la notion de partage et d'entre-aide. Ils ont convié les membres de PauLLA.

    Très classiquement ce sera l'occasion d'assister les propriétaires d'ordinateurs qui souhaitent installer un système libre sur leur ordinateur… mais pas que

    En effet, c'est aussi l'occasion de faire connaissance et de discuter logiciel libre, données personnelles, sécurité, réseau… etc. Des utilisateurs chevronnés seront là pour répondre à vos questions, vous donner des astuces et faire en sorte que tout se passe pour le mieux avec le système libre de votre choix.

    Venez nombreux avec votre ordinateur portable et son chargeur, ou avec votre unité centrale (pas besoin du clavier, de la souris ou de l'écran, sauf s'il s'agit de matériel très exotique).

    Vous y découvrirez également

    • un jardin partagé comment s'est-il monté, comment ça fonctionne, qu'est-ce qu'on y cultive et quelles techniques sont utilisées
    • randonnées et chantier solidaire comment les voisins en zones rurales s'entre-aident et partagent d'agréables journées en randonnées dans le Béarn et les Pyrénées.

    Chemin de Udée (bas), à Haut de Gan (au sud de Pau) : prendre la N136 vers Oloron Sainte Marie et passer Gan. Le Chemin de Udée se trouve en face de l'Auberge Béarnaise.

    Les infos pratiques

    Où ?

    Chemin de Udée (bas), à Haut de Gan (au sud de Pau) : prendre la N136 vers Oloron Sainte Marie et passer Gan. Le Chemin de Udée se trouve en face de l'Auberge Béarnaise.

    Parking derrière l'ancienne gare de Haut de Gan ou au niveau de l'Auberge Béarnaise.

    Quand

    Le 6 juillet 2019 à partir de 14h. Par pitié, ne venez pas tous à 14h, étalez-vous dans l'après-midi.

    Combien

    C'est gratuit. Mais si vous appréciez le monde du logiciel libre, vous pouvez faire un petit (ou un gros) don à la FSF, Wikimédia, OpenStreetMap, Framasoft… etc.

    Quelle(s) distribution(s) ?

    Celle qui sera la plus adaptée l'âge de votre ordinateur et à ce que vous en faites.

    Allez-vous m'effacer windows (ou OSX) ?

    C'est vous qui voyez. On peut installer Linux à côté de Windows ou carrément tout remplacer.

    Le lieu est-il accessible

    Difficilement accessible aux PMR (cailloux, terre), c'est avec plaisir que nous vous aiderons à nous rejoindre via un simple appel téléphonique si votre matériel peut être transporté en voiture depuis le parking vers le lieu de rencontre.

    A bientôt, on compte sur vous

    [FR Challans] Permanence Linux - Le samedi 6 juillet 2019 de 14h00 à 18h00.

    L'association Linux Challans vous donne rendez-vous au Centre de la Coursaudière, 9 rue de la Cité 85 300 Challans.

    Nous vous proposons lors de ces rendez-vous mensuels d'échanger autour du Libre, des conseils ou une assistance technique.

    Vous pouvez venir pour vous faire aider, ou aider, à installer et paramétrer une distribution Linux de votre choix ou des logiciels libres sur votre ordinateur.

    Recommandations :

    • Sauvegardez vos données avant de venir.
    • Libérez de la place sur le disque dur (20 Go minimum) et défragmentez Windows si vous voulez le conserver.

    Au plaisir de vous voir bientôt

    [FR Metz] Ateliers Python - Le samedi 6 juillet 2019 de 14h30 à 17h00.

    Le GRAOULUG organise, en partenariat avec le GraouLAB (fablab de Metz), des ateliers introductifs à Python.

    Rappel les ateliers sont réservés aux adhérents d'une des deux associations.

    Inscription préalable sur https://framadate.org/MgLsiY4yeY6gsAVP afin d'estimer le nombre de places.

    Samedi 18 mai 2019 python 1/3 Présentation du langage + installation environnement (machine virtuelle) + début algorithmique.

    Samedi 22 juin 2019 python 2/3 Algorithmique + structures de données + bibliothèques -> REPORTÉ AU SAMEDI 6 JUILLET

    Samedi 20 juillet 2019 python 3/3 Entrées/sorties + programmation orientée objets.

    Pour plus d'information, voir l'annonce sur https://www.graoulug.org/wordpress/?p=631

    [FR Nantes] Permanences Linux - Le samedi 6 juillet 2019 de 15h00 à 18h00.

    Les permanences de juillet 2019 auront lieu les

    samedi 6 et 20 juillet 2019 de 15h à 18h dans l’aile du local associatif Bellamy 17.

    Au plaisir de vous voir à l’une de ces dates.

    [FR Montpellier] Wikipermanence - Le samedi 6 juillet 2019 de 18h00 à 21h00.

    Ces ateliers de contributions animés conjointement avec l’association Montpel’libre et les Archives Départementales de l’Hérault ont pour but de combler le fossé des genres, de rendre plus visibles les femmes dans Wikipédia et amener davantage de femmes à la contribution. C’est une plage horaire où des personnes se réunissent pour découvrir Wikipédia, écrire, modifier, traduire ou illustrer un article.

    Les participants pourront soit se créer au préalable un compte sur Wikipédia, soit en créer un le jour même, en venant à la permanence avec un ordinateur. L’espace dispose de quelques postes de travail mais n’hésitez pas à apporter votre propre matériel. Des ressources documentaires (livres, études scientifiques et archives) sur le thème femmes et féminisme en Hérault seront mises à votre disposition.

    Pour cette soirée conviviale, chacun amène ce qu’il veut à manger et à boire pour un repas partagé.

    Prérequis Pas de connaissance particulière de Wikipédia. Les Wikipermanences s’adressent à tous les publics, qu’ils soient curieux, en questionnement ou des Wikipédien(ne)s chevronné(e)s. Vous pouvez venir pour y découvrir comment débuter, devenir un contributeur, et découvrir comment fonctionne Wikipédia et ses projets frères, partager vos connaissances.

    Charte des ateliers Voir la charte de la Wikimedia Foundation.

    Informations pratiques Domaine départemental de Pierresvives / 907, rue du Professeur Blayac – Montpellier (34)
    Salle de lecture des Archives départementales – entrée libre avant 19h, puis téléphoner au 04 67 67 82 01
    Transport Tram ligne 1 arrêt Les Halles ou Tram ligne 3 arrêt Hôtel du département, puis bus n°19 arrêt Léonard de Vinci.
    Infos au 04.67.67.30.00 ou serv-educa.archives@herault.fr

    Venez participer aux Wikipermanences de Montpellier qui auront lieu aux Archives Départementales de l’Hérault de Pierresvives, le premier mardi de chaque mois, de 18h00 à 21h00.

    Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible et auprès des Archives Départementales de l’Hérault.

    Cet événement est proposé dans le cadre du partenariat qui lie les Archives Départementales de l’Hérault, Wikipédia France et Montpel’libre.

    S’abonner ou se désabonner à la liste de diffusion.

    Tramway Ligne 3, arrêt Hôtel du département, puis bus n°19 en direction de Pierre de Coubertin arrêt Lycée Léonard de Vinci.
    GPS Latitude 43.625171 | Longitude 3.823331

    [CA-QC Montréal] Lancement de Debian Buster - Le samedi 6 juillet 2019 de 10h00 à 17h30.

    Debian Buster sort officiellement le 6 juillet

    Joignez-vous à nous pour un Debian & Stuff en journée au Collège de Maisonneuve, suivi d'un
    événement social à MaBrasserie en soirée pour manger & boire un verre.

    Pour celles et ceux qui n'en ont jamais entendu parler, les "Debian &
    Stuff" sont des rencontres informelles de la communauté Debian dans la
    région de Montréal pour travailler sur des choses liées à Debian - ou
    pas. Venez discuter avec nous ou travailler sur un projet intéressant
    tout le monde est bienvenu

    Plus d'infos sur le wiki Debian.

    _______________________________________________________________________

    Debian Buster will be released on July 6th

    Come and join us for a Debian & Stuff during the day at Collège de Maisonneuve and a social event
    in the evening at MaBrasserie for food & drinks.

    For those not familiar with the concept, the idea behind Debian & Stuff
    events is to have an informal gathering of the local Debian community to
    work on Debian-related stuff - or not. Come and chat with us, hack on a
    nice project, everyone is welcome

    More info on the Debian wiki.

    [FR Narbonne] La bataille du Libre - Le dimanche 7 juillet 2019 de 20h00 à 23h00.

    Projection du film La bataille du Libre organisée en Partenariat avec l'association Nature et Progrès

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Embedded Recipes, 3ᵉ édition

    ven, 28/06/2019 - 16:44

    La neuvième édition de Kernel Recipes aura lieu les 23 et 24 septembre 2019, à Paris. Cette année, changement de décor, la conférence va faire son cinéma au 11 bis rue Scribe à Paris. Nous en profitons pour remercier encore Mozilla Paris pour ces belles années pendant lesquelles nous avons profité de leur hospitalité !

    Deux jours de conférences autour de l’embarqué proposés par nos orateurs : Steven Rostedt, Geaorge Kiagiadakis, Marek Vasut, Romain Naour, Malicia Rogues, Will Deacon, Geert Uytterhoeven, Wolfram Sang, Drew Fustini, elen, Lukas Stach, Julien Viard de Galbert, Patrick Boettcher et Michael Salaun.

    Couches basses, utilitaires, plate‐forme d’intégration, industrialisation, contribution, sécurité… Il y en aura pour tout le monde !

    Un grand merci également à nos supporteurs qui nous permettent de vous proposer cette conférence et la rendre accessible : ARM, Collabora, Qtechnology, Agilack, Smile et Baylibre.

    Attention cette année les inscriptions se font plus tôt : le 26 juin, à partir de 14 h, et le 27, à partir de 10 h [NdM] : encore ouvertes.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Kernel Recipes 8ᵉ édition

    jeu, 27/06/2019 - 22:29


    La neuvième édition de Kernel Recipes aura lieu du 25 au 27 septembre 2019, à Paris. Cette année, changement de décor, la conférence va faire son cinéma au 11 bis rue Scribe à Paris. Nous en profitons pour remercier encore Mozilla Paris pour toutes ces belles années pendant lesquelles nous avons profité de leur hospitalité !

    Sur le déroulé de la conférence et l’organisation, pas de changement. Trois jours autour des actualités du noyau Linux, des discussions, des évolutions à venir, bref il y en aura pour tout le monde.

    Un programme dense cette année proposé nos orateurs : Greg Kroah‐Hartman, Jonathan Corbet, David Miller, Steven Rostedt, Jesper Dangaard Brouer, Dodji Seketeli, Eric Leblond, Joel Fernandes, Alexei Starovoitov, Enric Balletbo i Serra, Bradley Kuhn, Rafael Wysocki, Christian Brauner, Gustavo R. Silva, Thomas Gleixner, Jean Delvare, Jens Axboe, Julien Thierry, Jose E. Marchesi, Daniel Bistrot de Oliveira et Aurélien Rougemont.

    Anisse Astier (non, ce noble sire n’a pas de famille à Kaamelott) s’est installé au sein de l’équipe et continuera à vous faire profiter de ses retranscriptions en temps réel. Frank, le terrible croqueur de participants, lui aussi sera de la partie.

    Cette année nous avons choisi de mettre en avant une association en particulier : Software Conservancy, pour lequel seront organisées des enchères.

    Un grand merci également à nos supporters qui nous permettent de vous proposer cette conférence et la rendre accessible : ARM, Facebook, ANSSI, Gandi, VMware, Collabora, openSUSE, Baylibre, Logilin, Agilack et Criteo.

    Attention cette année les inscriptions se font plus tôt : le 26 juin, à partir de 14 h, et le 27, à partir de 10 h.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    LoL, une affaire sérieuse, compte‐rendu de l’avant‐première

    jeu, 27/06/2019 - 11:22

    « Lol — Logiciel libre, une affaire sérieuse » est un documentaire écrit par Léa Deneuville et Thierry Bayoud, réalisé par François Zaïdi, produit par Gigowatt Film.

    Ce film ayant défrayé la chronique linuxfrienne, un petit compte‐rendu s’impose après l’avant‐première à Paris le 20 juin, qui a réuni tout le gratin du Libre francilien (ou presque), entre autres. Dans la salle, quasiment pleine, se trouvaient en effet aussi une bonne part de personnes a priori non libristes, qui forment le « public‐cible » du film pour tout dire. Est‐ce à dire que les libristes n’ont aucun intérêt à voir ce documentaire ?

    Sommaire Qu’est‐ce que ça raconte ?

    Le documentaire n’est constitué que des interventions de quatorze personnes d’horizons variés, illustré de citations de films que les cinéphiles reconnaîtront sans doute à coup sûr. Pas de musique parasite, pas de présentation (en voix off ou pas), pas d’introduction par un présentateur ou une présentatrice, pas de questions posées, pas de texte rajouté. Les intervenants s’expriment en français, à l’exception de Richard Stallman qui parle en anglais (sous‐titré en français).

    Vu comme ça, on se dit que tenir 57 minutes ça risque d’être dur et, pour tout dire, ennuyeux, voire plus.

    En fait, non.

    Les interventions qui, manifestement, ont chacune été prises en une seule fois en « décor naturel » sont découpées en sept chapitres, dans l’ordre d’apparition : l’ordinateur, le logiciel, le code source, logiciel libre et logiciel non libre, la communauté, l’Éducation nationale, la sécurité, la sécurité de l’État. Entre chacun des grands thèmes, un écran donne le nom du thème abordé et c’est tout.

    On retrouve par exemple Pierre‐Yves Gosset de Framasoft et Magali Garnero s’exprimant dans la librairie de Magali, Richard Stallman s’exprimant en anglais et sous‐titré, Marie Duponchelle (April) dans son bureau d’avocate, Frédéric Couchet (April) devant les locaux de l’April en plein soleil, Henri Verdier (alors patron de la DINSIC) dans son bureau, visiblement par temps pluvieux, ou encore Jean‐Baptiste Kempf (Videolan).

    Évidemment, on n’a pas à chaque fois quatorze interventions sur chacun des grands thèmes, mais des interventions dans les zones de compétence des intervenants et des intervenantes. Les interventions des uns et des unes enrichissant, complétant, précisant ou éclairant les interventions des autres.

    Tout cela dans une langue française claire, donc pas de jargon, de klingon, de globish, de discours creux ou startupien. Pas non plus de vulgarisation bébête et au ras des pâquerettes (et donc forcément fausse). Déjà ça fait du bien, mais surtout, à la fin, on (en tout cas moi) se dit « ah, c’est déjà fini ! ».

    (source)

    Les personnes interrogées
    • Grégory Bécue, directeur général de Smile, Stratégie et Développement ;
    • Véronique Bonnet, vice‐présidente de l’April, professeur de philosophie en classes préparatoires ;
    • Pierre Boudes, maître de conférences en informatique à l’Université Paris 13 ;
    • Frédéric Couchet, membre fondateur et délégué général de l’April ;
    • Pierre‐Yves Dillard, salarié fondateur d’Easter-eggs ;
    • Marie Duponchelle, avocat, auteur du livre Le droit à l’interopérabilité ;
    • Magali Garnero, libraire militante à l’April et à Framasoft ;
    • Pierre‐Yves Gosset, directeur délégué général de l’association Framasoft ;
    • Jean‐Baptiste Kempf, président de VideoLAN ;
    • François Pellegrini, professeur à l’université de Bordeaux, chercheur au LaBRI & Inria ;
    • Emmanuel Raviart, développeur et assistant parlementaire ;
    • Laurent Séguin, président de l’AFUL ;
    • Richard Stallman, ancien développeur de systèmes au MIT, fondateur du mouvement du logiciel libre ;
    • Henri Verdier, DINSIC — Directeur interministériel du numérique et du système d’information et de communication de l’État.

    Les entretiens sont en français, à l’exception de celui de Richard Stallman qui est en anglais sous‐titré en français.

    Si l’on est libriste on en tire quelque chose ?

    Définitivement oui. Par exemple, Magali Garnero a une façon lumineuse de parler de l’audit du logiciel libre et qui permet des mieux comprendre ce que cela signifie concrètement pour un logiciel (libre ou non). Par exemple, également, plusieurs des interventions expliquent aussi en quoi le terme « privateur » est adapté aux logiciels non libres et de quoi ils privent les utilisateurs.

    Par exemple, Richard Stallman explique les fameuses quatre libertés d’une façon plus « vivante » que celles rabâchées par cœur dans le monde libriste.

    Autre exemple, le même Stallman explique le problème des DRM et des liseuses Kindle, notamment en matière de protection de la vie privée.

    Ou encore Laurent Séguin (AFUL) raconte qu’il n’a pas de compte Facebook, mais qu’il y est tout de même par le biais de l’application Facebook qu’utilise son entourage.

    En tant que libriste, on en tirera des arguments auxquels on n’avait pas pensés ou encore des façons d’expliquer. Et le fait que ça ne soit pas un film militant le rend encore plus intéressant et utile puisqu’il apporte un regard plus distancié.

    Quelques retours :

    • Frédéric Couchet (interviewé dans le documentaire) : « Un très beau boulot de l’équipe. Pour la diffusion, elle cherche festivals, salles de cinéma, télés… N’hésitez pas à faire tourner et à contacter Gigowatt Film » (sources : 1 et 2). Rappelons au passage l’entretien avec François Zaïdi réalisé dans l’émission « Libre à vous ! » sur Radio Cause Commune (transcription) ;
    • François Pellegrini (interviewé dans le documentaire) : « Hier soir, présentation en avant‐première du documentaire LoL : Logiciel libre, une affaire sérieuse, créé par Thierry Bayoud, Léa Deneuville et François Zaïdi. Plein de gens bien qui parlent dedans, et votre serviteur aussi. ;-) » (source) ;
    • Rayna Stamboliyska : J’ai vu _LOL : Logiciel libre, une affaire sérieuse, franchement, c’est bien :) » (source).
    Est-il à la portée de tout le monde ?

    Je pense que oui. François Zaïdi, le réalisateur‐producteur du film, m’a dit qu’en le réalisant, il avait pensé à sa mère. Pourrait‐elle à la fois regarder le film sans s’ennuyer, comprendre ce qui y est dit et les enjeux qu’il y a derrière le logiciel libre ?

    Si c’est un indice, dans la salle, il a été suivi et écouté avec attention (ça se voit et ça s’entend quand les gens s’ennuient).

    Des bémols ?

    Le principal bémol, concerne la présentation des divers intervenants. L’AFUL, l’April, dans le monde du Libre, on connaît. Ailleurs, pas sûr et les sigles ne sont pas développés. Jean‐Baptiste Kempf est présenté comme président de Videolan sans qu’il y soit fait mention de VLC, peut‐être plus connu du grand public. Et, enfin, je me demande s’il n’aurait pas été opportun de mieux préciser à quel titre les universitaires qui sont intervenus s’exprimaient (prof de quoi ?). Ce qui ne met absolument pas en cause la qualité de leurs interventions évidemment, mais leur donnerait peut‐être, ou peut‐être pas, plus de poids.

    Le documentaire n’aborde pas le sujet de la vente liée/forcée ou des brevets logiciels : on ne peut évidemment parler de tous les sujets en 57 min. Il y est en revanche question d’interopérabilité ou d’informatique déloyale.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Revue de presse de l'April pour la semaine 25 de l'année 2019

    mar, 25/06/2019 - 09:20

    Cette revue de presse sur Internet fait partie du travail de veille mené par l'April dans le cadre de son action de défense et de promotion du logiciel libre. Les positions exposées dans les articles sont celles de leurs auteurs et ne rejoignent pas forcément celles de l'April.

    [Le Monde.fr] «Il est grand temps de reprendre la main sur les algorithmes qui nous gouvernent» (¤)

    Le samedi 22 juin 2019.

    TRIBUNE. Le chercheur en informatique Hugues Bersini plaide dans une tribune au «Monde» pour un «codage citoyen», qui ferait des algorithmes les outils d'une gestion collective de notre existence commune.

    [01net.] Méfiez-vous de ces clones de logiciels gratuits vendus sur le Microsoft Store

    ✍ Geoffroy Ondet, le mercredi 19 juin 2019.

    Des développeurs peu regardants copient des logiciels open source pour les vendre sur le magasin d'applications de Microsoft.

    [Contrepoints] C'est Facebook, et pas Microsoft, qui est la principale menace pour l'open source

    ✍ Glyn Moody, le lundi 17 juin 2019.

    Facebook va-t-il devenir le nouveau Windows? Un article du Linux Journal

    [ChannelNews] Le CERN choisit l'open source au détriment de Microsoft

    ✍ Dirk Basyn, le lundi 17 juin 2019.

    Microsoft chercherait à faire basculer les organismes de recherche scientifique vers l’open source? La question peut paraître incongrue et l’est certainement. Toujours est-il que la firme de Redmond a décidé l’an dernier de multiplier par 10 le prix des licences accordées au CERN. En effet, le laboratoire européen de recherche sur la physique des particules – connu pour son accélérateur – bénéficiait jusqu’alors de la tarification réduite accordée aux instituts de recherche publics, un avantage que Microsoft a décidé de révoquer, mettant le CERN, de même que d’autres organismes de recherche, au même niveau qu’une entreprise.

    Et aussi:

    [Developpez.com] Open source: les développeurs sont-ils sous-financés et exploités? Oui

    ✍ Patrick Ruiz, le lundi 17 juin 2019.

    Open source … l’expression est vieille de plus de vingt ans désormais. Par définition, l’open source ou «code source ouvert» est un concept qui s'applique aux logiciels (et de façon générale aux œuvres de l’esprit) dont la licence respecte des critères précisément établis par l'Open Source Initiative, c'est-à-dire les possibilités de libre redistribution, d'accès au code source et de création de travaux dérivés. Mis à la disposition du grand public, ce code source est généralement le résultat d'une collaboration entre programmeurs. Le mouvement open source s'est constitué sous l'impulsion d'Eric Raymond et n’est pas à confondre avec celui du logiciel libre qui prône des valeurs philosophiques et politiques de justice, tandis que l'open source se focalise sur des considérations techniques du développement logiciel et ne voit pas de problème à l'utilisation de systèmes intégrés combinant logiciels propriétaires et logiciels open source. Toutefois, dans la pratique, une grande majorité des logiciels open source sont également libres.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Installer LineageOS sur son appareil Android

    lun, 24/06/2019 - 21:55

    Lorsque j’ai installé LineageOS sur mon smartphone, j’ai suivi des tutoriels sans réellement comprendre ce que je faisais. Je voulais donc écrire cette dépêche pour éclairer celles et ceux qui voudraient tenter l’aventure et avoir plus de contrôle sur leur téléphone Android. Ce n’est donc pas un tutoriel mais plus un guide qui explique le fonctionnement et l’écosystème d’Android et de LineageOS.

    Sommaire Avant l'installation Qu'est-ce que LineageOS ?

    LineageOS est un système pour téléphone et tablettes basé sur Android Open Source Project (AOSP) — Android tel que fournit par Google. Il peut être installé à la place du système Android qui est préinstallé sur les téléphones. Contrairement à ce système, maintenu (ou pas) par le fabriquant de l'appareil, il s'agit d'un projet communautaire.
    C'est un dérivé de Cyanogenmod créé en décembre 2016, quand la boite qui était derrière ce dernier, Cyanogen Inc., a annoncé l'arrêt du projet et de son infrastructure.

    Système alternatif : quelle différences entre un téléphone et un ordinateur classique ?

    Lorsqu'on a déjà installé un ordinateur sous Linux ou avec un autre système, on se demande forcément à un moment ou à un autre : mais pourquoi est-ce si compliqué, qu'y a t-il de différent sur un téléphone android ?

    Sur les ordinateurs de bureau ou portables classiques (PC), l'architecture est standardisée et le BIOS fournit la liste du matériel présent. Ainsi, un installateur de système d'exploitation pourra connaître et trouver le matériel sans problème particulier.

    Pour les téléphones, c'est plus compliqué : l'architecture et le matériel sont souvent spécifiques pour chaque téléphone et il n'y a pas de moyen de détection. Le noyau des systèmes des téléphones doivent être compilés avec un arbre de périphérique (device tree : liste du matériel présent et à quel endroit il est).

    Pour compliquer le tout, les constructeurs des cartes intégrées utilisées dans les téléphones adaptent en profondeur le noyau Linux et le rendent spécifique à leur matériel. Ce qui fait que chaque carte est fournie avec un noyau Linux spécifique et un ensemble de bibliothèques propriétaires pour faire fonctionner des périphériques plus ou moins essentiels (puce graphique, appareil photo, modem, puce wifi et bluetooth, etc.).

    Pour toutes ces raisons, il n'y a pas d'installateur universel, il y a autant d'images que de téléphones.

    Android et la vie privée : qu'est ce qui pose problème ?

    Voici quelques liens qui peuvent donner envie de mieux protéger sa vie privée :

    Pourquoi installer LineageOS ? Avantages :
    • protéger sa vie privée ;
    • avoir plus de contrôle sur son téléphone ;
    • avoir un téléphone mis à jour avec une version récente d'Android ;
    • gagner en vitesse d'exécution et en espace libre (pas de surcouche constructeur).
    Inconvénients :
    • perte de la garantie (bien que cette clause soit abusive, je vous laisse en discuter dans les commentaires) ;
    • difficulté et risque de l'installation (possibilité de bloquer son téléphone en cas de mauvaise manipulation, cette page devrait vous aider à mieux comprendre ce que vous faites).
    Android est-il libre ?

    Oui et non, le système de base Android est libre (AOSP : Android Open Source Project) mais les téléphones sont livrés avec des applications et bibliothèques propriétaires.

    Voici généralement ce que l'on trouve dans un téléphone livré par un constructeur :

    Google Apps : Applications fournies par Google (Play store, Gmail, Gmaps, etc.). Il est possible d'installer les Google Apps sur LineageOS.

    Et voici ce que vous aurez après avoir installé LineageOS :

    • Les pilotes matériels restent non libres ;
    • l'installation d'applications non libres reste possible sur LineageOS (oui, vous pourrez continuer à utiliser Facebook sur LineageOS si vous le désirez !) ;
    • il est également possible d'installer les Google Apps sur LineageOS, mais vous vous exposerez alors à nouveau votre vie privée. Je reparlerai plus tard de l'alternative microG.
    Qu'est ce qu'une ROM ?

    On rencontre souvent le terme « ROM » (Read-Only Memory) pour parler de LineageOS. C'est un peu un abus de langage ici car on devrait plutôt parler de distribution.
    Une ROM est installée sur un téléphone en « flashant » une image, c'est-à-dire en copiant son contenu dans la partition système du téléphone, qui est en lecture seule dans les conditions habituelles d'utilisation.
    Par ROM stock, on désigne le système qui est préinstallé sur le téléphone. Toutes les autres ROMs sont qualifiées de ROM custom. On parle aussi de temps en temps de firmware (micrologiciel), bien qu'une distribution Android n'est pas si micro : elles avoisinent le giga-octet.

    Alternatives :

    LineageOS est la ROMs alternative la plus répandue, pouvant s'installer sur le plus grand nombre de téléphones, mais il y en a d'autres :

    • le projet Replicant a pour but de construire une version d'Android entièrement libre (y compris les pilotes) ;
    • /e/ se base sur LineageOS pour proposer une autre interface et des services qui respectent la vie privée et intègre microG;
    • ROMs basées sur LineageOS, telles que AICP, Bliss et un tas d'autres ; si vous arrivez à installer LineageOS, vous ne devriez pas rencontrer de problèmes pour tester d'autres ROMs basées dessus ;
    • AOSP elle-même, pour les téléphones pris en charge par Google ;
    • des ROMs basées sur AOSP (et pas sur LineageOS), comme AOSPExtended.
    Est-ce que je peux installer LineageOS sur mon téléphone ?

    Tous les téléphones ne sont pas compatibles avec LineageOS, voici la liste des téléphones officiellement compatibles. Pour connaître le nom précis de votre appareil, allez sur Configuration - Nom de l'appareil.

    Votre téléphone n'est pas dans la liste ? Tout n'est pas perdu, des passionnés développent des ROM non officielles de belle qualité. Vous pouvez rechercher s'il existe une ROM pour votre téléphone sur les forums XDA.

    Exemple :

    Cela peut paraître étrange de télécharger des fichiers d'installation à partir d'un forum, mais c'est comme cela dans le monde Android / LineageOS !

    Les versions LineageOS / Android
    • CyanogenMod 12 (basé sur Android 5 - Lollipop)
    • CyanogenMod 13 (basé sur Android 6 - Marshmallow)
    • LineageOS 14 (basé sur Android 7 - Nougat)
    • LineageOS 15 (basé sur Android 8 - Oréo)
    • LineageOS 16 (basé sur Android 9 - Pixel)
    • LineageOS 17 (basé sur Android 10 - Q)
    L'installation

    Le but de cette partie est de comprendre ce que l'on fait lorsqu'on installe LineageOS, car bien souvent les tutoriels se limitent à une suite d'instructions à exécuter sans réelles explications.
    Je ne vais donc pas détailler ici l'installation de chaque ROM, les étapes diffèrent selon chaque téléphone. Donc, après la lecture de cet article, je vous renvoie donc au tutoriel d'installation de la ROM pour votre téléphone.

    Le système de fichiers

    Voici à quoi ressemble le système de fichiers sur un téléphone Android (il existe d'autres partitions, mais vous n'avez pas besoins de les connaitre pour comprendre l'installation d'une ROM).

    • Les parties bootloader et fastboot ne font pas vraiment partie du système de fichiers.
    • Les partitions /boot et /system sont en lecture seule lorsque Android est démarré, c'est pourquoi il est impossible de supprimer les surcouches constructeurs et les Gapps d'un téléphone livré par les constructeurs.
    • La partition /data contient les données et les applications, seule cette partition est accessible en écriture lorsque le téléphone est démarré.
    • Il est possible d'accéder à la partition /recovery pour avoir accès en écriture aux autres partitions.
    Que sont les logiciels adb (Android Debug Bridge) et fastboot ?

    Il est parfois nécessaire d'installer ces logiciels sur votre PC, ils permettent d'envoyer des commandes à votre téléphone et d'accéder à des partitions protégées en écriture.

    Pour l'installation sous Linux, il suffit généralement d'installer un paquet pour votre distribution.

    Exemple pour debian/ubuntu :

    apt-get install adb fastboot

    Pour pouvoir lancer des commandes adb, il faut que votre téléphone les accepte et soit en mode développeur. Pour cela, vous devez aller dans :

    • Paramètres - À propos du téléphone ;
    • puis vous devez taper 7 fois sur la ligne Numéro de build (oui, oui, ce n'est pas une blague :)) ;
    • retournez dans Paramètres - {} Options pour les développeurs ;
    • activez l'option Débogage Android (cette option est dans Paramètres ; - Système - {} Options pour les développeurs à partir d'Android 9 - Pie).

    Voici quelques exemples de ce que vous pouvez faire avec ces commandes :

    • adb devices : liste les téléphones reliés par USB à votre PC et prêts à recevoir des commandes ;
    • adb reboot recovery : permet de redémarrer sur la partition /recovery ;
    • adb reboot bootloader : permet de redémarrer en mode fastboot ;
    • adb install -l nomapplication.apk : permet d'installer le package ;
    • fastboot devices : permet de lister les téléphones reliés par USB à votre PC et prêts à recevoir des commandes fastboot.
    Pourquoi déverouiller le bootloader ?

    Il faut déverrouiller le bootloader pour pouvoir démarrer sur la partition /recovery. La manipulation dépendra entièrement du constructeur et du téléphone que vous possédez. Cela peut se faire très simplement ou alors passer par une procédure complexe (envoi de mail, code, etc.).

    Qu'est ce que TWRP ?

    TWRP est un programme qui s'installe dans la partition /recovery. Une fois installé, il vous permet, grâce à une interface graphique, de formater, de sauvegarder ou d'installer des images dans les partitions /boot et /system.

    Bien souvent, depuis la page d'installation de la ROM LineageOS, des liens vers le logiciel TWRP à flasher spécifiques à votre téléphone sont disponibles.

    Remarque : le projet TWRP propose des versions « live » permettant d'amorcer TWRP sans l'installer et d'y réaliser les opérations courantes (installation, injection d'une application système ou d'un patch).

    Pour démarrer sur TWRP, il faut utiliser une combinaison de touches qui dépend de votre téléphone (souvent bouton de démarrage + volume haut).

    TWRP est un logiciel libre, il possède une application permettant sa propre mise à jour simplifiée et aussi de se tenir informé des dernières versions du système.

    Installation de LineageOS

    Et voilà, vous pouvez maintenant installer LineageOS : téléchargez la ROM, copiez-la sur une carte SD, rebootez sur /recovery en TWRP, sauvegardez votre ROM actuelle, formatez les partitions, et enfin, installez votre nouvelle ROM !

    Quest-ce que le mode root ?

    Après avoir démarré LineageOS, la partition /system n'est pas accessible en écriture. Rooter son téléphone permet de la rendre accessible.

    Avantages du root :
    • Pouvoir sauvegarder l'ensemble de son appareil ;
    • faire fonctionner des logiciels qui ont besoin d'accéder à la partition /system (MicroG ou logiciels de backup par exemple).
    Inconvénients du root :
    • certaines applications ne fonctionnent plus sur un appareil rooté ;
    • problèmes de sécurité ?
    Installation de Magisk

    Magisk est un logiciel qui permet de faire un pseudo root et de cacher à certaines applications que le téléphone est rooté.
    Magisk est un logiciel libre, une application permet de le configurer et d'installer les dernière versions.

    Qu'est ce que MicroG ?

    Si vous voulez dégoogliser votre téléphone, vous ne voudrez certainement pas installer les Google Apps (GApps). Cependant, certaines applications dépendent des services Google.
    On pourrait penser que les Open Gapps font l'affaire, mais ce n'est pas le cas : elles ne font que fournir des logiciels propriétaires de Google.
    On pourrait également penser que l'on peut tout simplement s'en passer. C'est effectivement la meilleure solution, mais, parfois, certaines applications dépendent des Google Apps et ne fonctionnent pas sans.

    MicroG fournit une alternative libre à certaines API utilisées par ces applications et peut-être installé à la place des GApps. Il faut malgré tout rester conscient que le bon fonctionnement de microG dépend du bon vouloir de Google et de l'évolution de ses API.

    Remarque : En plus des ces API, MicroG fournit un moyen de se géolocaliser à l'aide du Wifi et des antennes téléphoniques, ce qui n'est pas fourni de base avec LineageOS (mais qui est une fonctionnalité des GApps).
    Cette fonctionnalité rend MicroG intéressant même pour les gens qui souhaitent totalement éviter Google car cette géolocalisation vient en complément et accélère parfois la localisation GPS.
    L'utilisateur devra choisir et activer des fournisseurs de géolocalisation dépendant ou non d'une connexion au réseau (Apple, Mozilla, bases de données locales) dans les paramètres de MicroG.

    ROM LineageOS for microG

    Tous les téléphones pris officiellement en charge par LineageOS sont pris en charge par le projet LineageOS for microG. Ces images fournissent LineageOS + microG + F-Droid de base. Cette solution simplifie grandement l'installation et doit être privilégiée.

    Étapes d'installation de microG

    Si votre ROM n'est pas officiellement supportée, microG peut aussi être installé sur un système LineageOS existant, mais ce n'est pas simple.

    Voici un résumé des étapes à réaliser pour l'installation de microG sans utiliser LineageOS for microG :

    • rooter l'appareil ;
    • ajouter un dépôt à F-Droid ;
    • installer les applications microG (GmsCore, UnifiedNlp, FakeStore, etc) ;

    Remarque : Une application permet de savoir quels services fonctionnent et de configurer microG.

    Mettre à jour sa ROM

    Si vous utilisez une ROM LineageOS (ou MicroG) officielle, vous devriez être notifié lorsqu'une mise à jour est disponible. L'installation (OTA : Over The Air) se fait donc très simplement.

    Par contre, si vous êtes sur une version non officielle, je n'ai pas trouvé de méthode recommandée pour cette tâche. Je vous soumets donc la méthode que j'utilise et qui a fonctionné pour moi jusqu'à aujourd'hui. N'hésitez pas à en soumettre d'autres ou à la critiquer.

    • Téléchargez la nouvelle ROM et placez là sur la carte SD ;
    • Rebootez en mode recovery sous TWRP ;
    • Installez la nouvelle ROM ;
    • Redémarrez l'appareil. Le premier démarrage est en général long.
    Après l'installation

    LineageOS est vraiment un système agréable à utiliser et complet, mais voici quelques suggestions de ce que vous pourriez faire après avoir installé LineageOS pour l'enrichir et le personnaliser.

    Les magasins d'applications (F-Droid - Aurora)

    Que serait Android sans ses applications ? Et, pour installer des applications, il faut un magasin d'applications (Store). Si vous n'avez pas installé les Google Apps, vous n'avez plus Google Play, mais heureusement, des solutions alternatives existent.

    F-droid - Magasin d'applications libres

    F-droid est un magasin d'applications libres pour Android. Pour l'installer, vous devez utiliser un navigateur, télécharger l'APK et l'installer.

    Aurora - Utiliser Google Play sans Google Play

    Aurora (disponible sur f-droid) permet d'installer des applications provenant de Google Play sans utiliser de compte Google. Vous pouvez donc installer des applications propriétaires de façon anonyme grâce à ce store.

    • Cela ne fonctionne pas toujours du premier coup, il faut parfois patienter avant de pouvoir installer une application (renouvellement de Token) ;
    • Aurora vous demande un compte Google au démarrage, mais vous pouvez ignorer cette étape pour rester anonyme
    Quelques suggestions d'applications libres Navigation web : Firefox et DuckDuckGo

    LineageOS est livré avec le navigateur Android. Mais, depuis F-droid, vous pouvez facilement installer le navigateur DuckDuckGo, qui propose également un widget de recherche ou alors Firefox (baptisé ici Fennec F-Droid).
    Les plus puristes seront peut-être intéressés par Icecat Mobile, un dérivé des versions Firefox prises en charge à long terme fourni avec les extensions LibreJS (qui bloque les scripts non-libres) et Tor.

    Cartographie et navigation : OsmAnd et Maps.Me

    Il existe beaucoup d'alternatives de qualité basées sur OpenStreetMap pour remplacer Google Maps.
    La plus connue est OsmAnd, qui est un vrai couteau suisse de la navigation mobile et permet une navigation, des recherches et des calculs d'itinéraires (vélo, piéton, voiture, transports en commun) hors-lignes.

    Une application plus rapide et plus légère (utilisant des cartes non-vectorielles), Maps.me, pourra également intéresser certaines personnes.

    Photographies : OpenCamera - FreeDCam - Camera Roll

    LineageOS est livrée avec une application pour prendre des photos. Mais celle-ci fera peut-être pâle figure par rapport à celle livrée par le constructeur et qu'il est maintenant impossible d'installer.

    OpenCamera sera sans doute une alternative plus complète.
    Essayez également FreeDCam qui propose encore plus de fonctionnalités (pas sûr qu'elle fonctionne pour autant de téléphones qu'OpenCamera) mais qui est également plus complexe.

    Enfin, pour organiser vos photos, testez Camera Roll !

    Gestion des fichiers : Amaze

    Amaze est un gestionnaire de fichiers complet (accès à des serveurs SMB, FTP et SFTP).

    Gestion des mails : K9mail

    K9mail est une application mail éprouvée. Elle peut remplacer E-mail Android mais également Gmail.

    Calendrier et contacts : DAVx⁵, Nextcloud, Etar et OpenTasks

    Un tutoriel très complet a été rédigé par Ysabeau pour synchroniser calendrier et contact avec Davx5 (anciennement DavDroid).

    • Une application pour la gestion des contacts est livrée avec LineageOS.
    • Pour le calendrier, on pourra utiliser Agenda, livré avec LineageOS ou Etar
    • OpenTasks - non disponible sur F-Droid pourra gérer et synchroniser vos TODO List
    Sauvegardes : OandBackup, SMS Backup + et Nextcloud

    L'application OandBackup permet une sauvegarde exhaustive, par application, du téléphone. Même si son interface est un peu austère, vous pouvez tout sauvegarder avec, à condition d'avoir un téléphone rooté.

    L'application SMS Backup+ pourra être utilisée en complément d'OandBackup pour sauvegarder ses textos dans une boite mail. Elle ne nécessite pas un téléphone rooté.

    Côté photos et documents, Nextcloud ou OwnCloud, qui permettent d'accéder à un espace en ligne (cloud) et d'y téléverser les photos qui sont prises dès que le téléphone est connecté (c'est bien sûr optionnel).

    Enfin, il est toujours possible de sauvegarder entièrement le téléphone, même s'il n'est pas rooté, à l'aide de TWRP.

    Et puis, en vrac :
    • VLC : regarder des vidéos et écouter de la musique ;
    • Red Moon ou Night light : filtre les lumières bleues pour le bien de vos yeux ;
    • KDE Connect : permet de recevoir et répondre à ses textos avec son ordinateur, de partager le presse papier, transférer des fichiers, partager les notifications dans un sens comme dans l'autre, piloter son ordinateur à partir du téléphone (souris, clavier, lecteur de musique), ouvrir un lien sur le téléphone depuis l'ordinateur et plus encore : une application très pratique et assez complète qui fonctionne aussi sur d'autres environnement de bureau que Plasma ;
    • NewPipe : une belle alternative à l'application Youtube, qui permet de chercher, visionner les vidéos, les écouter en arrière plan et les télécharger pour les regarder ou les écouter plus tard. Tout ça sans les publicités. Indisponible sur le Play Store ;
    • AfWall+ : un par-feu permettant un contrôle fin par application et type de connexion (pratique notamment pour limiter l'utilisation des données mobiles sur un forfait restreint ! Nécessite un téléphone rooté) ;
    • ClipStack : un bon gestionnaire de presse-papier.
    • ForceDoze : pour forcer votre téléphone à dormir quand son écran est éteint. À utiliser avec précautions ;
    • Drowser : pour tuer les applications voulues lorsque l'écran du téléphone s'éteint (idem !) ;
    • Barcode Scanner : pour scanner les codes barres et partager des données avec des QR codes ;
    • OpenFoodFacts et OpenBeautyFacts : pour scanner et évaluer des produits du commerce avec la base de données Open Food Facts ;
    • Sky Map : une application anciennement éditée par Google et maintenant gérée par la communauté pour observer le ciel ;
    • SatStat : pour consulter la boussole du téléphone, afficher les données GPS et de divers capteurs du téléphone (accélération, rotation, champs magnétique, orientation, lumière, proximité, température, pression) ;
    • Dessin : une application de dessin rudimentaire. Pratique pour noter les scores pendant une partie de jeu de société ;
    • Audio Recorder : enregistrer du son avec le microphone du téléphone ;
    • Signal - non disponible sur F-Droid (le développeur principal s'y oppose, est hostile aux dérivés se connectant au serveur officiel et l'application inclut une bibliothèque Google non-libre) : permet d'échanger des messages et des médias chiffrer avec ses contacts. Voir aussi : Riot.im (Matrix), Rocket Chat, Mattermost, Delta Chat (messagerie instantanée par courriels) et Telegram.
    Conclusion et projets

    J'ai beaucoup appris en rédigeant cette dépêche. Merci également à toutes les personnes qui y ont participé.

    La liste des applications présentées dans cette dépêche est loin d'être complète, je compte sur vous pour partager vos trouvailles dans les commentaires.

    J'ai pour projet de faire quelques diapos à partir de cette dépêche dans le but d'organiser des « Expositions » sur Android et la vie privée. Beaucoup de personnes y sont aujourd'hui sensibles (même si beaucoup ne le sont pas également ;)).

    Pour finir, j'aimerais également étudier la possibilité d'importer des téléphones reconditionnés, de les installer avec LineageOS et de les vendre en France avec une garantie. Cela m'a été demandé par des proches, et j'ai créé le site web http://www.montelephonelibre.fr (soyez indulgents, le site a été créé pour cette dépêche, il est tout neuf :)). N'hésitez pas à m'envoyer des messages et à vous inscrire à la newsletter pour avoir des nouvelles !

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    GIMP 2.10.12 : libérons les bugs !

    lun, 24/06/2019 - 19:06

    GIMP 2.10.12 est principalement une version corrective de divers problèmes particulièrement ennuyeux, ce qui est compréhensible après une 2.10.12 avec autant d'évolutions !


    « N'écrasez pas les bugs… libérez les ! », par Aryeom, CC BY-SA 4.0 (une approche poétique du debugging)

    Malgré tout, quelques améliorations sympas sont aussi de la partie :

    • amélioration de l'outil Courbes de couleurs ;
    • prise en charge des calques pour l'exportation en TIFF ;
    • support Windows des polices d'écriture installées par l'utilisateur ;
    • peinture plus rapide ;
    • améliorations de la fonctionnalité de Peinture en Symétrie ;
    • nouveau mode incrémentiel pour l'outil d'éclaircissement et d'assombrissement ;
    • création préliminaire d'une sélection par l'outil de sélection à main levée ;
    • nouvel outil de transformation Décalage.
    Sommaire Améliorations et fonctionnalités Courbes et outil Courbes de Couleurs Interaction des courbes en général

    L’interaction avec les courbes a été grandement améliorée de manière générale, ce qui est bénéfique pour l'outil Courbes de couleurs mais aussi pour tous les endroits où des courbes ont besoin d'être ajustées (pour l'instant : l'éditeur de Dynamique de la Brosse et la configuration des périphériques d'entrée).

    Mouvement relatif en déplaçant des points

    Pendant le déplacement d'un point existant de courbe, il ne sautera plus directement à la position du curseur dès le clic. À la place, il se déplacera relativement avec le mouvement du curseur depuis sa position d'origine. Ceci permet de sélectionner un point avec un clic rapide sans le déplacer ou d'ajuster plus facilement sa position.

    De plus, lors du survol du curseur au-dessus d'un point ou durant le déplacement d'un point, l'indicateur de coordonnées montrera la position du point, au lieu de celle du curseur.

    Alignement sur la courbe en maintenant Contrôle

    En pressant sur la touche Contrôle (Ctrl) lorsqu'un point est déplacé ou ajouté, la coordonnée Y s'alignera avec la courbe existante. Ceci est particulièrement utile pour l'ajout de points sans modifier la courbe.

    En outre, l'indicateur de coordonnées montre la position alignée.

    Changements spécifiques à l'outil de Courbes de Couleurs

    En supplément, certaines améliorations sont spécifiques à l'outil de Courbes de Couleurs.

    Saisie numérique des coordonnées des points

    Deux nouvelles boites de saisie nommées Entrée et Sortie ont été ajoutées à l'interface de l'outil Courbes de Couleurs permettant de configurer précisément les coordonnées du point sélectionné en entrant directement des valeurs numériques ou en utilisant les boutons fléchés pour incrémenter ou décrémenter celles existantes.

    Ajout de points de courbe lisses ou anguleux

    Les points de contrôle de courbe peuvent désormais être lisses ou anguleux.

    Les points lisses produisent une courbe adoucie en sinusoïde tandis que les points anguleux produisent des variations brusques en dents de scie. Auparavant, tous les points étaient lisses et cela reste le comportement par défaut.

    Les points anguleux sont représentés par un losange au lieu d'un cercle et l'interface permet de basculer d'un type de point à un autre.

    Vidéo de démonstration de mises-à-jour de l'outil Courbes.

    Prise en charge des calques dans le format TIFF

    Grace à Tobias Ellinghaus, plus connu comme un développeur de Darktable, il est désormais possible d'exporter au format de fichier TIFF en gardant les calques intacts.

    Prise en charge de polices installées par l'utilisateur sur Windows

    Bien que non parfaitement testé, GIMP devrait avoir une prise en charge temporaire d'une nouvelle fonctionnalité de Windows 10. En effet, depuis une mise-à-jour récente de Windows 10, on peut installer des polices de caractère sans être administrateur (oui, j'ai été aussi choqué que vous quand j'ai appris que ce n'était pas possible avant !).

    Nous ajoutons donc le chemin d'accès de ces polices utilisateur dans notre recherche de polices. Comme je disais, ce n'est cependant qu'un contournement temporaire en attendant que cela soit pris en charge par fontconfig, la bibliothèque que nous utilisons pour gérer les polices de caractères.

    Notons également que ce changement n'est pas bien testé à cause de notre manque de développeurs Windows. Nous espérons surtout que cela fonctionne comme attendu, ce qui nous amène à lancer un nouvel appel : êtes-vous développeur Windows ? Aimez-vous GIMP ? Si oui, contribuez !

    Aucun de nos développeurs actuels n'utilise Windows. Les problèmes et les rapports de bugs s'empilent sur notre plateforme de suivi (la même remarque peut être faite pour macOS, au passage !), alors que GIMP est stable et particulièrement agréable sous GNU/Linux.

    Nous faisons nos B.A. du jour pour les autres OS, parfois même avec plaisir, mais il y a des limites à ce que nous pouvons faire pour des plateformes que nous n'utilisons pas. D'un autre côté, nous accueillons les patches et nouveaux contributeurs avec grand plaisir ! Ça pourrait être vous.

    Peinture numérique plus rapide

    Désormais, GIMP ne remplace plus le tampon à chaque coup de pinceau si la couleur n'a pas été changée. Dans certains cas, cela permet de peindre plus rapidement.

    L'effet secondaire de ce changement est que l'option « dégradé de couleurs » des paramètres de dynamique de Brosse est réparée quand l'image possède un profil colorimétrique.

    Mode incrémentiel pour l'outil d'éclaircissement et d'assombrissement

    L'outil d'éclaircissement et d'assombrissement est doté d'une option « Incrémentiel », comme les outils Pinceau, Crayon et Gomme, qui permet d'appliquer l'effet par incrément en fonction du déplacement du curseur en un seul mouvement au lieu de plusieurs coups de pinceau.

    Création préliminaire d'une sélection par l'outil de sélection à main levée

    L'un des changements de la version 2.10.0 qui a été beaucoup critiquée est le fait que l'outil de sélection à main levée (communément appelé le Lasso) ne crée plus la sélection immédiatement après que le périmètre ait été fermé et qu'il faut exécuter une opération supplémentaire de confirmation en appuyant sur Entrée ou en double-cliquant.

    Il s'agissait d'un choix de design délibéré pour laisser la possibilité de modifier la sélection polygonale de l'outil de sélection à main levée (surtout utile pour les sélections complexes). Néanmoins nous étions bien conscients que ce n'était pas idéal, comparé par exemple à l'outil de sélection rectangulaire qui permet d'éditer la forme du rectangle bien qu'une sélection soit déjà créée.

    L'outil de sélection à main levée fonctionne désormais de la même manière : même si une sélection est créée en préliminaire (permettant de copier ou effacer directement le contenu sans étape additionnelle), il est toujours possible d'éditer cette sélection à main levée tant qu'une nouvelle sélection n'est pas démarrée ou qu'un autre outil n'est pas utilisé.

    Un outil Décalage remplace l'action éponyme

    L'outil Décalage décale les pixels et possède une option recouvrir autour permettant de créer des motifs répétitifs.


    L'outil Décalage utilisé pour créer un motif répétable de cœur

    L'outil fonctionne désormais avec une simple interaction sur la zone de dessin, en glissant sur celle-ci pour décaler le calque, en plus de l'ancienne saisie numérique. En passant à GEGL, l'outil se dote aussi d'une prévisualisation sur l'espace de travail.

    Ce filtre est disponible via le menu Calque → Transformer → Décalage ou le raccourci Contrôle + Majuscule + o

    Déplacement simultané de guides croisés

    L'outil Déplacement peut maintenant déplacer ensemble des guides qui se croisent en les cliquant à leur point d'intersection. C'est utile lorsque les guides sont utilisés pour marquer un point plutôt que des lignes (par exemple, les guides qui marquent le centre de la symétrie « Mandala »).

    Corrections de bugs

    De nombreux problèmes ont été corrigés, certains plus sérieux que d'autres (notamment quelques plantages), et du code a été nettoyé ou factorisé. Comme d'habitude, me direz-vous !

    Pourtant, plus que les nouvelles fonctionnalités, ces corrections sont, pour moi, le cœur de cette sortie.

    Parmi les problèmes les plus ennuyeux :

    • plusieurs corrections de plantages, et plus à venir ;
    • des erreurs dans la gestion des profils colorimétriques ;
    • des changements non voulus des couleurs d'avant et arrière plans ;
    • des transformations de brosses améliorées ou réparées dans divers cas pour la peinture symétrique ;
    • quelques bugs de localisation, et particulièrement des affichages de traduction complètement « cassées » pour divers langages (a priori un bug dans la bibliothèque en dépendance Pango) ;
    • des bugs dans la gestion des formats de brosse ;

    Eh bien, ils n'existent plus ! GIMP 2.10.12 est ainsi le résultat d'environ 200 changements en 2 mois.
    Ci-dessous, nous discuterons de deux problèmes spécifiques.

    Prise en charge améliorée de la peinture symétrique

    La fonction Peinture en Symétrie a reçu plusieurs améliorations et corrections, notamment sur des artefacts qui pouvaient apparaître avec de grosses brosses, et dans les outils Clonage et Correcteur quand les bords d'une zone de dessin coupent la brosse.

    Dans l'outil Calligraphie, la forme de la brosse n'était pas proprement transformée. C'est corrigé.

    Maintenant, ouvrez simplement cette fenêtre ancrable depuis le menu Fenêtres → Fenêtres ancrables → Peinture en symétrie, choisissez le type de symétrie désirée et peignez !

    Espaces de couleur erronés à l'export

    Dans certains cas particuliers, vous pouviez vous retrouver avec des couleurs délavées à l'export. Cela venait d'une erreur de logique, conduisant à exporter des couleurs sRGB avec un profil comportant une courbe linéaire (c'était particulièrement visible dans GIMP 2.10.10 qui exportait aussi le profil par défaut quand aucun profil n'était assigné manuellement). Cela a donc été corrigé, et nous en avons profité pour améliorer la logique d'export :

    Un profil assigné explicitement est toujours suivi, et donc les pixels sont formatés d'après le profil. Si vous avez manuellement assigné un profil, GIMP doit bien entendu toujours obéir.

    Par contre, si vous n'avez pas assigné de profil colorimétrique, plusieurs stratégies différentes peuvent se produire :

    • si vous exportez dans un format avec prise en charge de grande profondeur de couleurs (par exemple PNG jusqu'à 16 bits, ou TIFF jusqu'à 64 bits), GIMP exporte dans le format de travail ;
    • si vous exportez dans un format limité à 8 bits (tel que JPEG), nous transformons les données en sRGB pour éviter les problèmes de postérisation et de distorsions dans les zones d'ombres (sauf si le format de travail est 8-bit linéaire : dans ce cas, nous l'exportons tel quel pour limiter les pertes).

    Notez bien qu'il peut encore y avoir des cas particuliers non optimaux dans la gestion des profils colorimétriques. Cela devrait être beaucoup amélioré lorsque nous ajouterons le code du travail en cours, dit « Invasion spatiale » (projet à moyen terme, nous en parlions déjà lors de la sortie de GIMP 2.10.8).

    Cela devrait arriver dans un futur pas si lointain !

    Atour de GIMP GEGL et babl

    Pendant ce cycle de développement, GEGL 0.4.16 est sorti (91 commits), ainsi que babl 0.1.64 (31 commits) et 0.1.66 (7 commits).

    Le plus gros changement pour les utilisateurs est probablement le nouveau coefficient de l'échantillonneur cubique. Jusqu'alors il donnait une interpolation douce appropriée pour certains cas, mais insuffisamment nette pour la plupart des autres usages. Maintenant dans tous les outils avec choix d'interpolation (tous les outils de transformation, l'outil Gauchir, etc.), cubic a changé et donne des résultats plus nets.

    Un autre changement notable dans GEGL est une amélioration de la gestion mémoire, en libérant conditionnellement de la mémoire de la pile (grâce à des appels manuels à malloc_trim()), qui forcent le soubassement libc à libérer de la mémoire plus souvent. Ce comportement est particulièrement approprié pour des applications utilisées longuement, avec des changements soudains dans les besoins mémoire, comme GIMP.

    En pratique, cela signifie que le processus GIMP va maintenant réduire sa mémoire utilisée beaucoup plus vite quand vous fermez de grandes images sur des systèmes supportés.

    À suivre

    Bien qu'il soit moins visible, le travail sur la version GIMP 3 avance bien. Des nouvelles arriveront bientôt. En attendant, n'oubliez que vous pouvez donner au projet et financer directement plusieurs développeurs, afin de remercier et d'accélérer le développement de GIMP.

    Nous rappelons notamment que notre projet « ZeMarmot » est toujours l'un des contributeurs principaux de GIMP et que vous pouvez le financer, ce qui résulte en du financement direct pour le développement de GIMP !

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Firefox 67.0.1 : version mineure ou majeure ?

    dim, 23/06/2019 - 12:11

    La version 67.0.1 de Firefox a été publiée le 4 juin 2019.

    De manière un peu étrange et inhabituelle, Mozilla a lancé une nouvelle fonctionnalité à l’occasion d’une mise à jour mineure. Plus exactement, la fonctionnalité existante depuis la version 63 de lutte contre le pistage intersite est désormais activée par défaut sur les nouvelles installations.

    Et elle sera étendue au fur et à mesure pour les profils existants.

    Deux séries de nouveautés mises en avant avec la sortie de cette version Protection par défaut contre le pistage intersite dans Firefox

    Cette mesure, qui consiste à bloquer les cookies tiers traqueurs, s’inscrit dans la nouvelle approche de Mozilla en la matière, annoncée en août, et le changement principal tient au fait que cette protection est active par défaut, ce qui change tout.

    Firefox rejoint en cela Safari qui a entamé un mouvement similaire en 2017. John Wilander, responsable de ce changement côté Safari, salue d’ailleurs la décision de Mozilla. Il prédit, comme d’autres, le début d’une guerre de grande ampleur de la plupart des éditeurs de navigateurs (Safari et Firefox notamment, sans doute bientôt suivis par Edge) contre le ciblage publicitaire et le viol de notre vie privée (entrepris par Google, Facebook et les autres acteurs de la publicité en ligne).

    À noter que le mode de navigation privée de Firefox continue pour le moment d’offrir une protection accrue contre le pistage en bloquant, outre ces cookies, l’essentiel des traqueurs connus (depuis la version 42).

    Quelques outils complémentaires, orientés vie privée ou sécurité, proposés par Mozilla

    Mozilla en profite pour faire la promotion de quelques‐uns de ses autres outils orientés vie privée ou sécurité :

    • l’extension Facebook Container (qui isole les sites de la galaxie Facebook — Facebook, Instagram et WhatsApp — dans un unique conteneur et fait en sorte que les sites ouverts depuis ce conteneur s’ouvrent dans un autre, rendant difficile le pistage de votre surf par Facebook) bloque désormais les boutons « Partager » et « J’aime » présents sur de nombreux sites et qui permettent à Facebook de vous observer sur ces sites ;
    • Firefox Lockwise (sous forme d’extension pour la version bureau ou d’application pour iOS — dont une version optimisée pour iPad — et Android) vous permet de mieux gérer vos mots de passe localement, mais aussi facilite leur accès depuis vos différents appareils ;
    • le service en ligne Firefox Monitor, qui permet dorénavant de renseigner plusieurs comptes de courriel pour être averti au cas où l’un d’eux serait exposé.
    PPACA, pour Privacy Preserving Ad Click Attribution, prochaine étape en matière de lutte contre le pistage

    La prochaine étape de cette guerre, devant permettre aux utilisateurs du Web de recouvrer un minimum de respect de leur vie privée par défaut, est déjà dans les tuyaux sous l’égide du WICG (Web Incubator Community Group), sorte d’antichambre du W3C : il s’agit de la spécification Privacy Preserving Ad Click Attribution. Elle est poussée par Apple (qui l’implémente déjà dans la version de développement de Safari) et semble d’ores et déjà intéresser Mozilla.

    Sur le blogue officiel de WebKit, John Wilander explique de manière très détaillée ce projet et l’idée que l’on trouve derrière, puisqu’il doit permettre aux annonceurs de continuer à mesurer l’efficacité de leurs publicités en ligne mais sans compromettre la vie privée des utilisateurs :

    « La combinaison du pistage en ligne par des sites tiers avec l’analyse de l'efficacité des campagnes publicitaires a conduit nombre de personnes à confondre le respect de la vie privée avec un Web entièrement dépourvu de publicités.
    Pour la diffusion de publicités en ligne et la mesure de leur efficacité, il n’est pas obligatoire qu’un site A, où vous avez cliqué sur une annonce, sache que vous avez acheté quelque chose sur un site B. La seule donnée nécessaire pour mesurer l’efficacité d’une publicité est le fait qu’un individu ayant cliqué sur une publicité affichée sur le site A a effectué un achat sur le site B. »

    Pour arriver à ce résultat, cette spécification met en œuvre un certain nombre de principes, parmi lesquels : toute l’information est traitée côté utilisateur, par le navigateur qui ne renvoie que des données limitées (par exemple, les identifiants ne peuvent pas dépasser six bits, c’est‐à‐dire soixante quatre valeurs, ce qui empêche de suivre un individu précis), avec un décalage dans le temps (de 24 h ou 48 h, pour éviter tout suivi en temps réel), et seulement au site visité (à l’exclusion des sites tiers). Il est également prévu que l’éditeur du navigateur lui‐même ne puisse avoir connaissance des clics publicitaires ou des conversions de l’utilisateur (OK Google ?). Enfin, en mode de navigation privée, simplement aucune donnée ne sera renvoyée par le navigateur.

    Dans la langue de Molière, on pourra lire ces deux articles pour aller plus loin.

    Nous vivons un moment exaltant.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Agenda du Libre pour la semaine 26 de l’année 2019

    dim, 23/06/2019 - 11:47

    Calendrier Web, regroupant des événements liés au Libre (logiciel, salon, atelier, install party, conférence), annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 39 événements (France : 36, Belgique : 3) est en seconde partie de dépêche.

    Sommaire [FR Rezé] Accompagnement informatique - Le lundi 24 juin 2019 de 10h00 à 12h00.

    Accompagnement informatique

    Comment passer son ordinateur sous Linux Comment installer son imprimante sous Linux Comment retrouver ses usages sur logiciels libres Comment fonctionne un ordinateur Comment entretenir soi-même son ordinateur
    L’équipe de l'association Nâga répondent aux questions de chacun-e sur le matériel, Linux et les Logiciels Libres.

    !!! Ces ateliers sont réservés aux personnes résidant dans le quartier de Rezé Château.

    [FR Montpellier] Permanence Les logiciels libres, parlons-en - Le lundi 24 juin 2019 de 17h00 à 19h00.

    Les logiciels libres parlons-en Ouvrons le dialogue sur l’ouverture des données Partageons nos expériences pour une meilleure répartition des connaissances.

    Cette permanence vous permet de rencontrer le groupe Montpel’libre, ses activités, d’être orienté vers nos ateliers et permanences techniques et d’être accompagné pour une transition digitale progressive et adaptée vers les logiciels libres.

    Proposition de programme

    • discussions autour de l’organisation d’événements
    • gestion des groupes de travail
    • propositions diverses
    • présentation de l’asso

    Montpel’libre est un Groupe d’Utilisateurs GNU/Linux et Logiciels Libres qui promeut les logiciels libres, la culture libre et les biens communs.
    Notre association se situe à la jonction des secteurs d’activités du numérique, des industries culturelles et créatives, de l’économie sociale et solidaire, du développement durable, de la recherche et formation ainsi que de l’éducation populaire et de l’éducation scientifique.
    Elle s’adresse à l’informaticien comme au néophyte, au particulier comme au professionnel ou à l’étudiant et à un public de tout âge.

    Montpel’libre exerce des activités multiples autour de six pôles

    1. PERMANENCES
    2. ATELIERS
    3. CONFÉRENCES / FORMATIONS / EXPERTISE
    4. ÉVÉNEMENTIEL
    5. TECHNIQUE / SÉCURITÉ
    6. PUBLICATION

    Et de plusieurs communautés et groupes de travail.

    Ces permanences sont suivies d’un Apéro refaire le monde convivial et partagé, de 18h30 à 21h30. Elles ont lieu au Faubourg marché, tous les vendredis de 17h00 à 19h00.
    Permanences

    • vendredi 3 mai 2019 de 17h00 à 19h00
    • vendredi 10 mai 2019 de 17h00 à 19h00
    • vendredi 17 mai 2019 de 17h00 à 19h00
    • vendredi 24 mai 2019 de 17h00 à 19h00
    • vendredi 31 mai 2019 de 17h00 à 19h00

    Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible.

    Cet événement vous est proposé dans le cadre du partenariat qui lie Le Faubourg Marché et Montpel’libre.

    Vendredis 3, 10, 17, 24 et 31 mai 2019 de 17h00 à 19h00 (tous les vendredis sauf fériés)
    Le Faubourg - 15, rue du Faubourg de Nîmes, 34 000 Montpellier

    [BE Gent] OpenTechTalks | Versiebeheer met Git en Github - Le lundi 24 juin 2019 de 19h00 à 21h30.

    Git is de belangrijkste versiebeheertool voor code. Daarnaast is Github de grootste verzamelplaats voor softwareprojecten. Het gebruik van een versiebeheertool is onontbeerlijk om het overzicht te bewaren, fouten te voorkomen en samen te werken aan een project.

    Wij lichten de principes van deze technologie toe en leren je tools kennen voor versiebeheer. Daarnaast staan wij stil bij succesvolle workflows om samen te werken en bespreken wij veel voorkomende problemen en hoe je die kan oplossen.

    De sessie is toegankelijk voor alle geïnteresseerden, maar is in de eerste plaats interessant voor personen die code schrijven zoals software, firmware, HDL, scripts, configuratiebestanden, etc. Na de workshop drinken we nog een glas in de Vooruit. Een goede IT-basiskennis is nodig voor de OpenTechTalk-demo's.

    Prijzen

    Standaardprijs - 5.00

    Kansentarief UiTPAS Gent - 1.00

    Praktische info

    Deze activiteit vindt plaats in Bibliotheek De Krook, lokaal Vos - verdieping -1.

    Partners

    Bibliotheek De Krook

    Digitaal.Talent@Gent

    Over de begeleiding

    Nico De Witte

    Piet Cordemans

    [FR Paris] Journées Wikimédia France et Ministère de l'éducation nationale - Du mardi 25 juin 2019 à 09h00 au jeudi 27 juin 2019 à 18h00.

    Wikimédia France et le ministère de l'éducation nationale, à travers son lab d'innovation, le 110bis, organisent des journées de résidence wikimédienne dans les locaux du ministère à Paris les 25 et 27 juin 2019.

    Wikipédia est l’un des dix sites les plus populaires dans le monde. Son contenu ainsi que celui de tous les autres projets Wikimédia sont créés, améliorés et mis en ligne par des bénévoles. L’objectif de l’association est de promouvoir le libre partage de la connaissance.

    Cette résidence au 110 bis sera l’occasion

    - d’élaborer de nouveaux scénarios pédagogiques d’usages de Wikipédia pour faciliter la contribution des élèves

    - de faire se rencontrer la communauté des enseignants qui utilisent Wikipédia à des fins pédagogiques d’interroger les projets pédagogiques liés aux usages de Wikipedia

    - de discuter les notions de contribution, de crowdsourcing et de digital labor

    - de se former à la contribution

    - de réfléchir à l’infrastructure de documentation du 110 bis et labs d’académie et des tiers-éducatifs.

    L’intégralité de la programmation sera ouverte aux personnels de l’éducation nationale.

    Mardi 25 Matin - Atelier de conception de scénarios d'usages pédagogiques de Wikipédia qui facilitent la contribution des élèves

    Mardi 25 Après-Midi - Atelier sur les innovations pédagogiques liées à l'usage de Wikipédia / la documentation des projets d'innovation pédagogique

    Mardi 25 Soir - Temps convivial avec la communauté des enseignants wikipédiens

    Jeudi 27 Matin - Conférence La contribution crowdsourcing et digital labour - intervenants à venir - ouvert à tous (billetterie à venir)

    Jeudi 27 Matin - Formation à la contribution

    Jeudi 27 Après-midi - Atelier sur l'infrastructure de documentation du 110 bis, des labs académiques et des tiers-lieux éducatifs

    Des ordres de mission peuvent être édités, merci de contacter Mathieu Denel.

    [FR Paris] Atelier Hebdomadaire de Contribution au Libre - Le mardi 25 juin 2019 de 10h00 à 19h00.

    Une journée de co-travail sur le thème de la contribution au logiciel libre.

    Chacun vient avec son sujet individuel avec l'intention d'y travailler aux côtés d'autres contributrices/teurs.

    Le prix d'entrée est de 25 euros pour la journée (tarif Narma).

    [FR Paris] Émission Libre à vous » - Le mardi 25 juin 2019 de 15h30 à 17h00.

    L'émission Libre à vous de l'April est diffusée chaque mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande FM en région parisienne (93.1) et sur le site web de la radio. Et l'émission est rediffusée le soir même de 21 h à 22 h 30. Le podcast est disponible rapidement après la diffusion de l'émission.

    Les ambitions de l'émission Libre à vous

    La radio Cause commune a commencé à émettre fin 2017 sur la bande FM en région parisienne (93.1) et sur Internet.

    Sur le site de la radio on lit Radio associative et citoyenne, les missions de Cause Commune sont de fédérer toutes les initiatives autour du partage et de l’échange de savoirs, de cultures et de techniques.

    Nous avons alors proposé de tenir une émission April intitulée Libre à Vous d'explications et d'échanges concernant les dossiers politiques et juridiques que l'association traite et les actions qu'elle mène.

    Une partie de l'émission est également consacrée aux actualités et actions de type sensibilisation.

    L'émission Libre à vous est principalement animée par l'équipe salariée de l'April mais aussi par des membres bénévoles de l'association et des personnes invitées.

    Donner à chacun et chacune, de manière simple et accessible, les clefs pour comprendre les enjeux mais aussi proposer des moyens d'action, tel est l'objectif de cette émission mensuelle, qui est diffusée en direct chaque mardi du mois de 15 h 30 à 17 h. Et rediffusée le soir même de 21 h à 22 h 30.

    L'émission dispose d'un flux RSS compatible avec la baladodiffusion ainsi qu'un salon dédié sur le webchat de la radio.

    [FR Montpellier] Atel’libre Inclusion Numérique - Le mardi 25 juin 2019 de 16h30 à 18h00.

    Nous initions et formons aux outils et usages numériques tous les publics qui s’en sentent éloignés, voire exclus.

    Dans les années à venir le tout numérique va s’accélérer dans nos démarches quotidiennes accès aux soins, à l’emploi, à l’énergie, aux services bancaires, caisses de retraite, loisirs, etc.
    Une grande partie de la population n’a pas jugé utile ou eut l’opportunité d’utiliser des outils numériques, ordinateurs fixes, portables, les smartphones ou les tablettes.

    Nous considérons que l’inclusion numérique est fondamentale pour réduire la fracture
    numérique, encore bien réelle, entre les générations et réduire les inégalités sociales, culturelles, d’accès à l’emploi.
    Dans un monde ultra-connecté avoir des connaissances numériques de base est devenu indispensable quel que soit son âge.

    Nous animons avec bienveillance des ateliers collectifs d’initiation et de pratique des logiciels et des outils numériques libres, en fonction de la demande des utilisateurs.

    Les thématiques que nous vous proposerons cette année

    • Hygiène informatique
    • Les bons usages sur l’Internet
    • Ranger et m’organiser
    • Entretenir son ordinateur
    • Utiliser une clé USB, un disque dur externe
    • Insérer une image
    • Mettre en page un courrier
    • Créer un tableau simple
    • Débuter sur la mise en forme
    • Progresser sur la mise en forme de textes
    • Classer ses recherches
    • Protéger son identité sur l’Internet
    • Tchatter avec une webcam
    • Utiliser les services administratifs en ligne
    • Débuter sur Internet et la messagerie
    • Le podcasting
    • Transférer et enregistrer sa musique
    • Remplir sa déclaration d’impôts
    • Faire des rencontres
    • Stockez ses données en ligne
    • Vendre, acheter, donner ses objets
    • Préparer ses vacances
    • Débuter sur la messagerie
    • Découvrir les réseaux sociaux
    • Faire des économies grâce à Internet
    • Utiliser les sites / applications pour communiquer
    • Débuter avec son téléphone portable
    • Transférer les photos de son téléphone
    • Utiliser les applications de sa tablette, son téléphone
    • Débuter sur sa tablette, son téléphone
    • Transférer et classer ses photos
    • Créer son livre photo
    • Réaliser un diaporama de photos
    • Le photomontage

    Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible.

    Cet événement vous est proposé dans le cadre du partenariat qui lie la Mpt Albert Camus de Montpellier et Montpel’libre.

    Mardis 4, 11, 18 et 25 juin 2019 de 16h30 à 18h00
    Mpt Albert Camus - 118, allée Maurice Bonafos 34 070 Montpellier

    [FR Tours] Permanence ADeTI - Le mardi 25 juin 2019 de 18h30 à 20h30.

    La permanence d'ADeTI est un moment d'accueil avec des bénévoles pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu, Linux Mint, Debian…)  mais aussi

    • réparer les problèmes de logiciels sur son ordinateur
    • prendre des conseils pour choisir des logiciels alternatifs
    • différencier les logiciels libres utilisables pour répondre aux besoins
    • préserver et réfléchir sur ses usages (vie privée, éthique…)

    Mais c'est aussi un moment consacré pour

    • partager des connaissances et échanger des savoirs
    • maîtriser les formats ouverts et la pérennité de ses documents
    • Confidentialité, intégrité et disponibilité des systèmes d'information
    • Diversité des alternatives
    • Indépendance

    Nous accueillons également des membres de l'association Touraine Data Network qui peuvent répondre aux questions concernant les réseaux connexion à Internet, alternatives aux "Box" et aux opérateurs commerciaux.

    [FR Toulouse] Apéro du Libre - Le mardi 25 juin 2019 de 19h00 à 23h00.

    Nous vous proposons un apéro mardi 25 juin à partir de 19h au bar l'Autruche (quartier St Aubin), pour parler du logiciel libre et au-delà, des communs et des actions locales

    On parlera donc culture libre, logiciels libres, monnaie libre, vie privée, neutralité du net… Que vous soyez experte, néophyte ou juste interpelé par ces sujets sans rien y connaître, tout le monde est bienvenu

    Le programme approximatif

    • vers 19h30 papote en commun

      • les petites infos du libre (improvisé en commun) : c’est le moment de partager les nouvelles du libre et d’annoncer les événements à venir
      • les projets en deux mots rapide présentation en 10 secondes de différents projets qui vous tiennent à cœur. Le but Lancer des discussions plus posées en petit groupe après
    • ensuite, décentralisation et essaimage on se répartit dans le bar un peu comme un veut et on papote, on change de table, on rigole…

    Le bar l'Autruche propose comme accompagnement des planches de fromage, saucisse ou tapenades, en plus de brasser leur propre bière

    Au plaisir de vous y retrouver en nombre

    [BE Kortrijk] DigiPinguïns Demo van 5 leuke Raspberry Pi-projecten - Le mardi 25 juin 2019 de 19h00 à 21h30.

    De Raspberry Pi is een minicomputer (de grootte van een bankkaart) met ARM-processors die tegen een minimale prijs (circa 40 euro) wordt verkocht. De Raspberry Pi werd ontwikkeld aan de Universiteit van Cambridge en is bedoeld voor educatieve doeleinden. Sinds zijn introductie in januari 2012 kent de Raspberry Pi een enorm succes bij technici allerhande (academici, onderzoekers, bedrijfswereld, hobbyisten, kunstenaars,…).

    In deze sessie demonstreren we 'hands on' een aantal Pi-projecten of concrete toepassingen

    1. Pi-hole (advertentieblokker voor je thuisnetwerk)
    2. LibreELEC/Kodi (media center)
    3. RetroPie (retro gaming)
    4. Volumio (muziekstreamer)
    5. Pi Camera (vb ifv stop-motion film)

    DigiPinguïns is een maandelijkse bijeenkomst van Linux-gebruikers en open-source-enthousiastelingen. We starten de bijeenkomst steeds met een korte nieuwsrubriek over Linux en open-source-technologie (15'), gevolgd door een demo, lezing of workshop. Tussendoor is er steeds gelegenheid voor een losse babbel, waarbij deelnemers ervaring en kennis kunnen uitwisselen (LUG of Linux User Group).

    Standaardtarief - 5.00

    Over de begeleiding

    Jürgen Van LerbergheJürgen Van Lerberghe is projectcoördinator mediawijsheid en e-inclusie bij Bib Kortrijk, met een passie voor single-board computers, #makestuff en arcade gaming.

    Steven Leeman

    [FR Brignoles] Réunions formations et débats - Le mardi 25 juin 2019 de 19h00 à 22h00.

    GULLIVAR (Groupe d’Utilisateurs de Logiciels Libres de l’Intérieur du VAR) vous invite à une soirée atelier / présentation qui aura lieu le mardi 25 juin 2019, dès 18h30, en la salle des Saint Anges, chemin de San Sumian à Brignoles.

    – Information sur l’association

    À partir de 20h30, ateliers proposés par Eric Rojas
    – Outils LibreOffice Modification de document sous WRITER

    Cette soirée est ouverte à tous, adhérents et sympathisants.
    Un accès haut débit (Ethernet & Wifi) est disponible pour la mise à jour et l’installation de distributions GNU/Linux.

    [FR Lille] Permanence associative autour du Libre - Le mardi 25 juin 2019 de 20h30 à 23h00.

    Vous avez décidé de reprendre en main votre vie numérique Venez nous rencontrer ce mardi 25 juin à 20H30 au Café Citoyen à Lille

    La permanence associative autour du Libre est une manifestation conviviale, ouverte à toutes et tous, organisée par Chtinux le dernier mardi de chaque mois.

    Rejoignez-nous pour y discuter joyeusement de Logiciel Libre, de Culture Libre, de données ouvertes (open data), de bidouille sous Linux, ou proposer vos idées d’évènements.

    C'est aussi l'occasion d'obtenir un coup de main si vous rencontrez une difficulté sous Linux, ou si vous avez besoin de conseils pour migrer sur du Logiciel Libre.

    Si vous venez avec votre ordinateur pour obtenir de l'aide technique, pour permettre à l'équipe bénévole de s'organiser, prévenez-nous via un courrier électronique à l'adresse bonjour CHEZ chtinux POINT org

    Le Café Citoyen est accessible en métro (station République - Beaux Arts). Une connexion Internet est disponible sur place.

    Pour soutenir le Café Citoyen, nous vous demandons d'y acheter au minimum une consommation. Après avoir pris votre boisson au bar, vous pouvez nous rejoindre directement au 2ᵉ étage.

    Au plaisir de vous retrouver ce mardi

    [FR Vandœuvre-lès-Nancy] L’astronomie par la simulation - Le mercredi 26 juin 2019 de 15h00 à 17h00.

    Acquérez quelques connaissances sur l’univers qui nous entoure, cela de façon ludique à l’aide d’un programme de simulation spatiale.

    Il ne s’agit nullement d’un cours scientifique, mais reste intéressant pour comprendre les concepts de base de l’astronomie.

    Horaires

    Les animations débutent à 15 h pour se terminer vers 17 h, la salle multimédia FCCL ouvre ses portes à partir de 14 h ces jours-là.

    Inscription gratuite aux animations

    La participation aux animations repose sur un système d’inscriptions préalables qui permet de répondre de façon plus ciblée aux attentes des usagers et de les associer au projet.

    L'inscription obligatoire au plus tard 30 min avant l’atelier via les contacts proposés ci-dessous ou en vous présentant dès 14 h dans la salle multimédia FCCL.

    [FR Mauguio] Permanence Infolibres Logiciels Libres et GNU/Linux - Le mercredi 26 juin 2019 de 17h00 à 19h00.

    L’équipe de Montpel’libre vous propose une permanence Logiciels Libres, discussions libres et accompagnements techniques aux systèmes d’exploitation libres, pour vous aider à vous familiariser avec votre système GNU/Linux au quotidien.

    Le contenu de l’atelier s’adapte aux problèmes des personnes présentes et permet ainsi l’acquisition de nouvelles compétences au rythme de chacun.

    Programme

    • Présentation de plusieurs distributions GNU/Linux
    • Discussions conviviales entre utilisateurs autour de Linux en général
    • Préinscription aux prochains Cafés Numériques et Install-Party ;
    • Premières explorations du système
    • Installations et configurations complémentaires
    • Mise à jour et installation de nouveaux logiciels
    • Prise en main, découverte et approfondissement du système

    Infolibres

    • Mercredi 9 janvier 2019 de 17h00 à 19h00
    • Mercredi 23 janvier 2019 de 17h00 à 19h00
    • Mercredi 13 février 2019 de 17h00 à 19h00
    • Mercredi 27 février 2019 de 17h00 à 19h00
    • Mercredi 13 mars 2019 de 17h00 à 19h00
    • Mercredi 27 mars 2019 de 17h00 à 19h00
    • Mercredi 10 avril 2019 de 17h00 à 19h00
    • Mercredi 24 avril 2019 de 17h00 à 19h00
    • Mercredi 22 mai 2019 de 17h00 à 19h00
    • Mercredi 12 juin 2019 de 17h00 à 19h00
    • Mercredi 26 juin 2019 de 17h00 à 19h00

    Les permanences Infolibres ont lieu à la Médiathèque Gaston Baissette de Mauguio, le deuxième et quatrième mercredis de chaque mois de 17h00 à 19h00, sauf périodes de vacances.

    Entrée libre et gratuite, inscription nécessaire auprès de la médiathèque au 04.67.29.50.89 ou sur inscription
    Une simple adhésion à l’association est possible et auprès de la Médiathèque de Mauguio.

    Cet événement vous est proposé dans le cadre du partenariat qui lie la Médiathèque de Mauguio et Montpel’libre.

    Mercredi 22 mai 2019 de 17h00 à 19h00 (2e et 4e mercredi, sauf fériés)
    Médiathèque Gaston Baissette - 106, boulevard de la Liberté, 34 130 Mauguio
    Inscription nécessaire

    [FR Beauvais] Atelier hebdomadaire de partage de connaissances autour des logiciels libres - Le mercredi 26 juin 2019 de 18h00 à 20h00.

    Chaque mercredi soir, l'association propose une rencontre pour partager des connaissances, des savoir-faire, des questions autour de l'utilisation des logiciels libres, que ce soit à propos du système d'exploitation Linux, des applications libres ou des services en ligne libres.
    C'est l'occasion aussi de mettre en avant l'action des associations fédératrices telles que l'April ou Framasoft, dont nous sommes adhérents et dont nous soutenons les initiatives avec grande reconnaissance.

    [FR Montpellier] Atel'libre Bricolotech Open-Bidouille - Le mercredi 26 juin 2019 de 18h30 à 20h00.

    Atel’libre spécial enfants

    • Thymio : robot éducatif open source
    • Ozobot : le petit robot intelligent
    • Scratch : créez des histoires, des jeux et des animations.

    Thymio a été créé à l’école polytechnique fédérale de Lausanne (EPFL) en collaboration avec l’école cantonale d’art de Lausanne (ECAL) en 2011. Le projet Thymio a pour objectif de rendre la découverte de l’informatique et de la technologie accessible à un large public en particulier les enfants.

    Ozobot élargissez l’horizon de vos enfants avec Ozobot, le petit robot intelligent.
    Tout est possible, votre enfant crée tout un monde d’aventure en jouant et programmant Ozobot.
    Imaginez un jouet éducatif qui ouvre les porte de la programmation informatique, des sciences et de la robotique

    Scratch est un langage de programmation graphique manipulable et exécutable par le logiciel de même nom à vocation éducative. Ainsi, Scratch est à la fois un environnement de développement et un moteur d’exécution du langage Scratch mais aussi un site web.

    Possibilités d’ouvrir d’autres atel’libres Minetest, Warmux, Hedgewars, Godot… sur demandes.

    Atelier 1 Fabriquer sa miniville connectée - Smart City (semaines impaires)
    Atelier 2 Créer soi-même son PC Grappe de bureau - Desktop Cluster (semaines paires)

    GRAPPE DE BUREAU - DESKTOP CLUSTER
    Ce projet consiste à créer un cluster à partir de dev board. Rien de nouveau, c’est vrai, encore que… La nouveauté est dans l’utilisation. Nous allons partir de matériel et logiciels entièrement libres afin de créer un PC entièrement libre.

    Définition du projet
    L’idée est de dénicher un PC entièrement libre. Peu importe la puissance de l’engin, il faut qu’il soit libre, c’est-à-dire qu’il n’ai aucun secret. Qu’aucun binaire ne soit indispensable à son fonctionnement, pas d’IME, pas d’AMT, pas de BIOS complexe et fermé. Un PC simple qui permet de naviguer sur le web, faire des travaux multimédia, interfacer avec des périphériques externes et autres composants type microcontrôleurs par exemple. Avec un peu de puissance de calcul pour la compilation. Si nous ne voulons pas de binaire, il nous faut de la puissance nécessaire pour compiler les sources.

    Il existe des boards de dev plus ou moins chères et plus ou moins libres en assemblant ces dernières nous pourrons ainsi obtenir mon PC suffisamment puissant et entièrement libre.

    Comment faire :
    Quel matériel nous pouvons utiliser :

    1. L’Orange Pi PC (v1) semble un bon candidat pour du lowcost
    2. La libre computer board, avec 1GB ou 2GB de ram
    3. L’humming board, parfait pour ceux qui ont les moyens, la board est libre sans bidouille.

    MINIVILLE CONNECTÉE - SMART CITY
    L’idée est de produire une miniville interactive. Ce qui nous intéresse ici c’est surtout la route et la circulation, mais avoir des maisons et commerces en plus peut être sympa. Ce projet implique de la conception 2D/3D, de l’électronique, de l’urbanisme et de la programmation. La réalisation devra être accessible à des enfants, contenir peu d’intelligence au début et évoluer de manière interactive. Les éléments qui composent la ville devront être interdépendants mais capable d’entrer en interaction et interchangeable.

    Définition du projet
    Que peut-on apprendre avec ce projet

    • Fonctionnement et utilisation des composants de bases résistance, led, transistor, condensateur
    • Conception et miniaturisation via circuits intégré ou mini micro contrôleurs
    • Montages électroniques de base branchement d’un moteur, d’un servomoteur, leds, capteurs
    • Se documenter en lisant les spécifications du matériel ou en s’inspirant de montage existant
    • Impressions de circuit imprimé, de décor, de châssis de voiture, de structure de bâtiment à l’aide d’une CNC.

      • Impressions complémentaires de la CNC via une imprimante 3D
      • Réflexion autour de la conception des éléments de base (voiture, route, signalisation)
      • Gestion de l’énergie, comment alimenter les feux, les voitures.
      • Comment gérer la synchronisation des feux
      • Comment gérer les interactions entre les voitures
      • Comment fixer les feux à la route. Je rappelle que la route est éphémère. C’est une feuille de papier avec des lignes au marqueur.
      • Comment associer les plaques de routes (Cela dépend beaucoup de la gestion de l’énergie et de la synchronisation)
    • Programmation de microcontrôleurs.

    • Recyclage de matériel existant avec une reprogrammation de microcontrôleurs ou des assemblages de relais, optocoupleur, etc.

    Comment faire :
    Le projet se présente sous une forme itérative, afin d’avoir rapidement quelque chose qui fonctionne à chaque itération. C’est pour cela que nous vous donnerons une piste pour commencer, mais rien ne sera imposé

    • Feux tricolores de signalisation
    • Comportement des feux tricolores
    • Ajout de feux piétons
    • Gestion d’interruption

    POURQUOI LES LOGICIELS LIBRES :
    Pourquoi vouloir avec les sources et le logiciel libre Pour

    1. Refuser l’obsolescence programmée
    2. Pouvoir mettre fin au chantage lié aux données personnelles
    3. Être capable de s’assurer que les matériels et les logiciels que nous utilisons font bien ce qu’ils sont censés faire.
    4. Réduire la fracture technologique en permettant à chacun de s’intéresser au fonctionnement de ce qui inonde notre quotidien.
    5. Faciliter l’amélioration continue, chacun peut apporter selon son envie, son internet, ses possibilités.

    Les places à cet atelier sont limitées, il est donc préférable de s’inscrire avant.
    Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible.

    Mercredis 5, 12, 19 et 26 juin 2019 de 18h30 à 20h00 (tous les mercredis)
    DoTank au 2, rue du Pavillon, 34 000 Montpellier

    [FR Grenoble] Session Hack du Mercredi - Le mercredi 26 juin 2019 de 19h00 à 23h00.

    Séance du mercredi soir au LOGal

    C'est ouvert à tout le monde, vous êtes les bienvenu.e.s

    N'hésitez pas à passer nous voir pour rencontrer nos membres, découvrir leurs projets ou participer

    [FR Rennes] "Espace" commun pour le libre - Le mercredi 26 juin 2019 de 19h00 à 21h00.

    Temps de rencontre ouverte, sur la question commune d'un "espace" pour les projets Communs et Libres à Rennes. L'intention est décrite dans ce billet https://blog.tchack.xyz/un-espace-commun-pour-le-libre-rennais.html

    Ça parlera historique, points de vue et… pistes d'action La documentation de tout ça est en cours de contribution sur le wiki-rennes !

    Vous êtes donc tou·tes bienvenu·es pour participer à la discussion, qui se veut le plus ouverte possible à ce stade.

    (Repli prévu à la MCE en cas de pluie).

    [FR Malakoff] La bataille du Libre - Le mercredi 26 juin 2019 de 20h00 à 23h59.

    Projection-débat organisée à 20h par la Bibliothèque Associative de Malakoff BAM, en présence du réalisateur

    [FR Paris] Drupagora - Le jeudi 27 juin 2019 de 09h00 à 18h00.

    Drupagora, l’évènement qui vous apporte, en une journée, un concentré de technos, méthodes et retours d’expérience pour assurer le succès de vos projets digitaux.

    400 participants, 20 conférences et retours d’expérience, des dizaines de rendez-vous d’experts, 10 partenaires dédiés à la transformation digitale.

    Dans un contexte d’hyperspécialisation des écosystèmes digitaux, le rôle des CDO, CMO & CTO* est de faire des choix éclairés d’architecture, de technologies, de méthodes et de prestataires pour relever le challenge de la performance digitale.

    Ateliers, conférences, rendez-vous one-to-one avec des experts, venez rencontrer vos pairs et participer à un évènement exceptionnel autour de l’écosystème Drupal

    #0%Bullshit  #100%ROI

    [FR Choisy-le-Roi] Passage en seine - Du jeudi 27 juin 2019 à 10h00 au dimanche 30 juin 2019 à 20h00.

    Pas Sage en Seine (PSES) est une rencontre consacrée aux logiciels libres, au hacking et sa culture qui se déroule tous les ans depuis 2008 en fin de mois de juin, en Île-de-France (principalement Paris et Choisy-le-Roi).

    Programme en ligne https://programme.passageenseine.fr

    [FR Rezé] Accompagnement informatique - Le jeudi 27 juin 2019 de 10h00 à 12h00.

    Accompagnement informatique

    Comment passer son ordinateur sous Linux Comment installer son imprimante sous Linux Comment retrouver ses usages sur logiciels libres Comment fonctionne un ordinateur Comment entretenir soi-même son ordinateur
    L’équipe de l'association Nâga répond aux questions de chacun-e sur le matériel, Linux et les Logiciels Libres.

    !!! Ces ateliers sont réservés aux personnes résidant dans le quartier de Rezé Château.

    [FR Rezé] Groupes d’Entraide Mutuelle - Le jeudi 27 juin 2019 de 16h00 à 18h00.

    Accompagnement informatique

    Groupes d’Entraide Mutuelle

    Comment passer son ordinateur sous Linux Comment installer son imprimante sous Linux Comment retrouver ses usages sur logiciels libres Comment fonctionne un ordinateur Comment entretenir soi-même son ordinateur
    Venez poser vos questions lors du GEM hebdomadaire Les adhérent-e-s et l’équipe de Nâga répondent aux questions de chacun-e sur le matériel, Linux et les Logiciels Libres.

    Tarif

    • GEM pour 3 mois 20
    • GEM pour 1 an 50 ou gratuit pour les personnes ayant adhéré à l'association avec l’acquisition d’un ordinateur.

    Horaire

    [FR Bordeaux] Jeudi Giroll - Le jeudi 27 juin 2019 de 18h30 à 20h30.

    Les membres du collectif Giroll, GIROnde Logiciels Libres, se retrouvent une fois par semaine, pour partager leurs  savoir-faire et expériences autour des logiciels libres.

    Et ce jeudi nous accueillons aussi le premier Meetup Debian France sur Bordeaux https://www.agendadulibre.org/events/19602

    [FR Bordeaux] Meetup Debian 2019/1 - Le jeudi 27 juin 2019 de 18h30 à 20h00.

    Bonjour à tous,

    Nous vous invitons à nous rejoindre pour notre premier Meetup sur Bordeaux

    Le thème sera le suivant Présentation de la distribution GNU/Linux Debian. Son organisation et ses projets. »

    Une page sur le Wiki Debian est dédiée à l'évènement https://wiki.debian.org/DebianEvents/fr/2019/Meetup1

    Si vous ou votre entreprise souhaitez participer aux frais pour l'apéritif, vous pouvez contacter le CA de Debian France (ca@france.debian.net).

    À bientôt

    [FR Grenoble] Session Hack du Jeudi - Le jeudi 27 juin 2019 de 19h00 à 23h00.

    Séance du jeudi soir au LOGal

    C'est ouvert à tout le monde, vous êtes les bienvenu.e.s

    N'hésitez pas à passer nous voir pour rencontrer nos membres, découvrir leurs projets ou participer

    [FR Paris] Soirée de Contribution au Libre et contrib'atelier de Framasoft Mobilizon avec Pouhiou - Le jeudi 27 juin 2019 de 19h30 à 22h00.

    Parinux propose aux utilisateurs de logiciels libres de se réunir régulièrement afin de contribuer à des projets libres. En effet, un logiciel libre est souvent porté par une communauté de bénévoles et dépend d'eux pour que le logiciel évolue.

    Nous nous réunissons donc tous les jeudis soirs dans un environnement propice au travail (pas de facebook, pas de télé, pas de jeux vidéos, pas de zombies).

    Vous aurez très probablement besoin d'un ordinateur portable, mais électricité et réseau fournis.

    En cas de difficulté, vous pouvez joindre un des responsables de la soirée, Emmanuel Seyman (emmanuel (at) seyman.fr), Paul Marques Mota mota (at) parinux.org, ou Magali Garnero (Bookynette) tresorier (at) parinux.org.

    Pour obtenir le code d'entrée de la porte cochère, envoyez un mail au responsable.

    On peut amener de quoi se restaurer (Franprix, 8 rue du Chemin Vert, ferme à 22h)

    Regazouillez sur Twitter - Wiki des soirées

    Programme non exhaustif

    • Fedora (sa traduction)
    • Parinux, ses bugs et son infrastructure
    • April,… y a toujours quelque chose à faire
    • Open Food Facts/ Open Beauty Facts, sa base de données, ses contributeurs, sa roadmap
    • Schema racktables, son code
    • Agenda du Libre, mise à jour et amélioration du code
    • Ubuntu-Fr, son orga, ses événements
    • En vente libre, maintenance et commandes
    • Open street map, une fois par mois
    • Linux-Fr sait faire
    • en vente libre

    tout nouveau projet est le bienvenu.

    Tous les 1ᵉʳˢ jeudis => L'association ouvre-boite organise une réunion pour ses membres.

     Tous les 3ᵉ jeudis, dès 18h45, le groupe de travail Sensibilisation de l'April se réunit pour réfléchir à mieux communiquer vers le grand public et à 20h30, le groupe transcriptions prend le relais et transcrit ou relit des transcriptions.

    Tous les 4ᵉ jeudis, des membres de Framasoft organisent des contrib'ateliers et vous invitent à venir participer, tester ou améliorer des logiciels libres

    [FR Toulouse] Repas du Libre - Le jeudi 27 juin 2019 de 20h00 à 23h00.

    Le groupe d'utilisateurs de logiciels libres de Toulouse Toulibre en collaboration avec Tetaneutral.net fournisseur d'accès internet et hébergeur libre proposent aux sympathisants de se retrouver l'un des mardis ou jeudis de chaque mois pour échanger autour des logiciels libres, des réseaux libres, discuter de nos projets respectifs et lancer des initiatives locales autour du Libre. Ce repas est ouvert à tous, amateurs de l'esprit du Libre, débutants ou techniciens chevronnés.

    Ce Qjelt aura lieu le jeudi 27 juin 2019 à 20h30, au restaurant la Paniolade situé au 146 Boulevard de Suisse à Toulouse. C'est à proximité des ponts jumeaux et des minimes, et donc accessible par bus ou métro même tard le soir (bus 16 ou métro B en marchant un peu). Il n'y a pas de formule prévue, c'est à la carte pizzas, viandes, poissons, salades…

    Pour des raisons de logistique, une inscription préalable avant la veille est souhaitée sur toulibre.org/qjelt.

    [FR Montpellier] Permanence Les logiciels libres, parlons-en - Le vendredi 28 juin 2019 de 17h00 à 19h00.

    Les logiciels libres parlons-en Ouvrons le dialogue sur l’ouverture des données Partageons nos expériences pour une meilleure répartition des connaissances.

    Cette permanence vous permet de rencontrer le groupe Montpel’libre, ses activités, d’être orienté vers nos ateliers et permanences techniques et d’être accompagné pour une transition digitale progressive et adaptée vers les logiciels libres.

    Proposition de programme

    • discussions autour de l’organisation d’événements
    • gestion des groupes de travail
    • propositions diverses
    • présentation de l’asso

    Montpel’libre est un Groupe d’Utilisateurs GNU/Linux et Logiciels Libres qui promeut les logiciels libres, la culture libre et les biens communs.
    Notre association se situe à la jonction des secteurs d’activités du numérique, des industries culturelles et créatives, de l’économie sociale et solidaire, du développement durable, de la recherche et formation ainsi que de l’éducation populaire et de l’éducation scientifique.
    Elle s’adresse à l’informaticien comme au néophyte, au particulier comme au professionnel ou à l’étudiant et à un public de tout âge.

    Montpel’libre exerce des activités multiples autour de six pôles

    1. PERMANENCES
    2. ATELIERS
    3. CONFÉRENCES / FORMATIONS / EXPERTISE
    4. ÉVÉNEMENTIEL
    5. TECHNIQUE / SÉCURITÉ
    6. PUBLICATION

    Et de plusieurs communautés et groupes de travail.

    Ces permanences sont suivies d’un Apéro refaire le monde convivial et partagé, de 18h30 à 21h30. Elles ont lieu au Faubourg marché, tous les vendredis de 17h00 à 19h00.
    Permanences

    • vendredi 7 juin 2019 de 17h00 à 19h00
    • vendredi 14 juin 2019 de 17h00 à 19h00
    • vendredi 21 juin 2019 de 17h00 à 19h00
    • vendredi 28 juin 2019 de 17h00 à 19h00

    Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible.

    Cet événement vous est proposé dans le cadre du partenariat qui lie Le Faubourg Marché et Montpel’libre.

    Vendredis 7, 14, 21 et 28 juin 2019 de 17h00 à 19h00 (tous les vendredis sauf fériés)
    Le Faubourg - 15, rue du Faubourg de Nîmes, 34 000 Montpellier

    [FR Vandœuvre-lès-Nancy] Assemblée conviviale - Le vendredi 28 juin 2019 de 18h00 à 20h00.

    La FCCL vous invite à participer à la prochaine assemblée conviviale le vendredi 28 juin 2019 à partir de 18 h 00, dans le local informatique, second étage de la Médiathèque Jules Verne.

    Nous vous proposons le thème suivant comme fil rouge pour cette prochaine rencontre Quels moyens et outils (alternatifs) pour un échange plus participatif ». Nous réfléchissons à des solutions que nous présenterons à l’assemblée, n’hésitez pas à faire de même de votre côté.

    Il y sera également discuté de ce qui peut être fait sur Vandœuvre avec les partenaires locaux.

    Si vous êtes intéressé, envoyez un courriel à contact@fccl-vandoeuvre.fr.

    [FR Paris] Apéro April - Le vendredi 28 juin 2019 de 19h00 à 22h00.

    Un apéro April consiste à se réunir physiquement afin de se rencontrer, de faire plus ample connaissance, d'échanger, de partager un verre et manger mais aussi de discuter sur le logiciel libre, les libertés informatiques, fondamentales, l'actualité et les actions de l'April…

    Un apéro April est ouvert à toute personne qui souhaite venir, membre de l'April ou pas.

    N'hésitez pas à venir nous rencontrer.

    Où et quand cela se passe-t-il

    L'apéro parisien aura lieu vendredi 28 juin 2019 à partir de 19h00 dans les locaux de l'April.

    L'adresse
    April, 44/46 rue de l'Ouest, bâtiment 8, 75 014 Paris (entrée possible par la place de la Catalogne, à gauche de la Biocoop).
    Métros Gaîté, Pernety, Montparnasse. Sonner à "April" sur l'interphone.
    Le téléphone du local 01 78 76 92 80.

    L'Apéro a lieu à Paris notamment parce que le local s'y trouve ainsi que l'équipe salariée et de nombreuses personnes actives au sein de l'association. Pour les apéros dans les autres villes voir sur le pad plus bas.

    En ouverture de l'apéro nous ferons un court point sur les dossiers/actions en cours.

    Le glou et le miam

    Vous pouvez apporter de quoi boire et manger afin de reprendre des forces régulièrement. Nous prévoirons bien sûr un minimum vital.

    Vous pouvez vous inscrire sur le pad.

    [BE Grivegnée] Linux Install Party - Le samedi 29 juin 2019 de 14h00 à 17h00.

    Venez rencontrer une équipe de passionnés, tous les derniers samedis du mois, de septembre à juin, de 14h00 à 17h00 pour venir installer un Linux sur votre ordinateur.

    On y installera ce que vous voulez ou, si vous n’avez pas d’idée, on cherchera avec vous ce qui vous conviendra le mieux.

    [FR Marseille] Install Party GNU/Linux - Le samedi 29 juin 2019 de 14h00 à 19h00.

    L’association CercLL (CercLL d’Entraide et Réseau Coopératif autour des Logiciels Libres) vous invite à une install party GNU/Linux, le samedi 29 juin 2019 de 14h00 à 19h00, dans la salle du Foyer du Peuple 50 rue Brandis 13 005 Marseille.

    Vous avez envie de découvrir un système d’exploitation libre, simple d’utilisation, stable, rapide et sécurisé. Une nouvelle façon d’utiliser votre ordinateur.

    Vous vous sentez une affection naissante pour le Gnou et le Manchot, les mascottes de GNU/ Linux.

    Au programme

    DÉCOUVERTE de l’univers des logiciels libres.

    INSTALLATION d’un environnement GNU/ Linux, ainsi que le meilleur des logiciels libres.

    Venez avec votre ordinateur, nous installerons ensemble une distribution GNU/Linux avec un ensemble de logiciels libres et gratuits pour une utilisation quotidienne.

    Ouvert à tous – accessible aux débutant-e-s

    Une participation de 2 euros est demandée.

    L’adhésion à l’association est de 20 euros annuelle.(L’adhésion n’est pas obligatoire).

    Plan d’accès

    [FR Rouen] Journée Mensuelle du Logiciel Libre - Le samedi 29 juin 2019 de 14h00 à 18h00.

    Le samedi 29 juin, 2019, nous organisons notre Journée Mensuelle du Logiciel Libre à la Maison St Sever à Rouen. (Rez-de-chaussée, Centre Commercial St Sever, 10-12 rue Saint-Julien 76100 Rouen) de 14h00 à 18h00.

    On fera connaissance avec la toute dernière version de openSUSE, la openSUSE Leap 15.1, Gnome 3.32, LibreOffice 6.2.3 et beaucoup d’autres distributions Linux.

    SUSE Linux Enterprise 15 SP1 sera aussi de la partie et comme vous le savez est la pièce maitresse de openSUSE Leap 15 et qui est aussi maintenue par des ingénieurs SUSE.

    Nous distribuerons gracieusement des DVDs openSUSE 15.1 de 64 Bits à nos visiteurs dans la limite du stock disponible.

    Le Raspberry Pi 3 ainsi que les Raspberry Pi 2 seront aussi à votre disposition pour votre plaisir de coder

    On pourra discuter du Noyau 5.1 (6 Mai, 2019), si le temps le permet.

    Voici aussi une liste des démonstrations de logiciels libres (FOSS) que nous vous proposerons
    https://nui.fr/blog/logiciels-libres-a-vous-proposer-comme-installation/

    Si vous voulez présenter une distribution Linux ou un logiciel libre, contactez-moi assez rapidement pour la logistique.

    Nous allons axer des sessions sur la Cybersécurité et l’interopérabilité, de sorte à vous orienter vers une migration en douceur vers le logiciel libre. La Cybersécurité et l'interopérabilité ont toujours été notre fer de lance.

    STOP PRESSE Nous avons des magazines à distribuer et couvrant openSUSE Leap 15 Linux..

     

    [FR Juvisy-sur-Orge] Permanence GNU/LINUX - Le samedi 29 juin 2019 de 14h30 à 17h00.

    Permanence GNU/LINUX, installation et maintenance par LINESS en partenariat avec le CIJ (Club informatique de Juvisy-sur-Orge).

    Il s'agit d'une assistance pour vous aider à installer et utiliser LINUX, mais ce n'est pas un cours à proprement parler.

    Aucune inscription préalable n'est nécessaire, aucune assiduité n'est requise.

    Quand vous avez un problème vous passez nous voir.

    ATTENTION Changement de lieu voir détails sur le site de LINESS

    Attention du fait des travaux de la gare l'accès en voiture peut être difficile.

    Éventuellement stationner parc Danaux (à côté du pont sur la Seine) qui est gratuit le samedi après-midi (3mn à pied après pour aller au CIJ).

    Par contre c'est tout à côté de la gare.

    [FR Vandœuvre-lès-Nancy] Découverte de Minetest - Le samedi 29 juin 2019 de 15h00 à 17h00.

    Familiarisez-vous avec un jeu vidéo permettant la création collective, dont les seules limites sont l’imagination

    Horaires

    Les animations débutent à 15 h pour se terminer vers 17 h, la salle multimédia FCCL ouvre ses portes à partir de 14 h ces jours-là.

    Inscription gratuite aux animations

    La participation aux animations repose sur un système d’inscriptions préalables qui permet de répondre de façon plus ciblée aux attentes des usagers et de les associer au projet.

    L'inscription obligatoire au plus tard 30 min avant l’atelier via les contacts proposés ci-dessous ou en vous présentant dès 14 h dans la salle multimédia FCCL.

    [FR Marseille] Atelier-apéro de dé-GAFAM-isation intensive - Le samedi 29 juin 2019 de 15h30 à 18h30.

    Pour bien commencer l'été, libérez-vous des GAFAMs (Google, Amazon, Facebook, Apple, Microsoft) en accédant à des alternatives libres.

    Deux spécialistes du numérique libre de l’association RevLibre vous proposent un atelier-apéro de dé-GAFAM-isation intensive et de libération de votre vie numérique en petit groupe (programme en fin de mail).

    Ordinateur portable, tablette et téléphone venez équipés à l’atelier

    Rendez-vous le samedi 29 juin de 15h30 à 18h30 dans les locaux de Mille-Bâbords au 61 rue Consolat, 13001 Marseille. L'atelier sera suivi d’un apéro

    Participation de 15 par personne - réservation obligatoire - par téléphone au 06 31 15 80 40 ou par mail à contact@revlibre.org.

    Le nombre de places est limité à 15 personnes, n'hésitez pas à faire tourner l'annonce pour que le nombre minimum de personnes (10) soit atteint.

    Au programme

    1. comprendre comment les GAFAM nous pistent et utilisent nos données, apprendre la navigation web sécurisée pour soi et ses proches

    2. connaître les mails et clouds alternatifs (comparer, réfléchir à ses besoins, y souscrire pour ceux qui sont prêts, le faire plus tard chez soi pour les autres);

    3. libérer son téléphone mobile(uniquement les Android, pas les iPhone) et sa tablette (à son rythme, selon ses usages, sur place ou plus tard, nous vous donnons les clés, vous aurez tout l'été pour y travailler et avancer, puis nous serons là à la rentrée pour aller plus loin)

    Le prix comprend la location de la salle, le matériel utilisé, les documents imprimés pour chaque participant, l'apéro.

    Tout surplus que vous déciderez de verser sera donné aux projets et logiciels libres utilisés pendant l'atelier, les dons sont annoncés de façon détaillée sur le site de l'association chaque trimestre.

    [FR Montpellier] Ateliers ouverts - Le dimanche 30 juin 2019 de 10h00 à 18h00.

    Le Dernier dimanche du Mois c'est des ateliers ouverts dans un BIB, le hackerspace de Montpellier ouvert de 10h à 18h.

    Au cours de chaque dimanche nous proposons une thématique plus ou moins liée à l'actualité mais si tu as envie ou besoin de réparer une machine, discuter d'un sujet, monter un mur, partager une recette, etc. tu es le·a bienvenu·e.

    Certains viendront résoudre un problème particulier, d'autres travailleront à améliorer les lieux, d'autres encore viennent simplement partager le repas (tiré du sac).

    Si tu veux proposer des sujets, des projets et que tu as des besoins spécifiques tu peux prendre contact avec le BIB à l'avance.

    [FR Toulouse] 1ʳᵉ rencontre francophone autour de /e/ - Le dimanche 30 juin 2019 de 19h00 à 22h00.

    Salut,

    Depuis plus d'un an, je suis bénévole pour l'association /e/ Foundation fondée par Gaël Duval (développeur de solutions libres comme Mandrake, Ultéo).

    Je prends l’initiative d’organiser cette rencontre pour parler/présenter le projet eOS. C’est un système alternatif à celui installé dans les téléphones Google. Il est aussi basé sur Android et pourvu d’un magasin d’applications dans lequel les utilisateurs/trices pourront retrouver les applications libres de F-Droid ainsi que les applications les plus populaires du PlayStore.

    Les buts de ce système /e/ et sa fondation sont les suivants

    • Sensibiliser les utilisateurs/trices à la protection de leur vie privée numérique et les accompagner vers des alternatives sans perturber brutalement leurs habitudes
    • Retarder l'obsolescence des téléphones car ce système, dénué des services de Google, est plus léger et mis à jour par les développeurs de l’asso et bénévoles
    • Proposer une alternative libre et complète aux services proposés par les GAFAM en unissant/adaptant les solutions libres déjà disponibles au sein d'un écosystème cohérent, accessible au grand public et respectant la vie privée de ses utilisateurs/trices.

    Pour celles et ceux qui connaissent /e/, cet évènement a aussi pour but de proposer aux gens qui composent la communauté /e/ de se rencontrer en personne, en vrai, en chair et en os Alors à bientôt pour cet Ap/e/ro

    P.S Le restaurant Açaï a la gentillesse d'accueillir facilement cet évènement en dehors de ses horaires d'ouverture et demande que chaque personne prenne au moins une consommation

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus