Syndiquer le contenu
Mis à jour : il y a 9 heures 49 min

Printemps 2017 de Mozilla : Firefox 52 à 54 et Thunderbird 52

19 juin, 2017 - 08:00

Mozilla a annoncé début 2017 que le cycle de sortie de Firefox ne sera plus fixe à huit semaines, mais qu’il pourra être plus rapide grâce à l’abandon des versions Firefox Aurora.

Cette annonce s’est clairement concrétisée ce printemps avec trois sorties de versions de Firefox à quatre mois d’intervalle (version 52 le 7 mars 2017, version 53 le 19 avril et version 54 le 13 juin).

Comme la communauté LinuxFr.org n’avait pas anticipé ces changements, nous sortons tardivement une nouvelle dépêche pour annoncer les modifications majeures de ces versions. Vous ne trouverez sûrement plus l’ancien style de dépêche qui profitait d’intervalles de huit semaines pour faire des annonces spécialisées par version.

Une nouvelle ère débute pour les dépêches collaboratives concernant Firefox et Mozilla, n’hésitez pas à venir contribuer dans l’espace de rédaction pour adapter notre communauté LinuxFr.org au futur.

Sommaire Firefox, Thunderbird : version 52 avec maintenance à long terme (ESR)

Cette dépêche était d’abord conçue traditionnellement pour la version 52, cette section sera donc particulièrement longue et disproportionnée. Ce sont les aléas des nouveaux styles de rédaction, mais vous pouvez nous aider à faire mieux en contribuant aux dépêches collaboratives dans l’espace de rédaction.

Nous nous permettons d’insister pour vous rappeler que ces dépêches sont collaboratives et qu’elles ne sont pas des notes de version. Vous ne pourrez y découvrir que ce dont la communauté à envie de parler. Si vous pensez qu’il manque une information importante ou qu’il y en a trop, venez contribuer !

Greffons NPAPI

La gestion des greffons NPAPI nécessaire à Flash, Java et GNOME Shell pour fonctionner dans le navigateur a été supprimée, comme annoncé. Seul la gestion du greffon Flash est restée, car cette technologie traîne encore beaucoup sur le Web, même si HTML 5, CSS 3 et JavaScript sont de nos jours clairement recommandés.

Pour les utilisateurs du bureau GNOME, pensez donc soit à utiliser GNOME Logiciel pour installer des extensions, soit à mettre à jour votre configuration en installant l’extension permettant d’accéder au site officiel des extensions pour GNOME Shell en remplacement du greffon utilisé jusqu’alors (/usr/lib/mozilla/plugins/libgnome-shell-browser-plugin.so, qui n’est plus nécessaire). L’installation se fait en deux temps : il faut installer le connecteur natif (des paquets sont proposés pour Arch, Debian, Fedora, Gentoo et Ubuntu) et l’extension (en version 8 minimum).

Bénéfice accessoire de ce changement (remplacement d’un greffon par une extension) : cela limite la possibilité d’identification par la technique du fingerprinting (tout site peut interroger votre navigateur pour connaître la liste des greffons installés).

Utilisateur de Windows, préparez‐vous à vous séparer de Silverlight, Java, Acrobat & Co (l’exception étant le greffon Flash).

Sécurité et authentification

Mozilla a retiré la prise en charge des certificats utilisant l’algorithme de signature SHA-1 : cet algorithme de hachage continue son obsolescence progressive, après le retrait pour les nouveaux certificats, Mozilla étend la restriction à tous les certificats. L’utilisateur pourra passer outre, pour l’instant, pour ne pas bloquer les situations d’utilisation de certificats auto‐signés ou d’une [infrastructure à clefs publiques] interne souvent utilisée en entreprise.

Nous voyons de nouveau un avancement conjoint des éditeurs des principaux navigateurs (Mozilla, Microsoft et Google) sur les questions de sécurité. Ce retrait, comme l’était celui de RC4, est prévu pour être progressif et avec un calendrier public des mesures. Notons que SHA-1 resterait utilisé sur 0,8 % des sites Web dans le monde, ce qui signifie que cette amélioration majeure de sécurité devrait avoir peu d’impact sur l’utilisation actuelle du Web. Cette annonce est d’autant plus importante que Google a annoncé l’utilisation réussie de collision sur SHA-1.

Un autre point concernant la sécurité et la confidentialité a été ajouté : la spécification Strict Secure Cookies a été mise en place. Cette spécification empêche la création de cookies avec l’attribut secure depuis un site non sécurisé, c’est‐à‐dire avec l’origine http:// au lieu de https://. Cette spécification permet aussi d’empêcher un site non sécurisé de paramétrer un cookie avec le même nom qu’un cookie secure existant sur le même domaine.

Pour la confidentialité, Mozilla a également amélioré la demande de permission pour le partage de fenêtre et d’écran avec un site Web :

  • lors d’un partage de fenêtre, le bouton d’autorisation donne un aperçu complet de ce qui sera partagé : 

  • lors du partage d’écran complet, un avertissement de sécurité est affiché à l’utilisateur avec un aperçu de l’écran : 

Ainsi, l’utilisateur sait ce qu’il va partager et il est clairement prévenu que cette permission ne doit vraiment être donnée uniquement qu’aux sites de confiance.

Autres améliorations
  • Firefox gère nativement le nouvel outil de programmation WebAssembly en cours de standardisation ;
  • Firefox détecte les redirections vers des portails captifs qui demandent une authentification sur le réseau avant de laisser l’utilisateur naviguer sur le Web. Mozilla utilise cette détection pour permettre l’ouverture du portail dans un nouvel onglet et ne plus déranger l’onglet courant de l’utilisateur ;
  • le gestionnaire de téléchargement a reçu quelques améliorations : le bouton de la barre d’outils indique quand un téléchargement a échoué, les cinq derniers téléchargements sont accessibles (au lieu de trois) et les boutons d’interactions ont été agrandis (pour annuler et redémarrer le téléchargement) ;
  • les réglages audio ont été améliorés, mais ils nécessitent dorénavant le gestionnaire de son PulseAudio sous GNU/Linux ;
  • pour Android, la taille du fichier d’installation APK a été réduite de plus de 5 Mio, pour un téléchargement et une installation plus rapide sur réseau mobile ;
  • pour Android, les boutons de contrôles vidéo sont ajoutés dans une notification système ;
  • l’API donnant l’état de la batterie a été entièrement enlevée pour diminuer le traçage des utilisateurs par les sites Web.
Installer Firefox 52 ESR

Les utilisateurs de versions Windows 32 bits (XP SP2 minimum), Windows 64 bits (Windows 7 minimum), macOS en 32 ou 64 bits (version 10.9 Mavericks minimum) et GNU/Linux en 32 ou 64 bits peuvent installer cette nouvelle version de Firefox [source].

En revanche, faites attention, car c’est la dernière version dont la compatibilité sera assurée avec Windows XP et Vista. Heureusement, c’est une version à maintenance étendue (ESR), ce qui laisse un peu de temps aux utilisateurs concernés !

Les utilisateurs d’Android (version 4.0 Ice Cream Sandwich minimum) sur x86 ou ARM (ARMv7 minimum) peuvent également installer cette nouvelle version de Firefox [page de téléchargement].

Une version spécifique (non basée sur le moteur de rendu développé par Mozilla) existe également pour iOS (version 8.2 minimum) [source].

Enfin, rappelons qu’il existe dorénavant un paquet Flatpak de la version Développeur de Firefox auquel s’ajoutent dorénavant des paquets Flatpak pour les versions Nightly et Nightly pour Wayland ! Attention toutefois, car cette dernière version est très expérimentale.

Thunderbird 52 ESR

La communauté Thunderbird profite de cette version 52 ESR pour sortir une nouvelle version de son client de messagerie créé sur le moteur (Gecko) de Firefox. La dernière version sortie de Thunderbird datait du moteur 45 (ESR également).

Thunderbird fait donc un saut en avant important concernant les nouveautés de fond, car il profite de tous les développements faits sur Firefox depuis la version 45.

Pour ce qui est spécifique au client de courriel nous noterons les points suivants :

  • l’éditeur de courriel ne copie plus directement les fichiers et images dans les courriels, un bandeau d’avertissement demande si l’action est voulue ou non avant d’insérer le fichier ;
  • l’éditeur de courriel insère dorénavant les images comme des adresses URL de données (schéma data:) ce qui permet d’améliorer la compatibilité avec MS Office et LibreOffice ; comme les données sont insérées directement sans référence à d’autres parties de message, les images insérées depuis d’autres messages sont correctement affichées ; il est à noter que les images insérées par URL http:// ne sont plus automatiquement téléchargées, mais laissées ainsi ;
  • la vue des dossiers sur la gauche a été améliorée (pour l’activer, passer par le menu Affichage > Barre d’outils > Barre du panneau des dossiers) : un sélecteur au sommet des dossiers permet de passer rapidement de la liste des dossiers unifiés, des dossiers non lus, des dossiers préférés (et avec leurs versions compactes sans arborescence des comptes) ;
  • par défaut, pour les nouveaux dossiers, la liste des courriels affiche la colonne unifiée « Correspondants » au lieu des colonnes « Expéditeurs » et « Destinataires » ;
  • les rendez‐vous et tâches peuvent maintenant être créés, visualisés et modifiés dans les onglets (« Modifier les évènements et les tâches dans un onglet plutôt que dans une fenêtre de dialogue », dans Préférences > Agenda).

Plusieurs changements sous le capot ont été aussi apportés :

  • les fichiers de données peuvent être également supprimés lors de la suppression d’un compte ;
  • les paramètres de comptes peuvent être importés depuis le logiciel Becky! Internet Mail ;
  • la messagerie instantanée prend en charge plus de fonctionnalités pour Twitter (messages directs, likes, favoris) et Jabber (authentification SASL/CRAM et copies carbones XEP-280). En revanche, elle perd la prise en charge de Yahoo!, puisque Yahoo! a arrêté de gérer les outils utilisés ;
  • les réponses aux listes de diffusion sont envoyées à l’adresse de courriel contenue dans From: au lieu de Reply-To: ;
  • dans la création de courriel, si le format de distribution choisi est « Texte uniquement », la barre d’outils de formatage reste à disposition ;
  • le cache IMAP utilise les dernières technologies de cache de Mozilla ;
  • pour suivre les suites Office, le raccourci clavier pour insérer des liens est passé de Ctrl + K à la place de Ctrl + L ;
  • pour les développeurs d’extensions, l’accès aux outils de développement de Firefox a été simplifié : il est directement accessible depuis le menu Outils > Outils de développement > Boîte à outils de développement.
Firefox : version 53

Cette nouvelle version de Firefox apporte un peu plus de stabilité aux graphismes sous Windows, grâce au projet Quantum Compositor qui crée un processus séparé qui gère les interactions avec la carte graphique (GPU Process).

De plus, nous avons les modifications suivantes :

  • deux nouveaux thèmes compacts (sombre et clair) ont été ajoutés ;
  • le mode lecture estime le temps nécessaire pour lire l’article affiché ;
  • les titres trop longs dans les onglets se terminent avec des caractères éclaircis pour afficher plus de caractères ; jusqu’à maintenant, les derniers caractères étaient remplacés par des points de suspension … ;
  • l’installateur pour Windows permet de choisir entre la version 32 et 64 bits ;
  • la prise en charge du canal alpha a été ajoutée aux vidéos au format WebM ;
  • la version Android gère les langues écrites de droite à gauche.

La version 53 est l’occasion pour Firefox de faire un grand nettoyage dans son code puisque beaucoup de plates‐formes ont été abandonnées :

  • la prise en charge du 32 bits pour macOS a été abandonnée ;
  • la prise en charge de Windows XP et Vista a été abandonnée, comme annoncé ;
  • pour GNU/Linux, les processeurs plus anciens que l’Intel Pentium 4 et l’AMD Opteron sont abandonnés.

En plus de ces modifications, les outils des développeurs Web ont reçu beaucoup de modifications un peu partout (HTML, JavaScript, DOM, médias…).

Firefox : version 54

Le changement le plus important de cette version est l’activation tant attendue du projet e10s-multi. Ce projet permet de séparer les tâches spécifiques à l’interface graphique de Firefox des autres contenus comme le travail des extensions et des pages Web.

Cette amélioration était déjà activée sur certaines populations de test depuis la version 48 et elle a été activée pour tout le monde depuis la version 54.

Normalement, Firefox donnera une meilleure impression de réactivité, puisqu’une page Web demandant beaucoup de travail processeur ne bloquera plus toute l’interface du navigateur, mais uniquement son processus.

Cependant, comme l’indique l’article de OMG! Ubuntu!, le paquet de Firefox 54 proposé par Ubuntu désactive le multi‐processus. Le responsable est l’extension Ubuntu Modifications, incompatible avec Electrolysis. Une mise à jour de cette extension serait en cours, mais en attendant pour profiter du multi‐processus la seule solution est de désactiver l’extension Ubuntu Modifications dont les fonctionnalités ne sont pas essentielles, puisque cette extension se contente de modifier la page d’accueil et d’ajouter quelques marque‐pages et moteurs de recherche.

Comme pour la version précédente, beaucoup de modifications ont été apportées dans les outils de développement Web.

Firefox : version Aurora et canaux de mises à jour

Mozilla a annoncé une simplification dans la gestion des versions disponibles de Firefox dès cette année. Il n’existera plus que les versions suivantes de Firefox :

  • Nightly, la version construite tous les jours depuis les sources, à utiliser si vous souhaitez apporter votre avis aux développements expérimentaux, voire contribuer au projet ;
  • Beta, la prochaine version qui sera à disposition des utilisateurs, à utiliser pour améliorer la qualité des versions stables ;
  • Developer, une version de Firefox Beta à destination des développeurs Web ;
  • Firefox, la version stable à destination des utilisateurs finals, à utiliser par tout le monde.

Le canal Aurora n’existera donc plus et les mises à jour de Firefox pourront être un peu plus fréquentes, puisqu’une étape de moins sera nécessaire pour créer une nouvelle version finale.

Autour de Firefox, Thunderbird et Mozilla Firefox OS et les objets connectés

Un développeur Mozilla nous raconte l’histoire de Firefox OS de son point de vue de développeur actif à plein temps sur ce projet durant cinq ans. La communauté Mozilla Francophone nous offre une traduction que nous vous invitons à lire.

Au sujet de Firefox OS, Mozilla avait annoncé un nouveau projet Connected Devices qui reprenait Firefox OS pour l’inclure dans les objets connectés. Cependant, ce projet a également été abandonné et l’équipe de développeurs a été dissoute ce printemps.

Mozilla achète l’entreprise Pocket

Pour nos lecteurs ne lisant pas les journaux LinuxFr.org, Mozilla a annoncé le rachat de l’entreprise Pocket qui permet d’enregistrer les pages Web sur un serveur pour une lecture différée. Ce rachat n’est pas trop surprenant, puisque Firefox avait déjà un bouton intégré dans son interface pour inciter à l’utilisation de ce service. En revanche, le service libre concurrent Wallabag est songeur, puisqu’il ne semble pas avoir été pris en compte (ni pour l’intégration dans Firefox, ni lors du rachat).

Thunderbird et Mozilla

Après plusieurs mois de recherche, le projet Thunderbird et la fondation Mozilla ont annoncé continuer leur collaboration administrative pour le client de messagerie Thunderbird.

Pour rappel, Mozilla a laissé la gestion de l’outil Thunderbird à la communauté depuis plusieurs années, mais la fondation fournissait encore toute l’infrastructure du projet.

La communauté Thunderbird devait prendre une décision quant à sa gestion administrative et à ses infrastructures et en mai dernier, suite à une discussion avec plusieurs entités déjà existantes (Mozilla Foundation, The Document Fondation (qui gère LibreOffice) et Software Freedom Conservancy), il a été décidé que la Fondation Mozilla continuera d’être l’espace légal, fiscal et culturel du projet Thunderbird, à condition que l’équipe exécutive de la Fondation Mozilla et le concile Thunderbird maintiennent de bonnes relations, prennent des décisions régulièrement et que le projet Thunderbird reprenne son indépendance opérationnelle et technique à court terme.

Dans l’actualité autour de Thunderbird, nous avons aussi que le projet Debian a annoncé que le logiciel Icedove prend sa retraite et reprend le nom original de Mozilla Thunderbird dans les prochaines versions du système d’exploitation.

Enfin, pour les utilisateurs de l’extension Exchange EWS Provider pour Thunderbird qui fournit une interface aux serveurs Exchange, sachez que l’extension actuelle ne fonctionne plus avec Thunderbird 52 en raison de modifications amenées par Mozilla sur l’authentification NTLM et à cause du changement d’interface fait pour pouvoir modifier les événements et tâches dans des onglets. Suite à ces problèmes, la communauté d’utilisateurs de l’extension a dû créer une divergence (fork) du projet afin de pouvoir continuer à maintenir l’extension. Le fork est disponible sur GitHub dans une nouvelle organisation ExchangeCalendar et nécessite plus de développeurs pour être sain.

Mozilla et Tor Browser collaborent

Tor Browser est un navigateur Web fondé sur Firefox ESR qui applique des modifications pour rendre la navigation sur le Web un peu plus anonyme en modifiant les préférences de Firefox et en intégrant l’utilisation du réseau Tor.

Comme Firefox 52 est une version ESR, l’équipe de Tor Browser a créé la nouvelle version 7 de son navigateur et l’a rendue disponible le 7 juin dernier.

Comme les modifications apportées par Tor Browser favorisent l’anonymisation au détriment de l’expérience utilisateur et de certaines fonctionnalités de Firefox, elles ne peuvent pas être directement toutes intégrées dans Firefox.

Toutefois, les deux équipes de développement ont trouvé des collaborations possibles afin de proposer certaines modifications moins intrusives à un plus large panel d’utilisateurs. Ces collaborations sont en cours dans le projet Mozilla dénommé Tor Uplift.

C’est ainsi que les équipes de Mozilla et de Tor Browser ont travaillé ensemble pour apporter la nouvelle fonctionnalité First Party Isolation qui fournit un outil d’anti‐pistage plus avancé pour l’anonymisation, mais qui risque de casser certains sites Web.

Grâce à cette collaboration, l’équipe Tor Browser peut maintenant utiliser ses ressources pour d’autres fonctionnalités et les utilisateurs avancés de Firefox peuvent profiter de cette dernière grâce au paramètre privacy.firstparty.isolate (désactivé par défaut).

Autres implémentations de WebRTC

Microsoft s’est longtemps opposé à WebRTC, préférant pousser sa propre solution pour gérer la voix sur Internet (VoIP) appelée CU-RTC-Web.

Récemment, Microsoft a annoncé que son navigateur Web Edge est partiellement compatible avec WebRTC depuis la version Creator de Windows Update. Comme le but de Microsoft est de rendre fonctionnelles les API nécessaires aux sites actuels, les développeurs ont décidé de n’implémenter qu’une partie des API et en particulier le partage audio et vidéo.

Télécharger ce contenu au format Epub

Lire les commentaires

Debian 9 : Stretch déploie ses tentacules

18 juin, 2017 - 17:59

Debian GNU/Linux 9, nom de code Stretch (en référence à la pieuvre violette de Toy Story 3) est sortie le 17 juin 2017.

(par Emoji One via Wikipédia)

Alors que la version 8 intégrait systemd, cette version intègre pour sa part quelques autres nouveautés technologiques de taille comme Wayland (cela concernera surtout les utilisateurs du bureau GNOME), Flatpak ou encore le pilote noyau unifié AMDGPU pour les puces graphiques AMD les plus récentes…

Les choses sont également plus claires maintenant que Firefox et Thunderbird sont présents dans les dépôts sous leurs noms officiels, grâce notamment aux efforts de Sylvestre Ledru (compte Twitter). So long Iceweasel et Icedove !

Sommaire Considérations générales

Stretch est disponible sur dix architectures matérielles différentes : AMD64, ARM64, ARMel, ARMhf, i386, MIPS, MIPS64el, MIPSel, PowerPC64el et s390x.

Elle repose sur le compilateur GCC 6 exclusivement (voir l’annonce sur la liste de diffusion). LLVM/Clang/LLDB est proposé par défaut en version 3.8 (et embarque aussi la version 3.9).

Il est à noter que la version pour i386 nécessite un processeur prenant en charge l’option de compilation i686, et que Stretch ne sera pas disponible sur PowerPC.

Des statistiques sur le nombre de paquets (environ 54 000 paquets produits à partir de 25 000 paquets source), de fichiers source, leur taille, le nombre de lignes de code et la répartition par langage de programmation sont disponibles (parmi plein d’autres statistiques du projet Debian), ainsi que la production reproductible de paquets (94 % des paquets pour stretch/amd64).

L’installation peut se faire en 75 langues (et le site Debian est disponible en 37 langues).

Cette version est dédiée à Ian Murdock, le fondateur du projet Debian, mort en décembre 2015.

Installateur

En grande partie grâce au travail de Cyril Brulebois (comptes Twitter et Mastodon, #DebianInstaller), l’installateur a été revu :

Nouveautés logicielles

Nouvelles versions de logiciels :

Nouveauté de taille : Flatpak débarque, en version 0.8 : à vous les applications dans leur dernière version sans risque d’altérer la stabilité de votre Debian Stable ! Autrement dit : vous n’aurez plus à choisir entre nouveauté et stabilité.

Parmi les nouveautés en termes de logiciel, Stretch embarque notamment :

  • la première version du « Debian Pure Blend » Astro (une solution pour des groupes aux besoins particuliers, ici l’astronomie). Il rejoint ceux sur la chimie, les jeux, l’éducation, les SIG, pour les enfants, le médical, le multimédia ou la science) ;
  • le logiciel de mathématiques Sagemath de sagemath.org ;
  • la forge logicielle GitLab ;
  • la possibilité d’installer les paquets MELPA (Emacs Lisp) par apt (comme Flycheck, Projectile, Evil et Helm) ;
  • la pile LIO SCSI, avec les modules FC, FCoE, iSCSI, iSER, tcm_loop, etc.

Côté serveur :

  • MariaDB 10.1 devient la version par défaut de MySQL (il s’agissait précédemment d’Oracle MySQL) et des méta‐paquets ont été ajoutés pour faciliter les changements futurs ;
  • nginx 1.6 → 1.10 ;
  • OpenJDK 1.7 → 1.8 ;
  • OpenSSH 6.7 → 7.4 (les vieux algorithmes de chiffrement et le protocole SSH 1 sont maintenant désactivés par défaut dans OpenSSH) ;
  • PHP passe de la version 5.6 à la version 7.0 et l’empaquetage a été retravaillé pour faciliter l’installation de multiples versions en parallèle ;
  • OpenSSL (1.0.1t → 1.1.0e) (les chiffrements 3DES et RC4 ne sont plus disponibles, ce qui casse de vieux outils, tels que la prise en charge de TLS sous Windows XP) ;
  • Perl (5.20.2 → 5.24.1) (certains modules retirés du cœur sont livrés via des paquets séparés).

Pour les nouvelles installations, une nouvelle méthode de nommage des interfaces réseau sera utilisée (du type ens0 ou enp1s1 (Ethernet) ou wlp3s0 (sans fil) au lieu de eth0 ou eth1).

Parmi les retraits de logiciels :

  • OwnCloud, jugé trop difficile à maintenir ;
  • VirtualBox, du fait qu’Oracle refuse de partager les vulnérabilités à travers le CVE, cela rend difficile la gestion de la sécurité des paquets dans la branche stable ;
  • les interfaces réseau ne sont plus nommées de la même manière. Pour les nouvelles installations, les informations matérielles et l’adresse MAC sont utilisées pour le nommage et la numérotation ; les installations existantes ne sont pas touchées ;
  • le paquet net-tools est déclaré obsolète au profit de iproute2 (apt install net-tools pour récupérer ifconfig et ses copains) ;
  • le montage de /usr doit se faire au niveau de l’initramfs. Pas de souci avec les noyaux fournis par Debian ;
  • /bin et /sbin fusionnés dans /usr/bin et /usr/sbin à l’installation du paquet usrmerge (par défaut lors de l’installation). ça a été repoussé ;
  • les gestionnaires de mots de passe fpm2 et kedpm qui ne sont plus maintenus en amont (voir plutôt du côté de pass, keepassx ou keepass2) ;
  • l'outil de surveillance nagios3 qui peut être remplacé par icinga.

Améliorations d’apt :

  • téléchargement via utilisateur apt (ce n’est plus root) ;
  • information intéressante pour les administrateurs de miroirs : l’apt de Stretch peut utiliser des enregistrements DNS (SRV) pour localiser une ressource HTTP (back‐end) ;
  • nouveau miroir au nom « ultra simple à retenir » : deb.debian.org ;
  • interface en ligne de commande stabilisée (plus d’avertissement lors d’un tube — pipe —, par exemple) ;
  • disparition des serveurs FTP pour les paquets.

Nouveaux paquets de débogage :

Les paquets contenant les symboles de débogages étaient auparavant de la forme paquet-dbg, ceux‐ci se nomment maintenant paquet-dbgsym, sont générés automatiquement et se trouvent dans un nouveau dépôt et non plus dans le dépôt principal. Ces modifications permettront aux dépôts miroirs de ne plus avoir à récupérer ces paquets qui étaient utilisés par peu de gens, permettant ainsi d’économiser bande passante et espace disque.

Stretch avait été légèrement retardé pour faire place au noyau Linux 4.10 : en effet, ce noyau devait être une version à support étendu (long‐term support ou LTS), version que les développeurs en amont (upstream) s’engagent à maintenir plus longtemps. Ceci facilite en retour le travail de l’équipe noyau de Debian, lire ce journal pour plus d’explications. La version finalement choisie par le responsable des LTS Greg Kroah‐Hartman est la 4.9, l’équipe noyau de Debian l’a donc aussi choisie pour être le noyau de Stretch.

Après un vote public (ouvert à tous), c’est le thème graphique nommé softWaves qui a été choisi pour Stretch. Il a été réalisé par Juliette Taka‐Belin, créatrice du thème de la version précédente de Debian.

Futur

La version testing se nomme désormais Buster (le chien dans les films d’animation Toy Story).

Télécharger ce contenu au format Epub

Lire les commentaires

OpenSSH : configuration des algorithmes de cryptographie

18 juin, 2017 - 13:26

Le logiciel OpenSSH permet d’avoir un shell sécurisé sur un serveur distant ou du transfert de fichiers de ou vers un serveur. Divers algorithmes de cryptographie sont utilisés pour le chiffrement, la génération ou l’échange de clefs. Et ces algorithmes peuvent s’affaiblir, être remplacés par de meilleurs algorithmes, connaître des portes dérobées, nécessiter des clefs plus grandes, etc. Ils sont implémentés (au sens ajouter ou enlever) par les développeurs d’OpenSSH (et de bibliothèques de cryptographie sous‐jacentes), ils sont empaquetés par une distribution (qui peut changer certains réglages à la production du paquet ou bien faire certains choix sur la configuration par défaut), et ils sont mis à jour par les équipes sécurité (d’OpenSSH et de la distribution).

Jetons un œil sur les paquets openssh-server de la distribution Debian (actuellement les versions sont 6.0p1-4+deb7u4 en Wheezy (l’ancienne ancienne version stable), 6.7p1-5+deb8u3 en Jessie (l’ancienne version stable) et 7.4p1-10 en Stretch (la version stable actuelle depuis le 17 juin 2017) : nous verrons quels sont les algorithmes pris en charge, quels sont ceux par défaut et quel niveau de sûreté leur accorder (suivant les tests des sites Rebex et CryptCheck, et les outils SSHScan et CryptCheck que nous allons utiliser).

Sommaire Configuration par défaut après installation sur Debian

La configuration /etc/ssh/sshd_config par défaut après une installation est la suivante :

Port 22 Protocol 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key # absent en Stretch HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key # absent en Wheezy UsePrivilegeSeparation yes KeyRegenerationInterval 3600 ServerKeyBits 1024 # en Jessie/Stretch et 768 en Wheezy SyslogFacility AUTH LogLevel INFO LoginGraceTime 120 PermitRootLogin without-password # en Jessie/Stretch et yes en Wheezy StrictModes yes RSAAuthentication yes PubkeyAuthentication yes IgnoreRhosts yes RhostsRSAAuthentication no HostbasedAuthentication no PermitEmptyPasswords no ChallengeResponseAuthentication no X11Forwarding yes X11DisplayOffset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server UsePAM yes Algorithmes par défaut (selon la page de man de sshd_config) :
  • algorithmes de chiffrement :
    • Wheezy : aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,
    • Jessie/Stretch : chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com ;
  • algorithmes d’échange de clef :
    • Wheezy : ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1,
    • Jessie : curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,
    • Stretch : curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1 ;
  • algorithmes MAC :
    • Wheezy : hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-sha1-96,hmac-md5-96,hmac-sha2-256,hmac-sha256-96,hmac-sha2-512,hmac-sha2-512-96,
    • Jessie/Stretch : umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1.
Évolution du logiciel et correctifs de la distribution

Une partie des modifications vient de la distribution : par exemple, dans le paquet openssh-server présent dans Stretch (en l’occurrence dans le fichier openssh_7.4p1-10.debian.tar.xz), on peut trouver la modification de configuration no-dsa-host-key-by-default.patch qui enlève la génération d’une clef DSA ; plus, bien sûr, les correctifs de sécurité concernant openssh.

Mais la majorité des changements concernant les algorithmes vient de l’équipe openssh elle‐même :

  • la version 6.7 a notamment retiré du choix par défaut les algorithmes CBC et arcfour* ;
  • la 7.2 a retiré du choix par défaut blowfish-cbc, cast128-cbc, arcfour, rijndael-cbc et ceux basés sur MD5 et HMAC tronqué, et ajouté la prise en charge de RSA avec SHA-256/512 ;
  • la 7.4 a retiré du choix par défaut 3des-cbc ;
  • et la récente 7.5 va plus loin en retirant le protocole SSH v1, les algorithmes Blowfish, RC4 et RIPE-MD160 HMAC, en refusant les clefs RSA plus petites que 1 024 bits et en retirant du choix par défaut les derniers CBC.
Test via le site Rebex

Le site de test Rebex fournit pour un serveur SSH accessible publiquement :

  1. les infos techniques brutes et un peu de pédagogie en les catégorisant et en les explicitant (en anglais) ;
  2. une interface Web jolie et explicite ;
  3. une veille technologique et de la pédagogie en classifiant les algorithmes (non sûr, faible, sûr) et en fournissant des explications et des liens (SHA-1 devient obsolète, possible porte dérobée NSA, etc.).

  • algorithmes d’échange de clefs :
    • diffie-hellman-group-exchange-sha256 et curve25519-sha256@libssh.org sont considérés sûrs,
    • les trois ecdh-sha2-nistp256/384/521 classés « sûrs, mais possible porte dérobée NSA »,
    • diffie-hellman-group14-sha1 et diffie-hellman-group-exchange-sha1 sont considérés faibles,
    • diffie-hellman-group1-sha1 est considéré non sûr ;
  • algorithmes de clefs du serveur :
    • ssh-ed25519 est considéré sûr,
    • ecdsa-sha2-nistp256 est considéré « sûr mais possible porte dérobée NSA »,
    • ssh-rsa est considéré « sûr mais SHA-1 devient obsolète »,
    • ssh-dss « faible et SHA-1 devient obsolète » ;
  • algorithmes de chiffrement :
    • les six de Jessie/Stretch sont considérés sûrs, ainsi que les aes128/192/256-cbc et rijndael-cbc@lysator.liu.se,
    • 3des-cbc est considéré vraiment faible, blowfish-cbc et cast128-cbc faibles et les arcfour non sûrs ;
  • algorithmes MAC :
    • umac-128-etm@openssh.com, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, umac-128@openssh.com, hmac-sha2-256, hmac-sha2-512, hmac-ripemd160, hmac-ripemd160@openssh.com sont considérés sûrs,
    • umac-64-etm@openssh.com, hmac-sha1-etm@openssh.com, umac-64@openssh.com, hmac-sha1, hmac-sha2-256-96 et hmac-sha1-96 sont considérés faibles,
    • hmac-md5 et hmac-md5-96 sont considérés non sûrs.
Test via le site CryptCheck

Le site de test CryptCheck fournit toujours pour un serveur SSH accessible publiquement :

  1. les infos techniques brutes et un peu de pédagogie en les catégorisant (en français) ;
  2. une interface Web jolie et explicite ;
  3. une veille technologique (mais sans explication particulière hormis le détail des algorithmes).

On peut noter que hmac-sha1-etm@openssh.com apparaît en vert/sûr côté CryptCheck, alors qu’il apparaît en orange/faible côté Rebex. L’appréciation des algorithmes suivant les différents acteurs (OpenSSH, Debian, Rebex ou CryptCheck) peut être différente.

Modification post‐publication : après discussion avec l’auteur via IRC, le site classe désormais diffie-hellman-group14-sha1, hmac-sha1-etm@openssh.com et hmac-sha1 en rouge. Merci aeris.

Test avec le client OpenSSH

Par rapport aux deux sites précédents, il est possible de récupérer les infos techniques brutes facilement soi‐même avec un simple client OpenSSH (mais sans la belle interface, les couleurs et les explications) :

$ ssh -vv example.com -p 22 … debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-4+deb7u6 … debug2: peer server KEXINIT proposal debug2: KEX algorithms: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256 debug2: host key algorithms: ssh-rsa debug2: ciphers ctos: aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,aes192-cbc,aes256-cbc … debug2: MACs stoc: hmac-ripemd160,hmac-sha2-256,hmac-sha2-512,hmac-sha2-512-96 debug2: compression ctos: none,zlib@openssh.com Test avec SSHScan

Le projet SSHScan fournit un outil de test en ligne de commande sous licence MIT (merci à Walter de l’avoir pointé en commentaire).

$ python sshscan.py -t example.com … [+] Detected the following ciphers: … [+] Detected the following KEX algorithms: … [+] Detected the following MACs: … [+] Detected the following HostKey algorithms: ssh-rsa ssh-dss … [+] No weak ciphers detected! [+] Detected the following weak KEX algorithms: diffie-hellman-group14-sha1 ecdh-sha2-nistp384 ecdh-sha2-nistp256 ecdh-sha2-nistp521 [+] Detected the following weak MACs: hmac-sha1 hmac-sha1-etm@openssh.com umac-64 umac-64-etm@openssh.com [+] Detected the following weak HostKey algorithms: ssh-dss [+] Compression has been enabled! Test avec l’outil ligne de commande CryptCheck

L’outil utilisé pour le site CryptCheck est disponible sous AGPL v3+. Merci à Aeris qui l’a signalé dans ce commentaire.

Conclusions

Voici donc ce que l’on peut déduire de cette analyse :

  • tenir son openssh-server (et ses dépendances) à jour vis‐à‐vis des correctifs de sécurité ;
  • profiter des changements de distribution pour renouveler les clefs SSH des serveurs avec une longueur et des algorithmes adaptés, plutôt que de les conserver telles que ;
  • la configuration de la distribution était peut‐être très bien lors de sa sortie, mais elle va nécessiter d’être révisée plus tard si l’on veut renforcer la sécurité ;
  • Mozilla fournit un guide de configuration (l’ANSSI aussi) pour faire le tri entre les algorithmes et ne garder que les meilleurs (choisir les bons paramètres HostKey, Ciphers, MACs et KexAlgorithms. Par exemple Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr. Contrairement au choix des algorithmes TLS pour Apache et nginx, on ne peut pas interdire des algorithmes (on avait, par exemple, des interdictions sous la forme !aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5), il faut explicitement lister ceux que l’on veut ;
  • le manuel de sécurisation Debian (Securing Debian Manual) ne couvre pas actuellement cet aspect ;
  • prendre un moment pour imaginer la galère que ça va être pour les objets connectés et autres périphériques réseau qui embarqueraient des serveurs SSH, qui resteront probablement non maintenus et non reconfigurés pendant des années ;
  • je me suis attardé sur la configuration des serveurs SSH, mais la même question se pose pour les clients SSH (et Mozilla fournit aussi les infos dans son guide) ;
  • les testeurs en ligne Rebex ou CryptCheck sont rapides et pratiques, mais si vous connaissez un outil en ligne de commande (comme SSHScan et CryptCheck signalés dans les commentaires), voire empaqueté Debian, qui permet la même chose, ça m’intéresse (pour tester des serveurs avant de les mettre en ligne ou des serveurs non accessibles publiquement, par exemple, et pour éviter de réimplémenter sa propre analyse de ssh -vv).
Télécharger ce contenu au format Epub

Lire les commentaires

Lstu sort en version 0.08

18 juin, 2017 - 10:15

Plus de trois ans après ses débuts, Lstu arrive en version 0.08 et l’on peut dire qu’il s’en est passé des choses sous le capot !

Petite rétrospective sur ce raccourcisseur d’URL qui devient grand…

Sommaire Mais qu’est‐ce que Lstu ?

Lstu, Let’s Shorten That Url, est un service Web de raccourcissement d’URL. Comme bit.ly ou goo.gl, mais en Libre (licence WTFPL).

Les débuts

Lstu est né d’une soirée de septembre 2013 où j’avais envie de coder un truc, vite fait, bien fait. Enfin, surtout vite fait. Il y a des gens qui aiment faire du tricot ou de la dentelle, eh bien, moi, c’est le code.

Si l’on regarde les commits, on peut voir que quelques correctifs mineurs ont rapidement été apportés… et puis, plus rien pendant des mois. En effet, Lstu n’était qu’un exercice plutôt qu’un véritable projet.

Et pourtant

De loin en loin, des fonctionnalités ont commencé à se rajouter.

En février 2014, c’est la possibilité de choisir le texte de l’URL raccourcie. En effet, il est plus simple au niveau communication visuelle (un flyer, une affiche, à l’oral…) de donner :

En mai 2015 (j’avais bien dit « De loin en loin »), c’est une page affichant les statistiques de ses URL raccourcies qui fait son apparition, ainsi qu’une vision « admin » de toutes les URL, une page de description de l’API et la possibilité d’utiliser Lstu dans un sous‐répertoire de son domaine (genre https://exemple.org/lstu/). À noter que l’internationalisation, présente depuis les tout débuts, passe aux fichiers gettext (.po).

Au cours de la période allant de mai à septembre 2015, la documentation s’étoffe, des fichiers d’initialisation et de configuration nginx sont fournis… Le but est clairement de simplifier la tâche de ceux qui voudraient l’installer chez eux.

Une autre fonctionnalité apparaît aussi en septembre 2015 : la vérification de noms de domaine de l’URL à raccourcir, ainsi que ceux de ses redirections, s’il y en a, auprès du service SpamHaus.

En effet, des spammeurs utilisent assez souvent l’instance officielle et l’instance de Framasoft pour cacher leurs liens moisis (du hameçonnage la plupart du temps). La vérification des noms de domaine, ainsi qu’une limitation du nombre de redirections autorisées (certains liens de hameçonnage ont un nombre de redirections impressionnant), permet de limiter l’utilisation de Lstu pour un tel usage.

La version 0.07 de Lstu, sortie en décembre 2016, a notamment apporté :

  • un logo (ça manquait) ;
  • un système de thèmes : plus besoin de « forker » ou de réappliquer ses modifications pour avoir un thème personnalisé ;
  • un nouveau thème basé sur le cadriciel CSS Milligram, plus léger que Twitter bootstrap. Ce thème devient le thème par défaut ;
  • un système de bannissement pour limiter l’utilisation à trois raccourcis par seconde (toujours pour lutter contre les spammeurs) ;
  • un système de cache (une centaine de redirections sont stockées en cache) pour améliorer les performances ;
  • la traduction en occitan, qui s’ajoute au français et à l’anglais déjà présents ;
  • le lancement de tests fonctionnels en intégration continue grâce à GitlabCI !
Et enfin, la 0.08 !

Sortie à peine deux mois après la 0.07, cette version ne manque toutefois pas d’intérêt :

  • possibilité d’utiliser Piwik pour comptabiliser le nombre de fois où quelqu’un a utilisé un lien raccourci ;
  • possibilité d’utiliser une file d’attente des tâches pour incrémenter les compteurs de visite (Lstu utilisant habituellement une base SQLite, incrémenter le compteur directement à la visite peut ralentir le fonctionnement de Lstu, SQLite ne permettant pas les accès concurrents) ;
  • possibilité d’utiliser une authentification LDAP ou se basant sur un fichier htpasswd : seuls les utilisateurs authentifiés pourront raccourcir des URL, l’accès à l’URL raccourcie étant permis à tout le monde ;
  • prise en charge de PostgreSQL pour la base de données ;
  • possibilité d’utiliser plusieurs fois la même installation de Lstu avec des fichiers de configuration différents (installez une fois, utilisez plusieurs instances différentes) ;
  • ajout d’un système de liste blanche au système de blocage/bannissement ;
  • traduction en breton.
Miscellanées

L’instance officielle ne contient que 5 586 liens raccourcis au 17 juin 2017, mais son utilisation se répand : il a été rapporté que des courriels internes de certaines institutions publiques contenaient des liens Lstu (eh non, ce n’étaient pas des pourriels :P).

L’instance de Framasoft, mise en service en 2015 contient en revanche 75 679 liens raccourcis au 17 juin 2017.

Une instance modifiée de Lstu a été développée et mise en place peu après la sortie de la version 0.08 pour permettre à l’auteur, Olivier Saraja, de créer des cartes de téléchargement de ses livres numériques. Le lien contenu sur ces cartes est valable un mois après la première utilisation. Autres modifications : la possibilité de créer plusieurs liens raccourcis à partir d’une seule URL et la génération d’un code QR pour chaque lien. Ces modifications sont actuellement dans la branche dl-cards de Lstu.

Après cette version 0.08, le développeur s’est éloigné dans le soleil couchant pour s’occuper de Lutim… Mais ceci est une autre histoire.

Télécharger ce contenu au format Epub

Lire les commentaires

Agenda du Libre pour la semaine 25 de l’année 2017

17 juin, 2017 - 21: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 35 événements (0 en Belgique, 32 en France, 3 au Québec et 0 en Suisse) est en seconde partie de dépêche.

Sommaire [QC Montréal] (3L)-Logiciels Libres en liberté groupe d’utilisateurs, de niveau débutant - Le lundi 19 juin 2017 de 18h00 à 21h00.

Accueil rencontre mensuelle :
(3L)-Logiciels Libres en liberté groupe d’utilisateurs de Logiciels Libres, de niveau débutant qui tiendra sa rencontre régulière mensuelle tout les 3ième lundi de chaque mois.
Amener vos portables et votre bonne humeur. Venez  jaser sur les logiciels libres, Nous montrer vos découvertes, poser vos questions?

[QC Montréal] Réunion ordinaire du CA de FACIL - Le lundi 19 juin 2017 de 18h00 à 20h00.

Le conseil d'administration (CA) de FACIL se réunit pour traiter des affaires courantes de l'association.
Par souci de transparence, les réunions du CA sont ouvertes aux membres.
Pourquoi vouloir assister aux réunions?

[FR Lyon] Meetup télécom et téléphonie libre - Le lundi 19 juin 2017 de 18h00 à 21h00.

Rendez-vous avec toutes les personnes intéressées pour présenter, échanger et discuter autour de la téléphonie libre. tout le monde peut participer et prévoir une présentation autour d'un sujet lié à la téléphonie/telecom libre.

C'est le premier lancement de ce meetup.

Nous avons créer un groupe sur meetup.com, disponible ici pour le suivi. https://www.meetup.com/fr-FR/Meetup-telecom-libre/

Vous êtes les bienvenus, même si vous n'y connaissez rien, ça sera aussi le moment d'apprendre et de découvrir cet univers.

[FR Nantes] Contribution Wikipédia Femme Féminisme - Le lundi 19 juin 2017 de 18h30 à 21h30.

L'objectif de cet atelier est de rendre les femmes plus visibles sur Wikipédia en écrivant des biographies de femmes ou des articles en lien avec le féminisme.

Ouvert à tou.te.s, sans inscription, ces Ateliers sont libres et gratuits.

Cet atelier a lieu à l'Espace Simone de Beauvoir, 15 du quai Ernest Renaud, Nantes, arrêt ''Gare maritime'' de la ligne 1 du tramway.

Cet atelier fait partie du projet Femmes et féminisme de Wikipédia.

Voici les dates, pour le second semestre :

  • Mercredi 18 janvier - Lundi 30 janvier
  • Mercredi 15 février - Lundi 27 février
  • Samedi 18 mars à 10h-18h - Mercredi 29 mars
  • Lundi 10 avril - Mercredi 26 avril
  • Mercredi 10 mai - Lundi 22 mai
  • Mercredi 7 juin - Lundi 19 juin

Nous suivre sur Twitter : @lessanspagEs

[FR Lyon] Debian et Cie - Le lundi 19 juin 2017 de 19h30 à 21h30. Installation, migration vers la nouvelle version de Debian (Stretch)

Atelier Debian - ALDIL

Tout public

En moyenne, tous les 3èmes lundi de chaque mois, l'ALDIL, Association Lyonnaise pour le Développement de l'Informatique Libre organise des ateliers autour du système d'exploitation GNU/Linux Debian.

Pour la sortie de la nouvelle version de Debian le 17 juin (Stretch), l'atelier Debian vous propose de partager ensemble vos connaissances, conseils et vos retours d'expérience. C'est l'occasion d'échanger vos astuces à d'autres utilisateur pour faciliter l'installation ou la migration vers Stretch que ce soit pour une utilisation desktop ou serveur. Chaque version majeure apporte son lot de nouveautés et c'est l'occasion d'en apprendre un peu plus sur le projet Debian avant de commencer l'été. Tout le monde est évidemment invité (utilisateur confirmé ou débutant) pour ce dernier atelier de la saison.

Ces ateliers ont lieu à la MJC Montchat de 19h à 21h30 au : 53, rue Charles Richard, 69003 Lyon.

Ces ateliers sont ouverts à tous… libres et gratuits

[FR Paris] La fabrication numérique en questions - Le mardi 20 juin 2017 de 17h00 à 20h00.

L'Association Science Technologie Société (ASTS)

vous invite à une démonstration suivie d'un débat autour des

fablab : La fabrication numérique en questions

La débat sera animé par Camille Bosqué, designer, docteure en Esthétique et design, enseignante agrégée d'arts appliqués à l'université Paris 1 et à Boulogne-Billancourt.

Sa thèse et ses recherches portent sur les FabLabs, le mouvement Maker et la fabrication numérique personnelle.

Elle est l'auteure du livre FabLabs, etc. Les nouveaux espaces de fabrication numérique, publié chez Eyrolles en 2015.

Elle a récemment co-écrit la web-série documentaire Fais-le toi-même, en ligne sur le site d'Arte Creative.

[FR Montpellier] Ateliers Logiciels Libres, Shotcut - Le mardi 20 juin 2017 de 17h00 à 19h00.

Grâce à un logiciel simple et intuitif, vous serez rapidement capable de réaliser un petit film ou court-métrage d’animation en utilisant de courtes séquences vidéo, des photos ou des images. Pour épater vos amis ou pour vous lancer dans l’aventure de l’animation, cette séance est faite pour vous !
Shotcut est un logiciel libre de montage vidéo multiplateforme pour Windows, MacOS X, et GNU/Linux. Le projet a démarré en 2011 par Dan Dennedy. Shotcut utilise le moteur de montage vidéo MLT Media Lovin’ Toolkit.

Retouchez vos pistes audio pour vos montages vidéos ou autres applications, pour les améliorer, les couper, les mixer…
Audacity est un logiciel libre pour la manipulation de données audio numériques, il permet d’enregistrer du son numérique par le biais des entrées ligne/micro/cd des cartes sons. Il permet d’éditer (copier, coller, sectionner…) les sons sur plusieurs pistes, et il est accompagné de divers filtres et effets : pitch, tempo, réduction de bruit, égaliseur, filtres de Fourier, augmentation de fréquences précises, compression, amplification, normalisation, écho, phaser, wahwah, inversion…

Découvrir Blender, logiciel libre de modélisation, d’animation et de rendu en 3D. Il possède de nombreuses fonctions avancées comme, entre autres, la gestion de montage vidéo et la création de jeux vidéo grâce à son moteur de jeu intégré.
Blender est un logiciel libre et gratuit de modélisation, d’animation et de rendu en 3D, créé en 1995. Il est actuellement développé par la Fondation Blender.
Il dispose de fonctions avancées de modélisation, de sculpture 3D, de dépliage UV, de texturage, de rigging, d’armaturage, d’animation 3D, et de rendu. Il gère aussi le montage vidéo non linéaire, la composition, la création nodale de matériaux, la création d’applications 3D interactives ou de jeux vidéo grâce à son moteur de jeu intégré (le Blender Game Engine), ainsi que diverses simulations physiques telles que les particules, les corps rigides, les corps souples et les fluides.

Cet événement est proposé par le partenariat qui lie Montpellier Méditerranée Métropole, la Médiathèque Federico Fellini et Montpel’libre.

Mardi 20 juin 2017 de 17h00 à 19h00 (Shotcut)
Mardi 27 juin 2017 de 17h00 à 19h00 (Audacity)
Mercredi 28 juin 2017 de 17h00 à 19h00 (Blender)

Salle Nino Rota, Médiathèque Federico Fellini place Paul Bec, 34000 Montpellier

[FR Paris] Meetup télécom et téléphonie libre - Le mardi 20 juin 2017 de 18h00 à 21h00.

Rendez-vous avec toutes les personnes intéressées pour présenter, échanger et discuter autour de la téléphonie libre.

Tout le monde peut participer et prévoir une présentation autour d'un sujet lié à la téléphonie/telecom libre.

C'est le premier lancement de ce meetup.

Nous avons créer un groupe sur meetup.com, disponible ici pour le suivi. https://www.meetup.com/fr-FR/Meetup-telecom-libre/

Vous êtes les bienvenus, même si vous n'y connaissez rien, ça sera aussi le moment d'apprendre et de découvrir cet univers.

[FR Paris] Tuppervim #56 - Le mardi 20 juin 2017 de 19h30 à 22h00.

Le tuppervim est un évènement mensuel organisé dans les locaux de Mozilla.

Il a lieu un mardi du mois (généralement le premier).

Le texte suivant a été honteusement copié du site http://tuppervim.org

Qui ?

On y parle de Vim avec des gens intéressés par le partage des connaissances sur Vim ou d’autres outils dans le même esprit : ligne de commande, ergonomie…

  • Les Vimistes avancés et autres gourous de la ligne de commande sont bien évidemment les rock-stars de ces soirées !
  • Les utilisateurs d’Emacs, Geany, SublimeText, Atom… sont bienvenus en tant que « Mécréants » ou pour profiter des sessions « Défonceuse » (V. plus bas).
  • Les néophytes curieux peuvent venir découvrir Vim, ses possibilités et nos « bonnes pratiques » / tuyaux pour progresser. Attention : bien faire le vimtutor au préalable, pour profiter au mieux de l’atelier.

Il y a des Mozilliens, contributeurs et employés, mais pas seulement. Que vous soyez un noob ou un nerd, nous vous garantissons un accueil amical et respectueux de votre intégrité physique ; seuls les canards ne peuvent bénéficier de cette garantie contractuelle.

Pourquoi ?
  • Partager des astuces sur Vim ou des outils du même acabit (enlarge your productivity) ;
  • passer un bon moment entre nerds, l’apéro faisant partie intégrante du concept.
Comment ?

L’idée est de rester informel et spontané, le but étant (idéalement) que chacun reparte avec deux ou trois astuces qu’il pourra mettre en œuvre dans le mois qui suit. Il faut savoir se limiter : partager 50 astuces dans la même soirée, c’est la garantie que personne n’en retiendra aucune. Voilà quelques thèmes récurrents…

la config
    Petit tour de table où chacun présente une à trois lignes de son ~/.vimrc.

le « 6 trous »
    Une session de VimGolf permet de démarrer la soirée sur des astuces relativement basiques — genre 3 min par trou, 6 trous max. Le meilleur vimgolfeur présente sa solution sur l’écran.

le greffon
    Un volontaire chaque mois pour présenter un greffon Vim, aider à son installation par les plus crétins d’entre nous et montrer à quoi ça lui sert dans son workflow courant.

la défonceuse
    Le truc qui défonce de l’ours par pack de six. L’astuce qui roxxe dans le terminal, dans bash ou zsh. L’outil en ligne de commande qui arrache le stérilet de sa tante (ranger, mutt, dwm…). L’application qui enlarge la productivity comme jamais. Au choix.

le mécréant
    À chaque session on peut accueillir un utilisateur d’un autre éditeur, pour qu’il nous présente une ou deux (pas dix !) fonctionnalités qui défoncent dans son éditeur. De là :

  • si la fonctionnalité est naze, on se moque vigoureusement ; et si on arrive à convaincre le mécréant de la supériorité de Vim, on boit des canons (plein) ;
  • si la fonctionnalité est classe, on cherche à avoir la même dans Vim (config et/ou greffon) ; si on n’y parvient pas, on brûle le mécréant.
Cool je viens !

Pour des modalités d'organisation nous vous conseillons de vous inscrire sur le pad suivant : https://public.etherpad-mozilla.org/p/TupperVim-1706

Vous pouvez également vous inscrire à la mailing list : http://mozfr.org/mailman/listinfo/tuppervim dont les archives sont disponibles ici

Le site officiel : tuppervim.org

Et encore rejoindre le canal irc : #tupperVim sur irc.mozilla.org

[FR Toulouse] EclipseCon - Du mercredi 21 juin 2017 à 08h30 au jeudi 22 juin 2017 à 17h30.

EclipseCon France est l'événement de la Fondation Eclipse pour la communauté française et européenne d'Eclipse.

Venez apprendre, explorer les dernières technologies Eclipse, et partager et collaborer avec les working groups Eclipse et les membres Eclipse de la communauté.

EclipseCon France est dédiée à la communauté. Contributeurs, utilisateurs, intégrateurs, fournisseurs de services, utilisateurs, entreprises et chercheurs se rassemblent pour partager leur expertise et apprendre les uns des autres.

EclipseCon est aussi un lieu pour enrichir son réseau et créer des synergies dans la communauté.

Le programme de l'édition 2017 inclut des sessions techniques sur les sujets d'actualité pertinents pour les développeurs Eclipse et les working groups, comme la modélisation, les systèmes embarqués, data analytics et data science, l'internet des objets, DevOps, etc.

Nous sommes fiers que les sessions et les keynotes à EclipseCon France soient choisies par un comité de sélection indépendant.

Nous croyons que c'est une clef pour créer un programme de grande qualité, pertinent et intéressant pour vous. Les thèmes des présentations à EclipseCon France sont pensés soigneusement chaque année avec cet objectif en tête.

Vous verrez que le comité de sélection a choisi un programme varié, qui inclut l'intégralité du paysage des technologies Eclipse.

[FR Teyran] Notions PC Scribus - Le mercredi 21 juin 2017 de 10h00 à 11h00.

Ces ateliers vous permettront de manipuler au quotidien, d’expérimenter et de créer :

  • Installation et prise en main de Scribus
  • S’initier au tableur avec LibreOffice Calc
  • Réalisez votre généalogie avec le logiciel libre Ancestis
  • Réalisez des cartes postales avec Gimp
  • Mettre en page un livret avec Scribus

Scribus est un logiciel libre de PAO, distribué sous licence GNU GPL. Il est
conçu pour une mise en pages flexible et a la capacité de préparer des fichiers
pour des équipements professionnels. Il peut également créer des
présentations animées et interactives, et des formulaires PDF. Il peut servir à
réaliser des dépliants, des plaquettes, des livres et des magazines, et tout type
de document destiné à être imprimé ou à être visualisé sous forme numérique.

LibreOffice Calc est le tableur dont vous avez toujours eu besoin. Les
nouveaux utilisateurs le trouvent intuitif et facile à apprendre. Les
professionnels des données et manipulateurs de chiffres apprécieront la
gamme complète de fonctions avancées. Les assistants peuvent vous guider
dans le choix et l’utilisation d’une gamme complète de fonctions de feuilles de
calcul avancées. Ou vous pouvez encore télécharger des modèles à partir du
référentiel LibreOffice, pour des solutions de feuilles de calcul prêtes à l’emploi.

Ancestris est un logiciel de généalogie gratuit respectant la spécification
GEDCOM. C’est un logiciel libre sous licence GNU GPL 2.0 disponible pour
Linux, BSD, Solaris, MAC et Windows. Il est écrit en langage Java et repose sur
la plate-forme NetBeans d’Oracle. Ancestris travaille directement sur le fichier
GEDCOM ce qui garantit la maîtrise des données, évite d’avoir à faire des
exports, et facilite les échanges de données entre plusieurs personnes
travaillant sur une même généalogie.

The Gimp offre de nombreuses fonctionnalités. Il peut être utilisé comme un
simple programme de dessin, comme un programme de retouche photo,
comme un système en ligne de traitement par lot, comme un générateurd’image pour la production en masse, pour convertir un format d’image en un
autre. GIMP est extensible. On peut lui ajouter de nombreux « Greffons » (plug-
ins). Une interface de scripts bien développée permet de créer des procédures,
les scripts, regroupant plusieurs opérations.

Entrée libre et gratuite sur inscription.
La participation aux ateliers nécessite :

  • de s’inscrire préalablement à la médiathèque
  • de retourner le bulletin afin de nous indiquer les ateliers choisis (nombre de places limitées ; certains ateliers sont déjà complets)

Mercredi 7 juin 2017 de 10h00 à 11h00 (Scribus)
Mercredi 7 juin 2017 de 11h00 à 12h00 (LibreOffice Calc)
Mardi 13 juin 2017 de 10h00 à 12h00 (Ancestis)
Mercredi 14 juin 2017 de 10h00 à 11h00 (Gimp)
Mercredi 21 juin 2017 de 10h00 à 11h00 (Scribus)

Médiathèque de Teyran - Place du jeu de ballon 34820 Teyran

[FR Montpellier] Install Par Tous ! Install Party ! - Le mercredi 21 juin 2017 de 12h00 à 17h00. Reprenez le contrôle de vos machines. Avec un Gnou et un Manchot

Communément appelées "Install Party" ces événements sont dédiés à l'installation, mais aussi et surtout au support, de systèmes GNU/Linux sur vos ordinateurs personnels (ou pro d'ailleurs), dans le but de se passer des méchants systèmes d'exploitation qui rament, espionnent, et vous ont été imposés.

Bref reprendre le contrôle de vos machines pour de vrai !

Déroulement typique de l’installation sur un ordi :

  • Discuter ! Savoir quel sont vos attentes pour ce nouveau système : faut-il des outils spécifiques, aurez-vous tout ce qu'il vous faut pour profiter de votre appareil, supportera-t-il telle ou telle techno, etc.
  • Déterminer la bonne distribution en fonction de l'appareil (capacité, mémoire, cpu, etc), mais aussi en fonction de vos attentes.
  • Essayer ! La plupart des distributions linux peuvent tourner sur votre appareil sans les installer (Live) en utilisant uniquement la mémoire vive, sans toucher au disque dur. Cela permet de vérifier qu'elle marche correctement, et qu'elle réponds aux attentes.
  • Backup ! Il est fortement recommandé de faire des sauvegardes de toutes vos données AVANT DE VENIR. Cette étape peut-être longue, fastidieuse, et surtout ne concerne personne d'autre que vous (aucune raison d'avoir vos données qui se baladent sur des disques ou clef USB dans le hackerspace). Mais le cas échéant nous nous doterons d'un moyen de sauvegarde, ou vous amenez le votre, et on sauve tout ce qui peux être sauvé.
  • INSTALL !!! Cette fois-ci c'est parti on installe le système sur le disque dur, en éliminant le précédent (recommandé ;) ), ou en le conservant sur le coté au cas où (but why ?).
  • On finalise enfin l'installation par l'ajout des logiciels dont vous avez besoin, et on en profite pour vous montrer comment le faire vous même, comment se gèrent les mises à jour, et toutes les astuces propre à GNU/linux pour que vous soyez à l'aise dans votre nouvel environnement.

Une fois rentré à la maison avec votre ordinateur tout propre, il se peut que vous rencontriez encore des difficultés (y'a pas de raisons mais ça arrive), pas de problèmes nous avons conçu cet atelier pour qu'il soit régulier et porté également sur le support, l'aide aux nouveaux utilisateurs. Donc notez vos questions, vos problèmes dans un coin, et repassez nous voir la semaine suivante ! (vous pourrez également nous poser des questions sur IRC (chat) ou sur la mailling liste, si vous ne pouvez pas attendre)

En espérant libérer un maximum de vos machines !

[FR Auch] Initiation à Linux - Le mercredi 21 juin 2017 de 14h00 à 17h00.

Cette découverte de Linux est proposée au Café associatif d'Auch, l'Abri des Possibles, tous les mercredi.

[QC Montréal] Atelier pratique du débutant - Le mercredi 21 juin 2017 de 13h30 à 16h30.

L’ATELIER PRATIQUE DU DÉBUTANT est organisé pour répondre aux INTERROGATIONS d’un ou/des PARTICIPANTS de niveaux débutants!  Matériel requis pour la rencontre : VOTRE PORTABLE ET UNE CLÉ USB DE 16 GO.

[FR Callian] Linux et les Logiciels Libres - Le mercredi 21 juin 2017 de 18h00 à 21h00.

Venez découvrir Linux et les logiciels libres, mais aussi vous faire aider avec votre matériel informatique quel qu'il soit, imprimante, box, tablette, smartphone y compris.

Cette année, nos objectifs évoluent, c'est à dire les logiciels libres restent comme l'objectif principal, mais aussi d'aider les gens avec leur matériel informatique quel qu'il soit, imprimante, box, tablette smartphone y compris.

Venez avec vos machines même sous Windows ou Mac/os, nous ne vous laisserons pas tomber, nous considérons, que vous n'êtes pas responsable de l'hégémonie commerciale des produits non libres.

Mais pourquoi venir aux réunions ?
1°) Découvrir, Essayer, Installer Linux
2°) Régler vos problèmes Windows ou Mac

Venez nombreux, même par curiosité ! Les animateurs seront heureux de vous accueillir et nous insistons.

L'accès est totalement libre et gratuit !

Merci de vous inscrire par mail et d'indiquer le soucis à régler si besoin.

[FR Faux-la-Montagne] Rien à Cacher - Le mercredi 21 juin 2017 de 18h00 à 21h00.

L'association Ctrl-a propose un café numérique, cette fois en forme
d'apéro dînatoire partagé :

RIEN À CACHER: Chiffrer ses emails et préserver leur confidentialité

Les courriers électroniques transitent sur Internet comme le texte d'une
carte postale : en clair, au vu de tous.

Que l'on souhaite se protéger soi-même ou protéger ses correspondants.
Pour transmettre un mot de passe. Pour échanger des informations
sensibles.

Ou pour préserver sa vie privée, tout simplement.

Au programme

* Échanges sur la privacité des communications
* Chiffrement des emails avec Thunderbird : théorie et pratique

À la fin de l'atelier, votre ordinateur sera équipé pour chiffrer les emails

-- Faux­-la­-Montagne / Salon de thé Le Volubilis
-- Mercredi 21 Juin ­ 18h
-- informations : asso@ctrl-a.fr / ctrl-a.fr

[FR Bordeaux] Atelier artiste - hacker - Le mercredi 21 juin 2017 de 19h00 à 21h00.

Ateliers-cours à la fabrique-pola - L@bx

Tous les mercredi, 19h00, à partir du 07 décembre 2016

Passer aux logiciels libres pour toute sa pratique artistique :
graphisme, édition, site internet, photo, vidéo, 3D, dossiers, imprimerie, son, installations multimédia…

Reprendre le contrôle de sa vie privée
Chiffre ses emails, échapper aux GAFAM'S, se débarrasser des pubs, surfer avec tor, mettre en place un VPN…

S'approprier, détourner, contourner
Les machines physique et langagière, les espaces publics, les symboles, les techniques….

+ Quelques notions et référence sur l'histoire du hack…

Matériel : clé usb, pc portable (si possible).

[FR Chartres] OpenAtelier - Le mercredi 21 juin 2017 de 20h00 à 23h59.

L'OpenAtelier est un moment de rencontre et de partage ou les membres et curieux sont invités à échanger sur leurs idées et leurs projets.

Les espaces techniques sont également ouverts aux réalisations (électronique, informatique, menuiserie, impression 3D, découpe vinyle…).

Pour les curieux, c'est le bon moment pour venir découvrir l'association et ses membres.

[FR Toulouse] Rencontre Tetalab - Le mercredi 21 juin 2017 de 21h00 à 23h00.

Rencontre hebdomadaire des hackers et artistes libristes Toulousains.

[FR Amiens] Projection/débat "Qu'est-ce qu'on attend ?" - Le jeudi 22 juin 2017 de 18h00 à 22h00.

Comment une petite ville d'Alsace de 2 200 habitants, s'est lancée dans la démarche de transition pour réduire son empreinte écologique… C'est l'histoire que Marie-Monique Robin nous raconte dans son dernier film Qu'est-ce qu'on attend» sorti au cinéma en novembre 2016.

Le 22 Juin prochain, La Machinerie organise une soirée autour de ce documentaire, en partenariat avec le Cinéma Orson Welles. La projection du film donnera lieu à un débat avec le public qui se poursuivra par un temps de convivialité, de rencontre et d'échanges avec diverses associations locales, qui présenteront leurs activités aux personnes présentes.

Tarif spécial pour cette soirée : 4€05 (tickets à retirer sur place)

[FR Paris] Soirée de Contribution au Libre - Le jeudi 22 juin 2017 de 19h00 à 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 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

tout nouveau projet est le bienvenu.

[FR Toulouse] QJELT repas du Libre - Le jeudi 22 juin 2017 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 22 juin 2017 à 20 heures, au restaurant Bois et Charbon situé au 64 rue de la Colombette à Toulouse.

C'est à proximité de la place Saint Aubin accessible par le métro à la station Jean Jaurès (ligne A et B). Entrée/plat/dessert + 1/4 de vin à 19€50.

Pour des raisons de logistique, une inscription préalable avant la veille est demandée (au plus tard mardi minuit) sur sur cette page.

Important : Il est demandé de respecter ses engagements : si vous vous inscrivez, venez !

[FR Montpellier] Les logiciels libres, parlons-en ! - Le vendredi 23 juin 2017 de 17h00 à 19h00.

Le Faubourg Marché, qu’est-ce que c’est ?

Le Faubourg Marché est une permanence partagée qui permet aux associations d’accueillir ensemble, les publics de ces associations une fois par semaine, le vendredi entre 17h00 et 19h00, au 19, rue du Faubourg de Nîmes, 34000 Montpellier.

L’idée est de s’informer et d’informer les adhérents des diverses associations sur le fonctionnement du lieu et des associations, et notamment sur les 5 partenaires qui l’animent et lui permettent ainsi d’exister (autour.com, L’Accorderie, enercoop, modulauto, La Nef). Lors de cette permanence partagée vous pourrez rencontrer les associations La Graine (monnaie locale de Montpellier), éCOhabitons, Montpellier à pied, et bien sûr Montpel’libre.

Alors, si vous avez un peu de temps le vendredi soir, voici une occupation qui me semble très intéressante.
Montpel’libre est une association et un groupe d’utilisateurs (GULL), qui propose une multitude d’activités dans le cadre de la promotion des logiciels libres, et des Communs.
Depuis longtemps déjà, Montpel’libre participe à l’économie sociale et solidaire en organisant tout un éventail d’ateliers et de manifestations, au développement durable et à l’innovation sociale au travers de permanences et ateliers de présentations des logiciels libres et évidement les cartoparties, véritable actions citoyennes, sur le thème de l’accessibilité des personnes en situation de handicap.
L’activité économique, l’intérêt collectif, le fonctionnement démocratique, autant d’éléments que porte Montpel’libre, en proposant un accès entièrement libre et gratuit à une éducation populaire, au travers de ses ateliers à destination de tous les publics.

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.

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 :

  • vendredi 2 juin 2017 de 17h00 à 19h00
  • vendredi 9 juin 2017 de 17h00 à 19h00
  • vendredi 16 juin 2017 de 17h00 à 19h00
  • vendredi 23 juin 2017 de 17h00 à 19h00
  • vendredi 30 juin 2017 de 17h00 à 19h00

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

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

Vendredis 2, 9, 16, 23 et 30 juin 2017 de 17h00 à 19h00
Le Faubourg - 15, rue du Faubourg de Nîmes, 34000 Montpellier

Tramway lignes 1, 2 et 4 arrêt Corum
GPS Latitude : 43.614186 | Longitude : 3.881404
Carte OpenStreetMap

[FR St Raphael] Linux Party - Le samedi 24 juin 2017 de 09h30 à 12h00.

L’Association Linux maintient son rendez-vous mensuel et vous invite à rejoindre sa communauté afin de tester le système Linux et quelques logiciels Libres.

Venez échanger sur la philosophie du Libre et repartir gratuitement avec le système LINUX et quelques logiciels installés sur votre ordinateur portable.

C'est convivial et sans virus (entre autres avantages…

[FR Valenciennes] Permanence ValLibre - Le samedi 24 juin 2017 de 09h30 à 12h00.

Permanence assistance informatique.

Dépannage petits bobos informatiques.

Initiation à l'informatique libre.

Tous les samedis ouvrables sauf les derniers samedis du mois et les samedis en période de vacances scolaires.

Si besoin particulier, la prise de rendez-vous est fortement conseillée.

Téléphone accueil MQCV : 03 27 22 43 90

[FR Valenciennes] Atelier (wiki) HainautPédi@ - Le samedi 24 juin 2017 de 10h00 à 12h00.

Atelier pour les contributions au wiki territorial HainautPédi@

http://hainautpedia.vallibre.fr

Les ateliers HainautPédi@ sont organisés pour que les contributeurs se rencontrent et fassent évoluer ensemble le contenu du wiki.

Ces séance sont à accès libre, elles permettent également aux personnes intéressées de prendre contact avec la communauté afin d'apprendre concrètement le fonctionnement du projet.

Lors d'un atelier, des machines sont accessibles pour compléter le wiki ou simplement expérimenter.

Rendez-vous à l'espace numérique de la bibliothèque municipale de Valenciennes. Dernier samedi du mois.

[FR Airvault] Cartopartie - Le samedi 24 juin 2017 de 10h00 à 18h00.

Cartopartie OpenStreetMap organisée par l'association GEBULL avec l'aide du CSC d'Airvault.

Si vous êtes contributeur OSM et que vous n'habitez pas trop loin, nous voulons bien un petit coup de main pour montrer aux débutants.

 Venez nombreux.

[FR Roubaix] Choisir un OS et des logiciels libres, les installer ! - Le samedi 24 juin 2017 de 10h00 à 12h30.

Choisir un OS et des logiciels libres, les installer !

http://www.mediathequederoubaix.fr/agenda/install-party-linux-0

Nous vous invitons à participer au cycle “Choisir un OS et des logiciels libres, les installer !” organisé, pour la 5ème année consécutive par et à la Médiathèque de Roubaix.

- ce 03/06 de 10h00 à 12h30, sera un atelier au cours duquel pour rappellerons les principales fonctions d’un système d’exploitation pour ordinateur, les qualités et défauts des plus courants (Linux, Macos, Windows) et les choix possibles.

- le samedi 10/06 de 10h00 à 18h00, vous pourrez emmener votre ordinateur, portable ou fixe (pas besoin d’emmener clavier, souris, écran) pour y installer une version de Linux (lubuntu sera notre préconisation).
Pensez à faire une défragmentation de votre disque dur (http://www.commentcamarche.net/faq/58-defragmenter-son-disque-dur) et à sauvegarder votre données essentielles avant cette date

- au cours des deux ateliers suivants (les 17 et 24/06 de 10h00 à 12h30), toujours avec votre ordinateur, vous pourrez apprendre l’essentiel pour utiliser Linux Ubuntu au jour le jour,

N’hésitez pas à nous contacter pour toute question complémentaire, ça se passe 2, rue Pierre Motte à Roubaix !

[FR La Couronne] Permanence - accueil public - Le samedi 24 juin 2017 de 10h00 à 13h00.

Notre permanence d'accueil avec le sourire, le café et les gâteaux !

Lieu de rencontre et d'échange convivial pour discuter informatique et outils numériques.

Cette association permet à chacun de découvrir également l'univers de Linux et par extension de tous les **logiciels* et matériels libres*.

Entrée Libre. Tout Public.

[FR Ivry sur Seine] Cours de l'Ecole du Logiciel Libre - Le samedi 24 juin 2017 de 14h00 à 18h00. Présentation de l'E2L Quel est le rôle de l'école du logiciel libre ?

Tout d'abord, ce n'est pas une école comme les autres. Elle n'a pas d'établissement fixe, pas de cours de récréation, pas de carte d'étudiant, ni de diplôme de fin d'année.

Comme toutes les écoles, son rôle est d'apprendre à ses élèves les logiciels libres, c'est-à-dire :

  • comment en trouver de bons parmi les nombreux sites qui en proposent,
  • comment en prendre possession en fonction des licences,
  • comment les installer en fonction de ses besoins,
  • comment les tester et les utiliser,
  • comment en comprendre le fonctionnement pour ensuite les modifier,
  • comment écrire ses propres logiciels libres.

En fait, l'école du logiciel libre est une université populaire, comme celles qui ont vu le jour en France à partir du 19 ème siècle, et dont le but est de transmettre des connaissances théoriques ou pratiques à tous ceux qui le souhaitent. Et pour atteindre ce but, sa forme juridique est de type " association à but non lucratif ".

Comment fonctionne l'école ?

Cette école étant une association, elle possède, comme toutes les autres, un bureau, élu chaque année en assemblée générale, pour l'administrer. Mais elle a aussi des responsables pédagogiques dont le rôle est essentiel car ce sont eux qui établissent les programmes des cours en fonction des souhaits des adhérents, valident les candidatures des enseignants et affectent les sessions.

Les membres du bureau et les responsables pédagogiques forment "l'encadrement de l'école ". Tous les membres "encadrants" doivent être membres de l'association.

Les locaux où se déroulent les cours seront ceux que l'on veut bien nous prêter : une salle des fêtes, un théâtre, une salle de réunion publique, un amphi dans une école publique, ou autre.

Les thèmes des cours sont définis par les adhérents en fonction de leurs envies, de leurs besoins. Les cours sont ensuite décidés par les responsables pédagogiques de l'école en fonction des enseignants disponibles.

Afin de permettre au plus grand nombre de participer et d'assister aux cours, les sessions se tiennent essentiellement le samedi. Une première de 9h à 12h30, et une autre de 14h à 17h30.

Programme détaillé sur le site http://e2li.org

[FR Fontaine-lès-Dijon] Café Réparation - Le samedi 24 juin 2017 de 14h00 à 18h00.

Les fablabs L'abscisse (COAGUL) et l'Atelier D'calés organisent un 8ème Café Réparation. Celui-ci a lieu samedi 24 juin de 14h00 à 18h00 dans les locaux de l'Atelier D'calés au 5, rue des Ponnières, à Fontaine-lès-Dijon.

Ce 8ème Café Réparation a pour thématique la réparation d'objets en bois ou en métal et la réparation des petits appareils électroménagers ou électroniques, des ordinateurs et des petits objets de la vie quotidienne.

Le Café Réparation est un moment convivial où des réparateurs amateurs et/ou professionnels bénévoles vont partager avec vous leurs savoir-faire. Vous pouvez donc venir avec un objet à réparer, sans promesse de résultat, nous pourrons au minimum faire un diagnostic de votre objet ou de votre appareil.

Que faire d’une lampe de bureau qui ne s'allume plus ? d'une chaise décollée ? d’un ordinateur qui ne démarre plus ? d'un grille pain qui ne fonctionne plus ? d'un cadre de vélo fendu ? Pourquoi les jeter lorsqu'on peut les réparer ? Vous n'avez pas les compétences pour le faire ? d'autres personnes sont prêtes à vous aider !!

Cette rencontre est ouverte à tous, l’entrée est libre et gratuite. Des outils, du matériel et des savoir-faire seront disponibles pour mettre en œuvre toutes les réparations possibles et imaginables. Tables, chaises, appareils électriques, bicyclettes, objets utiles, jouets, et autres.

On peut venir avec son savoir faire, quelque chose à réparer ou tout simplement venir pour boire un café et discuter.

[FR Marseille] Install Party GNU/Linux - Le samedi 24 juin 2017 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 24 juin 2017 de 14h00 à 19h00, dans la salle du Foyer du Peuple 50 rue Brandis 13005 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 24 juin 2017 de 14h00 à 18h00.

Le samedi 24 Juin 2017, nous organisons notre Journée Mensuelle du Logiciel Libre à la Maison St Sever à Rouen. (Centre Commercial St Sever, 10-12 rue Saint-Julien 76100 Rouen) de 14h00 à 18h00. Rouen, Normandie.

On fera connaissance avec la toute dernière version de openSUSE, la openSUSE Leap 42.2, Gnome 3.16.2, LibreOffice et beaucoup d’autres distributions Linux.

Nous fêterons l'arrivée de la beta de SUSE Linux Enterprise 12 SP3 qui comme vous le savez est la pièce maitresse de Leap 42.2 et qui est maintenue par des ingénieurs SUSE.

Nous distribuerons gracieusement des DVDs openSUSE 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

Venez aussi découvrir

  • Open365 : une alternative open source à
  • Office 365 et Google Drive

Voici une liste des démonstrations de logiciels libres (FOSS) que nous vous proposerons :

  • Blogs: WordPress – unicode (4.5), Serendipity (2.0.3), Habari (0.9.2)
  • Gestion du Contenu: CMS Made Simple (2.1.4), Concrete5 (5.6.3.1), Drupal (8.1.3), E107 (2.1.1), EQDKP Plus (1.0.9), Joomla (3.6.2), PHPFusion (7.02.07), REDAXO (4.5.0), Typo3 (Professional) (6.2.21), Website Baker (2.8.3 [R1645] SP6) 
  • Forums: MYBB (1.8.7), punBB v1 (1.4.4), SMF (2.0.11)
  • E-Commerce: OpenCart (2.2.0.0), OXID eSales (4.7.8), PrestaShop (1.6.1.5), OXID eSales (4.7.8), Shopware (4.1.3)
  • Groupware: WebCalendar (1.2.7)
  • Livre d’or: OpenBook (1.2.2)
  • Galleries photo: Coppermine (1.5.42), Gallery (3.0.9), Piwigo (2.8.0)
  • Sondage: VzPoll (1.0), Advanced Poll (2.0.9), LimeSurvey (2.00+ build131022)
  • RSS: Tiny Tiny RSS (1.10)
  • Wikis: DokuWiki (2015-08-10a) MediaWiki (1.26.2)
  • Linux: SUSE, openSUSE, Mandriva, Debian, Ubuntu…
  • Bureautique: Open Office, FireFox, Mozilla, KompoZer, Amaya, open365
  • Serveurs / web / Framework: Apache, PHP, MySQL, Perl, Xen
  • Bureaux: KDE, Gnome
  • Utilitaires: openSSH dont Dataplicity pour Raspberry Pi, FileZilla etc.
  • Dévelopment: Github - Gérez votre code avec Git et GitHub

Si vous voulez présenter une distribution ou un logiciel libre, téléphonez-moi assez rapidement pour la logistique.

Nous allons axer des sessions sur l’interopérabilité, de sorte de faire une migration en douceur vers le logiciel libre et qui d’ailleurs a toujours été notre fer de lance.

[FR Juvisy-sur-Orge] Permanence GNU/LINUX - Le samedi 24 juin 2017 de 14h30 à 16h30.

Permanence GNU/LINUX, installation et maintenance par LINESS en partenariat avec l'ACJ (Association Culture et Jeunesse) 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.

C'est un pavillon dans un jardin.
Attention du fait des travaux de la gare l'accès en voiture peut être difficile.
Éventuellement stationner parc Danaux ( à coté du pont sur la Seine ) qui est gratuit le samedi après-midi ( 3 mn à pied après pour aller à l'ACJ)

Par contre c'est tout à coté de la gare.

[FR Courbevoie] Assemblée Générale de StarinuX - Le samedi 24 juin 2017 de 15h00 à 18h00.

Nous avons le plaisir de vous convier à :

L'ASSEMBLÉE GÉNÉRALE annuelle de l'association StarinuX,

qui aura lieu le samedi 24 JUIN 2017 à 15h,

au Bâtiment des associations, 48 rue de Colombes 92400 Courbevoie,

7 min de la Gare COURBEVOIE,  SNCF St Lazare <=> La Défense,
ou RATP bus 275 métro Pont Levallois <=> La Défense, arrêt STADE.

StarinuX oeuvre pour le bien commun du logiciel Libre et Opensource,

essentiellement par l'organisation de nombreux ateliers concrets et pratiques.

Toutes personnes intéressées sont invitées, seuls les adhérents peuvent voter.

Cette réunion annuelle est le moment de nous rencontrer pour bâtir avec vous de nouveaux projets.

StarinuX est une association dynamique qui a besoin d'accroître son équipe active,
nous espérons VIVEMENT des vocations et talents qui lèveront la main !

Toutes infos : https://www.starinux.org , mail : contact@starinux.org

Au plaisir de vous rencontrer le 24 JUIN 2017,

Bien à vous,

Le Bureau de StarinuX.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de Linphone Desktop 4.0, logiciel libre de voix sur IP

17 juin, 2017 - 16:04

Après neuf mois de développement intense, c’est avec plaisir que nous vous annonçons la naissance de notre nouveau bébé : Linphone 4. Pour rappel, Linphone est un logiciel de téléphonie par Internet utilisant le protocole SIP qui est distribué sous licence (propriétaire et GPL v2) compatible GNU/Linux, Windows et macOS.

Développé précédemment avec la bibliothèque graphique GTK 3, ce dernier a été abandonné au profit du couple Qt 5.9 et QML. Il en résulte des changements majeurs décrits et présentés en seconde partie de cette dépêche.

Les nouveautés

Parmi les nouveautés majeures nous pouvons citer :

  • une interface graphique moderne ;
  • une ergonomie entièrement remaniée et beaucoup plus intuitive ;
  • un accès rapide aux fonctionnalités principales de l’application grâce à une barre de recherche intelligente permettant de téléphoner, d’envoyer un message ou encore de créer un contact ;
  • des fonctionnalités d’appel avancées : vidéo HD, conférence audio, accès rapide au clavardage en cours d’appel, etc. ;
  • un historique unifié pour les messages et les appels ;
  • adieu les widgets, bonjour QML ! Il en résulte une application avec un thème identique pour tous les systèmes d’exploitation ;
  • beaucoup de nouvelles fonctionnalités sont encore en développement et seront accessibles dans les prochains mois !
Les captures d’écran

Voici quelques captures d’écran de cette nouvelle version :



Télécharger ce contenu au format Epub

Lire les commentaires

Thème Sécurité RMLL 2017 : de la confidentialité à l'IoT en passant par…

14 juin, 2017 - 14:39

Les RMLL sont de retour cette année et cela se passera du 1er au 7 juillet à Saint‐Étienne. Pour ce qui concerne le thème Sécurité, ce sera deux jours et demi de conférences, tables rondes et ateliers du lundi 3 au mercredi 5 juillet.

Les thématiques couvertes cette année seront des plus diverses et nous espérons que cette diversité attisera votre intérêt.

Nous avons aussi besoin de vous : mardi en fin d’après‐midi, un créneau d’une heure est ouvert aux présentations courtes (5 min max). Vous avez des choses novatrices à dire sur la sécurité et le logiciel libre ? Venez !

Mais prenons le temps de parcourir ensemble le menu…

Programme Lundi 3 juillet après‐midi

Conférences et atelier sur la confidentialité et une table ronde sur les objets connectés :

S’ajoutera à cela, une table ronde sur les objets connectés réunie et animée par Chantal Bernard‐Putz.

Mardi matin

Nous nous concentrerons sur le chiffrement, la cryptographie et les attaques bas niveau :

Pour en savoir plus sur le parcours de Clémentine Maurice et ce sujet pas si commun, une interview  est à votre disposition.

Mardi après‐midi

Benjamin Sontag vous propose de le rejoindre pour un atelier d’auto‐défense numérique. Quel que soit votre niveau, vous serez le bienvenu et vous tirerez à coup sûr de cet atelier beaucoup d’enseignements pour sécuriser toutes vos pratiques numériques (stockage, communication, authentification, publication…).

En parallèle, les objets connectés et l’analyse de binaires seront au cœur des débats :

Point spécial : des présentations éclairs (5 minutes) seront données en fin d’après‐midi. Nous publierons l’adresse de soumission sur les réseaux sociaux. :)

Mercredi

Nous couvrirons les versants système, réseau :

Mardi après‐midi

L’après‐midi nous emmènera :

Si vous préférez manipuler, Hydrabus sera de retour avec ses concepteurs Benjamin Vernoux et Nicolas Oberli, pour un atelier. :-)

C’est libre, c’est sécurisé, c’est à Sainté : venez !

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de la version 2 de Kansha, outil collaboratif et visuel de gestion de tâches

14 juin, 2017 - 14:39

Nous sommes heureux d’annoncer la sortie de la version 2 de Kansha, outil collaboratif et visuel de gestion de tâches. C’est une application Web dans le style du logiciel propriétaire Trello, multi‐plate‐forme, écrite en Python et disponible sous licence BSD.

Les nouveautés par rapport à la version 1 sont :

  • une nouvelle apparence, plus moderne, plus claire ;
  • une ergonomie améliorée de la plupart des fonctionnalités, pour un usage encore plus fluide, plus intuitif et plus agréable ;
  • une interface plus réactive ;
  • la possibilité de créer des modèles de tableaux personnalisés, pour démarrer plus rapidement ses projets ;
  • la possibilité de partager des tableaux avec tous les utilisateurs de la plate‐forme ;
  • une vue à la semaine dans l’agenda ;
  • deux nouvelles langues pour l’interface des utilisateurs : turc et japonais.

Vous pouvez tester la version 2 de Kansha ou l’installer rapidement via docker :
docker run -p 8080:8080 netng/kansha:v2.0.0
Kansha s’installe plus classiquement à partir de PyPI. La documentation est écrite en anglais : un manuel PDF en français est disponible sur demande à kansha@net-ng.com.

Télécharger ce contenu au format Epub

Lire les commentaires

Revue de presse — juin 2017

13 juin, 2017 - 17:22

Petit complément à la revue de presse de mai dernier avec les sorties de juin qui viennent compléter ce cycle printanier avant les prochaines revues de l’été.

  • GNU/Linux Magazine France no 205 se penche sur la conception de petits mondes physiques virtuels à base de modules en Julia ou de jeu de la vie en Python. Mais du Python, vous en aurez avec la manipulation avancée de bits, l’affichage de LED. Et, bien sûr, l’incontournable Raspberry est là pour contrôler un réseau CAN. En attendant MISC, vous aurez droit à une analyse en règle de l’exploitation de la faille Dirty Cow ;
  • MISC hors‐série no 15 : la sécurité des objets connectés a droit un son hors‐série complet et ce n’est pas un mal. Quatre parties : intro et protocoles, les risques, les attaques et les pistes d’amélioration de la sécurité. Rassurez‐vous, on a tout de même trouvé des traces de Raspberry Pi en pages 14 et 27. À mettre entre toutes les mains des start‐ups du moment ;
  • Planète Linux no 97 se demande s’il faut avoir peur de GNU/Linux et taille le portrait de Richard Stallman, sans oublier l’inoubliable Raspberry Pi qui se prend du nginx dans le ventre cette fois. Toujours plein de distributions au programme : Ubuntu 17.04, forcément, mais aussi Peppermint et Primtux ;
  • et les nouvelles versions des Linux Identity avec toujours de la distribution GNU/Linux en masse sur d’innombrables DVD‐ROM contenant de l’Ubuntu en pagaille, Xubuntu, Ubuntu GNOME, Ubuntu Mentholée, Ubuntu Origins (aussi appelée Debian) et Tails. Mon royaume pour de l’USB.
GNU/Linux Magazine no 205

MISC hors‐série no 15

Planète Linux no 97

Télécharger ce contenu au format Epub

Lire les commentaires

Revue de presse de l’April pour la semaine 23 de l’année 2017

13 juin, 2017 - 09:40

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

Sommaire

[20minutes.fr] Ces makers montrent la voie aux esprits créatifs
Par la rédaction, le vendredi 9 juin 2017. Extrait :

« “On nous a appris à être passifs, alors qu’on est tous capables de créer”, lance, dans un élan d’enthousiasme, Hortense Sauvard. La fondatrice de la plate‐forme Oui Are Makers (ouiaremakers.com) sera présente ce week‐end à la Cité des sciences de Paris à l’occasion de la Maker Faire, qui a accueilli 65 000 visiteurs l’année dernière. »

[La Vie] À Caen, un collectif pour lutter contre la fracture numérique
Par Laurent Grzybowski, le mercredi 7 juin 2017. Extrait :

« Mettre l’informatique au service des citoyens, quels que soient leurs moyens, leurs connaissances et leurs besoins. C’est l’objectif d’Artifaille, un collectif d’entraide qui propose aussi des supports informatiques libres et transparents. »

[Numerama] Droit d’auteur : l’incertitude règne en Europe sur le devenir de la directive Copyright
Par Julien Lausson, le mardi 6 juin 2017. Extrait :

« La Commission européenne a présenté en septembre une directive sur le droit d’auteur dont certaines dispositions sont vivement critiquées. Alors que des commissions spécialisées au Parlement européen ont proposé d’arrondir les angles, le plus grand flou règne sur la position des eurodéputés. »

[Silicon] GitHub dévoile la face cachée du développement Open Source
Par Jacques Cheminat, le lundi 5 juin 2017. Extrait :

« GitHub a mené un sondage. La pauvreté de la documentation, des relations musclées et la faible mixité sont pointés du doigt. »

[BFMtv] Theresa May appelle à « réglementer le cyberespace »
Par Olivier Laffargue, le lundi 5 juin 2017. Extrait :

« La Première ministre britannique s’en est pris dimanche aux géants du Net, accusés de fournir aux terroristes des plates‐formes où ils peuvent librement propager leurs idéologies extrémistes. Elle appelle les gouvernements à travailler ensemble afin d’empêcher la diffusion de ces idées sur Internet. »

Télécharger ce contenu au format Epub

Lire les commentaires

Appel à contribution : Projet Veni, Vidi, Libri

13 juin, 2017 - 07:55

La refonte du projet Veni, Vidi, Libri a été initiée.

Pour rappel, le projet Veni, Vidi, Libri vise à promouvoir les licences libres et à faciliter le passage de créations sous licence libre. L’idée étant d’en faire un référentiel qui puisse guider les auteurs, favoriser le respect des « bonnes pratiques » et d’ouvrir le tout aux contributeurs.

La version du site est tombée en désuétude, d’où le besoin de relancer le projet.

Pour s’assurer de sa pérennité, nous souhaitons rassembler des personnes volontaires pour s’impliquer au sein du projet à moyen, voire long terme (dans le cadre du site ou plus largement).

Le cabinet inno³ organise une rencontre le 20 juin 2017 à 18 h au 137 boulevard Magenta à Paris, pour initier le projet en présentant une première version du nouveau site Internet, d’autres réunions auront lieu cet été afin de finaliser la mise en forme du projet.

Transports en commun :

  • métro lignes 2 et 4, station Barbès‐Rochechouart ;
  • métro lignes 4 et 5, station Gare du Nord ;
  • RER E, station Magenta.
Télécharger ce contenu au format Epub

Lire les commentaires

Rencontres Mondiales du Logiciel Libre 2017 : hébergement et organisation

12 juin, 2017 - 22:26
LIBRE ET CHANGE

Du 1er au 7 juillet c’est bien à Saint‐Étienne qu’Alolise nous invite à venir échanger et partager sur le Libre. Ce sera sur l’espace de la Manufacture (en face de la Cité du Design).
Pour rappel, les RMLL sont un cycle de conférences initiées par l’association bordelaise ABUL en 2000. Chaque année, une association du Libre reprend le relai pour l’organisation et héberge ces dernières dans sa propre ville. Ces rencontres ont ainsi parcouru la France et même fait des haltes en dehors des frontières. Elles sont animées chaque année depuis leur création par des intervenants se déplaçant des quatre coins du monde et visitées par des milliers de passionnés et curieux. Dix‐sept ans que ça dure quand même…

Hébergements et repas sont présentés en seconde partie.

Hébergement

Comme chaque année l’accès aux RMLL est gratuit et ouvert à tous. Cette année nous avons vraiment voulu mettre en avant le grand public, sans pour autant délaisser les initiés, passionnés et professionnels aguerris.
Nous avons aussi réservé des places pour se loger autour de l’événement. Un article a été publié dans ce sens sur le site des RMLL 2017 et un espace de réservation est ouvert sur le site de programmation :
Dormir sur place est tout à fait possible, l’équipe a prévu le coup en réservant des hébergements.

Repas du Libre

Classique rendez‐vous des Rencontres Mondiales du Logiciel Libre, le repas du Libre se déroule cette année le mercredi 5 juillet de 19 h à 22 h. Le menu n’est pas encore publié, mais on vous le promet, ce sera bon et convivial.
Même processus pour réserver, il suffit d’aller sur le site et de se laisser guider.
Pour les personnes cœliaques ou ayant des contre‐indications alimentaires, merci de l’indiquer lors de votre réservation, ou de nous contacter à :
hebergement(chez)listes2017.rmll.info.

Télécharger ce contenu au format Epub

Lire les commentaires

Agenda du Libre pour la semaine 24 de l’année 2017

11 juin, 2017 - 18:42

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 42 événements (1 en Belgique, 37 en France, 4 au Québec et 0 en Suisse) est en seconde partie de dépêche.

Sommaire [FR Courbevoie] OSIS 2017 - PyParis - Du lundi 12 juin 2017 à 9 h au mardi 13 juin 2017 à 18 h.

The PyParis conference (June 12-13 2017) is a gathering of users and developers of tools written in the Python programming language. Our goals are to provide Python enthusiasts a place to share ideas and learn from each other about how best to apply the language and tools to ever-evolving challenges in the vast realm of data analytics, cloud computing, web application development, IoT, scientific computing, etc.

We aim to be an accessible, community-driven conference, with tutorials for novices, advanced topical workshops for practitioners, and opportunities for package developers and users to meet in person.

A major goal of PyParis is to provide a venue for users across all the various domains of information technology and computer science to share their experiences and their techniques, as well as highlight the triumphs and potential pitfalls of using Python for certain kinds of problems.

This year, we will have the following tracks:

  • Data analytics (“PyData”) and scientific computing (including a special track dedicated to scikit-learn)
  • Apps and cloud computing
  • Core Python
  • Education

Cette journée fait partie du Printemps de l'innovation Open Source, rendez-vous de l’excellence scientifique et technologique du libre et de l’open source. Initiée par le GTLL (Groupe thématique Logiciel libre de Systematic) et l’Irill (Initiative de Recherche et Innovation sur le Logiciel libre), l'OSIS vise à montrer le rayonnement international de projets issus de la recherche et de l’innovation française.

Inscription

[FR Grenoble] Rencontre du groupe local OpenStreetMap - Le lundi 12 juin 2017 de 18h30 à 21h30.

Le collectif "OpenStreetMap Grenoble" vous propose un atelier "Passerelles OpenStreetMap / Wikidata / Wikipédia / Commons"

Au programme : utilisation de l'extension Kartographer dans Wikipédia, avec les possibilités de faire des cartes dynamiques internes, soit autonomes, soit tirant des infos d'OSM ou de Wikidata.

Que vous soyez débutant ou confirmés, cette soirée est ouverte à tous !

Pratique : A partir de 18h30 à La Coop-Infolab. 31 rue Gustave Eiffel – 38000 Grenoble

C’est quoi OSM ? OpenStreetMap (OSM) est un projet international fondé en 2004 dans le but de créer une carte libre du monde. Nous collectons des données dans le monde entier sur les routes, voies ferrées, les rivières, les forêts, les bâtiments et bien plus encore ! Les données cartographiques collectées sont ré-utilisables sous licence libre ODbL (depuis le 12 septembre 2012).

[FR Marseille] Picnic carto OpenStreetMap - Le lundi 12 juin 2017 de 19h00 à 23h00.

Les contributeur.ice.s d'OpenStreetMapde la région PACA se réunissent le*lundi 12 juin 2017, à partir de 19h00 au jardin de la colline Puget.*

Si vous êtes perdus 06 46 84 zéro deux 93

La réunion est ouverte à tou.te.s.

Entrée Libre.

[FR Rennes] Réunion mensuelle OpenStreetMap - Le lundi 12 juin 2017 de 20h00 à 22h00.

L'association Gulliver propose chaque 2e lundi du mois une réunion autour du projet de cartographie collaborative OpenStreetMap.

L'occasion de découvrir le projet, de venir échanger sur les nouveauté, de partager vos initiatives.

[FR Montpellier] WikiPermanence - Le lundi 12 juin 2017 de 20h00 à 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 est là pour répondre aux questions, permettre des démonstrations, offrir une aide aux premiers pas et, si cela se fait régulièrement, permettre un suivi.

Elles nous permettront d’aborder les sujets tels que :

Un instant est prévu pour l’initiation des débutants

  • Journées contributives Wikipédia à Arles
  • Liberté de panorama
  • Présentation du guide pratique des groupes locaux
  • Le partenariat avec les archives départementales de l’Hérault
  • Préparer les prochains WikiCheeses
  • Planifier la prochaine Opération Libre
  • Impulser une dynamique
  • Promouvoir la diffusion de la connaissance libre
  • Apprendre à contribuer
  • Échanger des expériences
  • Faire un bilan des événements passés
  • Faire des perspectives pour les actions futures
  • Et tout simplement, passer un moment convivial

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 à 20h00 :

  • lundi 12 septembre 2016 de 18h00 à 20h00
  • lundi 10 octobre 2016 de 18h00 à 20h00
  • lundi 14 novembre 2016 de 18h00 à 20h00
  • lundi 12 décembre 2016 de 18h00 à 20h00
  • lundi 9 janvier 2017 de 18h00 à 20h00
  • lundi 13 février 2017 de 18h00 à 20h00
  • lundi 13 mars 2017 de 18h00 à 20h00
  • lundi 10 avril 2017 de 18h00 à 20h00
  • lundi 8 mai 2017 de 18h00 à 20h00
  • lundi 12 juin 2017 de 18h00 à 20h00
  • lundi 10 juillet 2017 de 18h00 à 20h00

Cet événement est proposé par le tri-partenariat Club de la Presse, Wikipédia et Montpel’libre.

Atelier des Pigistes au 171, rue Frimaire, 34000 Montpellier

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

[FR Courbevoie] OSIS 2017 - Scikit-learn day - Le mardi 13 juin 2017 de 09h30 à 17h30.

The scikit-learn days will unite a comunity of users and developers doing machine learning and data science in Python. The goals are to provide Python enthusiasts a place to share ideas and learn from each other about how best to apply the language and tools to ever-evolving challenges in the vast realm of data management, processing, analytics, and visualization. We aim to be an accessible, community-driven conference, with tutorials for novices, advanced topical workshops for practitioners, andopportunities for package developers and users to meet in person. Our goal is to provide a discussion forum across all the various domains of data analysis to share experiences and techniques on data as well as progresses of libraries.

Programme

  • 09:50 - Machine Learning for Computer Security Experts using Python & scikit-learn, Anaël Bonneton, ANSSI - ENS Paris
    We present SecuML, a Python open source tool that aims to foster the use of Machine Learning in Computer Security. It allows security experts to train models easily and comes up with a user interface to visualize the results and interact with the models.

  • 10:30 - Cloud computing made easy in Joblib, Alexandre Abadie, Inria
    Joblib is a Python package initially designed for efficient computing of embarrassingly parallel problems on a local computer or a laptop. This talk gives a short introduction of the features provided by Joblib and the recent developments that make them usable on Cloud computing infrastructures.

  • 10:50 - Imbalanced learn, Guillaume Lemaître, Inria Saclay
    Imbalanced-learn, a Python module to perform under sampling and over sampling with various techniques.

  • 11:10 - Introduction to pomegranate, Venkat Raghav Rajagopalan, Telecom Paristech
    Pomegranate is a python module for probabilistic modelling focusing on both ease of use and speed, beating out competitors in benchmarks. In this talk I will describe how to use pomegranate to simply create sophisticated hidden Markov models, Bayesian Networks, General Mixture Models (and more).

  • 14:00 - Building and deploying a predictive API using scikit-learn, Flask and Docker, Nawfal Tachfine, Aramisauto.com
    The aim of this workshop is to expose a trained scikit-learn machine learning model as a REST API, built with Flask and Docker, to be queried by any system in JSON.

  • 14:40 - How to prepare your text data for NLP applications, Loryfel Nunez, FindSignal
    Data cleaning is not as sexy as the the actual NLP algorithms. True. BUT, how your prepare your data will determine how well, or poorly your algorithm will perform. This talk will focus on Python’s libraries to extract important text or to remove unwanted text to prepare your data for NLP tasks.

  • 15:20 - Machine Learning to moderate ads in real world classified’s business, Vaibhav Singh, OLX Naspers Services GmbH
    In this talk we share our experiences on how we at OLX Berlin built machine learning models to moderate 100+ million classified ads every month. Audience will get a chance to experience a real world of content moderation and a race to beat online fraudsters and scammers.

Cette journée fait partie du Printemps de l'innovation Open Source, rendez-vous de l’excellence scientifique et technologique du libre et de l’open source. Initiée par le GTLL (Groupe thématique Logiciel libre de Systematic) et l’Irill (Initiative de Recherche et Innovation sur le Logiciel libre), l'OSIS vise à montrer le rayonnement international de projets issus de la recherche et de l’innovation française.

Inscription

[FR Teyran] Notions PC Ancestis - Le mardi 13 juin 2017 de 10h00 à 12h00.

Ces ateliers vous permettront de manipuler au quotidien, d’expérimenter et de créer :

  • Installation et prise en main de Scribus
  • S’initier au tableur avec LibreOffice Calc
  • Réalisez votre généalogie avec le logiciel libre Ancestis
  • Réalisez des cartes postales avec Gimp
  • Mettre en page un livret avec Scribus

Scribus est un logiciel libre de PAO, distribué sous licence GNU GPL. Il est conçu pour une mise en pages flexible et a la capacité de préparer des fichiers pour des équipements professionnels. Il peut également créer des présentations animées et interactives, et des formulaires PDF. Il peut servir à réaliser des dépliants, des plaquettes, des livres et des magazines, et tout type de document destiné à être imprimé ou à être visualisé sous forme numérique.

LibreOffice Calc est le tableur dont vous avez toujours eu besoin. Les nouveaux utilisateurs le trouvent intuitif et facile à apprendre. Les professionnels des données et manipulateurs de chiffres apprécieront la
gamme complète de fonctions avancées. Les assistants peuvent vous guider dans le choix et l’utilisation d’une gamme complète de fonctions de feuilles de calcul avancées. Ou vous pouvez encore télécharger des modèles à partir du référentiel LibreOffice, pour des solutions de feuilles de calcul prêtes à l’emploi.

Ancestris est un logiciel de généalogie gratuit respectant la spécification GEDCOM. C’est un logiciel libre sous licence GNU GPL 2.0 disponible pour Linux, BSD, Solaris, MAC et Windows. Il est écrit en langage Java et repose sur la plate-forme NetBeans d’Oracle. Ancestris travaille directement sur le fichier GEDCOM ce qui garantit la maîtrise des données, évite d’avoir à faire des exports, et facilite les échanges de données entre plusieurs personnes travaillant sur une même généalogie.

The Gimp offre de nombreuses fonctionnalités. Il peut être utilisé comme un simple programme de dessin, comme un programme de retouche photo, comme un système en ligne de traitement par lot, comme un générateurd’image pour la production en masse, pour convertir un format d’image en un autre. GIMP est extensible. On peut lui ajouter de nombreux « Greffons » (plug-ins). Une interface de scripts bien développée permet de créer des procédures, les scripts, regroupant plusieurs opérations.

Entrée libre et gratuite sur inscription.

La participation aux ateliers nécessite

  • de s’inscrire préalablement à la médiathèque
  • de retourner le bulletin afin de nous indiquer les ateliers choisis (nombre de places limitées ; certains ateliers sont déjà complets)

Mercredi 7 juin 2017 de 10h00 à 11h00 (Scribus)
Mercredi 7 juin 2017 de 11h00 à 12h00 (LibreOffice Calc)
Mardi 13 juin 2017 de 10h00 à 12h00 (Ancestis)
Mercredi 14 juin 2017 de 10h00 à 11h00 (Gimp)
Mercredi 21 juin 2017 de 10h00 à 11h00 (Scribus)

Médiathèque de Teyran - Place du jeu de ballon 34820 Teyran

[FR Biot] RAL Learning Centre - Le mardi 13 juin 2017 de 18h00 à 20h30.

Certains les appellent « install party », d’autres encore « Soirées Linux », mais les Rencontres Accès Libre sont tout cela en même temps, et bien plus encore…

C'est l’occasion de :

  • discuter, échanger, expliquer ;
  • installer des logiciels libres ;
  • et, toute autre idée coopérative de solidarité à but non lucratif !

Entrée Libre. Tout Public.

[FR Nantes] Atelier OpenStreetMap : transports en commun - Le mardi 13 juin 2017 de 18h30 à 21h30.

Proposition du jour :

Transports en Commun bis repetita !

Vous avez aimé l'atelier bus du 9 mai et l'avez trouvé trop court ?
Vous avez raté l'atelier bus du 9 mai et vous en mordez les doigts ?
Tout va bien : on remet ça le 13 juin !

Les lignes de transport en commun ont besoin d'un petit coup de frais à Nantes. Contribuer sur cette thématique est un bon moyen de maîtriser les relations avec JOSM, et nous pourrons nous aider les un.e.s les autres. Nous aurons en plus le plaisir d'accueillir un grand spécialiste des TC en France, j'ai nommé Virgile1994 : venez profiter de son expérience !

Apportez votre ordinateur portable si vous en avez un. Pas de souci si vous n'en avez pas, plusieurs PCs sont à notre disposition chez Médiagraph.

[FR Brignoles] Réunion Formations & Débats - Le mardi 13 juin 2017 de 18h30 à 23h00.

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 13 juin 2017, dès 18h30, en la salle des Saint Anges, chemin de San Sumian à Brignoles.

À partir de 19h30, ateliers proposés par Jérôme Décamps :

  • Information sur l’évolution du site ;
  • Référencement et positionnement des sites dans les moteurs de recherche.

À partir de 20h30, ateliers proposés par Eric Rojas :

  • Outils bureautique LibreOffice Writer : gestion du sommaire et index automatique ;
  • Outils Graphiques GIMP : retouche de l’exposition.

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 Nanterre] Portes ouvertes de l'Electrolab - Le mardi 13 juin 2017 de 20h00 à 21h00.

Le mardi soir est le jour où nous invitons les nouveaux et les curieux à découvrir l'Electrolab de Nanterre lors d'une petite visite guidée.

Qui sommes nous ?

Laboratoire, makerspace, atelier, grand garage collectif, ces termes nous décrivent tous un peu sans toutefois parvenir à être exacts ou exhaustifs.

L’Electrolab, c’est avant tout une association à but non lucratif dont l’objet est le partage des connaissances dans le domaine des sciences et des techniques.

C’est une communauté de passionnés qui se sont retroussés les manches pour faire leur petit coin de paradis électrique, mécanique, chimique et biologique : enfin le terrain de jeu dont on rêvait tous ! Il fait 1500m² et vous y êtes conviés.

Et que puis-je
faire au lab
exactement ?

Tout et surtout n’importe quoi, mais pas n’importe comment.

De la machine à coudre en fonte au laser 1200 Watts en passant par les tours et fraiseuses à commande numérique (ou pas), la découpe plasma, la fonderie aluminium et bronze, la sérigraphieuse et le perchlorure de fer (ouf !), il y a de quoi expérimenter dans bien des domaines. Libre à chacun d’avancer à son propre rythme dans la direction où sa curiosité l'entraine. Les seules limites : votre imagination, et la sécurité. Le hackerspace se méthamorphose constamment selon les envies et les projets de la communauté : la Doocracy (celui qui fait décide).

Je n’ai pas
de projet
précis…

On a de quoi faire !

On a pour habitude de dire que le plus gros projet du lab, c'est le lab lui-même ! Toutes les bonnes volontés sont bienvenues pour construire nous-même notre espace et l'aménager selon nos envies. S’initier à un domaine ou un autre, notamment lors d'ateliers et de formations entretenir ou réparer, améliorer le matériel, participer aux récup’ du week-end : la liste des choses possibles est longue et il ne tient qu'à vous de l'allonger. Par ailleurs, les membres ont aussi des projets, aussi n’hésitez pas : échangez avec eux, observez leur travail et impliquez vous ! Les projets sont documentés sur le wiki sous license libre si vous cherchez l'inspiration ou par simple curiosité.

Mais euh…
pourquoi un
“hackerspace” ?

Parce que nous nous revendiquons de l’esprit "hacker", qui s'exprime par exemple dans le logiciel libre et le Do It Yourself.

Au coeur de celui-ci : le partage des savoirs, l'émulation, la liberté de faire et l'envie de comprendre. Que ce soit en créant de nouvelles choses et outils, ou en améliorant continuellement ceux qui existent, l’esprit de détournement de la culture du hack correspond à cette volonté d’indépendance et d’expérimentation qui anime tous les membres.

[FR Lille] Introduction à Ionic 2 - Le mardi 13 juin 2017 de 20h30 à 22h30.

Le mardi 13 juin à 20H30 se tiendra une présentation d’Ionic au Bobble Café, 289 avenue de Dunkerque à Lille. Métro Canteleu

Le Bobble Café est un bar/salle d’arcade situé près d’Euratechnologies, il se remarque par sa participation active au développement du logiciel de caisse Pastèque

Ionic est un framework de développement mobile multi plate-formes basé sur Angular et Cordova. Concrètement, vous avez besoin de vagues notions en HTML/CSS et d’une connaissance  de Javascript.

Venez avec votre ordinateur et votre GSM, on tentera de faire un Hello World tous ensemble !

[FR Teyran] Notions PC Gimp - Le mercredi 14 juin 2017 de 10h00 à 11h00.

Ces ateliers vous permettront de manipuler au quotidien, d’expérimenter et de créer :

  • Installation et prise en main de Scribus
  • S’initier au tableur avec LibreOffice Calc
  • Réalisez votre généalogie avec le logiciel libre Ancestis
  • Réalisez des cartes postales avec Gimp
  • Mettre en page un livret avec Scribus

Scribus est un logiciel libre de PAO, distribué sous licence GNU GPL. Il est conçu pour une mise en pages flexible et a la capacité de préparer des fichiers pour des équipements professionnels. Il peut également créer des présentations animées et interactives, et des formulaires PDF. Il peut servir à réaliser des dépliants, des plaquettes, des livres et des magazines, et tout type de document destiné à être imprimé ou à être visualisé sous forme numérique.

LibreOffice Calc est le tableur dont vous avez toujours eu besoin. Les nouveaux utilisateurs le trouvent intuitif et facile à apprendre. Les professionnels des données et manipulateurs de chiffres apprécieront la gamme complète de fonctions avancées. Les assistants peuvent vous guider dans le choix et l’utilisation d’une gamme complète de fonctions de feuilles de calcul avancées. Ou vous pouvez encore télécharger des modèles à partir du référentiel LibreOffice, pour des solutions de feuilles de calcul prêtes à l’emploi.

Ancestris est un logiciel de généalogie gratuit respectant la spécification GEDCOM. C’est un logiciel libre sous licence GNU GPL 2.0 disponible pour Linux, BSD, Solaris, MAC et Windows. Il est écrit en langage Java et repose sur la plate-forme NetBeans d’Oracle. Ancestris travaille directement sur le fichier GEDCOM ce qui garantit la maîtrise des données, évite d’avoir à faire des exports, et facilite les échanges de données entre plusieurs personnes travaillant sur une même généalogie.

The Gimp offre de nombreuses fonctionnalités. Il peut être utilisé comme un simple programme de dessin, comme un programme de retouche photo, comme un système en ligne de traitement par lot, comme un générateurd’image pour la production en masse, pour convertir un format d’image en un autre. GIMP est extensible. On peut lui ajouter de nombreux « Greffons » (plug- ins). Une interface de scripts bien développée permet de créer des procédures, les scripts, regroupant plusieurs opérations.

Entrée libre et gratuite sur inscription. La participation aux ateliers nécessite :

  • de s’inscrire préalablement à la médiathèque
  • de retourner le bulletin afin de nous indiquer les ateliers choisis (nombre de places limitées ; certains ateliers sont déjà complets)

Mercredi 7 juin 2017 de 10h00 à 11h00 (Scribus) Mercredi 7 juin 2017 de 11h00 à 12h00 (LibreOffice Calc) Mardi 13 juin 2017 de 10h00 à 12h00 (Ancestis) Mercredi 14 juin 2017 de 10h00 à 11h00 (Gimp) Mercredi 21 juin 2017 de 10h00 à 11h00 (Scribus)

Médiathèque de Teyran - Place du jeu de ballon 34820 Teyran

[FR Montpellier] Install Par Tous ! Install Party ! - Le mercredi 14 juin 2017 de 12h00 à 17h00.

Reprenez le contrôle de vos machines. Avec un Gnou et un Manchot

Communément appelées "Install Party" ces événements sont dédiés à l'installation, mais aussi et surtout au support, de systèmes GNU/Linux sur vos ordinateurs personnels (ou pro d'ailleurs), dans le but de se passer des méchants systèmes d'exploitation qui rament, espionnent, et vous ont été imposés.

Bref reprendre le contrôle de vos machines pour de vrai !

Déroulement typique de l’installation sur un ordi :

  • Discuter ! Savoir quel sont vos attentes pour ce nouveau système : faut-il des outils spécifiques, aurez-vous tout ce qu'il vous faut pour profiter de votre appareil, supportera-t-il telle ou telle techno, etc.
  • Déterminer la bonne distribution en fonction de l'appareil (capacité, mémoire, cpu, etc), mais aussi en fonction de vos attentes.
  • Essayer ! La plupart des distributions linux peuvent tourner sur votre appareil sans les installer (Live) en utilisant uniquement la mémoire vive, sans toucher au disque dur. Cela permet de vérifier qu'elle marche correctement, et qu'elle réponds aux attentes.
  • Backup ! Il est fortement recommandé de faire des sauvegardes de toutes vos données AVANT DE VENIR. Cette étape peut-être longue, fastidieuse, et surtout ne concerne personne d'autre que vous (aucune raison d'avoir vos données qui se baladent sur des disques ou clef USB dans le hackerspace). Mais le cas échéant nous nous doterons d'un moyen de sauvegarde, ou vous amenez le votre, et on sauve tout ce qui peux être sauvé.
  • INSTALL !!! Cette fois-ci c'est parti on installe le système sur le disque dur, en éliminant le précédent (recommandé ;) ), ou en le conservant sur le coté au cas où (but why ?).
  • On finalise enfin l'installation par l'ajout des logiciels dont vous avez besoin, et on en profite pour vous montrer comment le faire vous même, comment se gèrent les mises à jour, et toutes les astuces propre à GNU/linux pour que vous soyez à l'aise dans votre nouvel environnement.

Une fois rentré à la maison avec votre ordinateur tout propre, il se peut que vous rencontriez encore des difficultés (y'a pas de raisons mais ça arrive), pas de problèmes nous avons conçu cet atelier pour qu'il soit régulier et porté également sur le support, l'aide aux nouveaux utilisateurs. Donc notez vos questions, vos problèmes dans un coin, et repassez nous voir la semaine suivante ! (vous pourrez également nous poser des questions sur IRC (chat) ou sur la mailling liste, si vous ne pouvez pas attendre)

En espérant libérer un maximum de vos machines !

[FR Auch] Initiation à Linux - Le mercredi 14 juin 2017 de 14h00 à 17h00.

Cette découverte de Linux est proposée au Café associatif d'Auch, l'Abri des Possibles, tous les mercredi.

[FR Bordeaux] Mapathon Missing Maps Bordeaux & Périgueux - Le mercredi 14 juin 2017 de 19h00 à 22h00.

Venez nous aider à cartographier sur OpenStreetMap, la carte du monde collaborative et libre !

CartONG, Num&Lib, Nomade et MSF Logistique vous invitent à un mapathon Missing Maps pour découvrir la cartographie participative et humanitaire dans OpenStreetMap : pas besoin d'être un expert, c'est accessible à tout le monde !

Pourquoi ?

L’objectif du projet Missing Maps est de créer des cartes pour les zones de crise des pays en voie de développement qui en ont le plus besoin. En effet, on peut penser qu'aujourd'hui toutes les parties du monde sont cartographiées, mais en réalité nombreuses régions ne possèdent encore aucunes cartes. L'objectif de Missing Maps est donc de cartographier toutes ces zones encore invisibles sur les cartes, pour permettre par la suite aux collectivités locales et acteurs de l'humanitaire de pouvoir agir plus efficacement en cas de crise.

Comment ?

Avec la plateforme de cartographie libre et contributive OpenStreetMap (OSM, le « Wikipédia des cartes ») un outil formidable pour « remplir les blancs », n'importe qui peut participer à la cartographie de n'importe quelle zone de la planète : il suffit d'un ordinateur, d'une souris et d'une connexion internet ! Grâce à la couverture globale d'image satellites disponible aujourd'hui, il est possible de tracer facilement routes, bâtiments ou cours d'eau, autant d'informations très utiles pour les organisations humanitaires et de développement sur le terrain.
 

Le programme de la soirée

Nous vous proposons de découvrir comment contribuer à OpenStreetMap durant un « mapathon ». Cet événement s'inscrit dans le cadre de l'initiative globale Missing Maps{::}, projet humanitaire qui vise à cartographier en amont les parties du mondes vulnérables aux catastrophes naturelles, crises sanitaires, environnementale, aux conflits et à la pauvreté. 

Au programme :

  • 19h00 : accueil des participants
  • 19h10 : Mot de bienvenue, présentation du projet Missing Maps et du déroulement de la soirée
  • 19h20 : Présentation de la contribution dans OSM
  • 19h30 : Cartographions !

Lightning Talks 

  • 20:30 : pause, discussion autour d'un verre
  • 21:00 : on reprend la carto !
  • 22:00 : Fin du mapathon, conclusion des contributions de la soirée

Où?

À l'espace de coworking Nomade, 39 rue du Château d'Eau, 33000 Bordeaux

Pour ceux qui habitent à Périgueux, sera organisé également un mapathon le même soir, dans l'espace de coworking l'Escale Numérique au 9 rue du Président Wilson (espace non accessible aux personnes en fauteuil roulant).

A défaut de vous inscrire sur l'événement de Bordeaux, merci de signaler votre présence via Facebook (sur l'évènement : https://www.facebook.com/events/1319182111535983/?active\_tab=about) ou à l'adresse paul.mariuzzo@gmail.com pour des raisons logistiques. 

Lieu

Un grand merci à Nomade, Num&Lib et MSF Logistique pour l'accueil et le soutien à Bordeaux, ainsi qu'à l'Escale Numérique pour l'accueil à Périgueux !

Venez nombreux, et n'oubliez pas votre ordinateur portable, et souri(re)s !

[FR Bordeaux] Atelier artiste - hacker - Le mercredi 14 juin 2017 de 19h00 à 21h00.

Ateliers-cours à la fabrique-pola - L@bx

Tous les mercredi, 19h00, à partir du 07 décembre 2016

Passer aux logiciels libres pour toute sa pratique artistique :
graphisme, édition, site internet, photo, vidéo, 3D, dossiers, imprimerie, son, installations multimédia…

Reprendre le contrôle de sa vie privée
Chiffre ses emails, échapper aux GAFAM'S, se débarrasser des pubs, surfer avec tor, mettre en place un VPN…

S'approprier, détourner, contourner
Les machines physique et langagière, les espaces publics, les symboles, les techniques….

+ Quelques notions et référence sur l'histoire du hack…

Matériel : clé usb, pc portable (si possible).

[FR Toulouse] Rencontre Logiciels Libres - Le mercredi 14 juin 2017 de 19h30 à 22h30.

L'association Toulibre organise une rencontre autour des Logiciels Libres le mercredi 14 juin 2017, de 19h30 à 22h30 au Centre Culturel Bellegarde, 17 rue Bellegarde à Toulouse.

Pendant toute la soirée, venez poser vos questions au sujet du Logiciel Libre et trouver de l'aide pour installer ou utiliser des Logiciels Libres sur votre ordinateur.

Pour cela, vous pouvez si besoin apporter votre ordinateur, un accès Internet est disponible sur place.

Dans l'idéal, si vous venez avec votre ordinateur, essayez de nous prévenir par courrier électronique à contact at toulibre.org en décrivant vos besoins ou votre problème, de manière à ce que nous amenions les Logiciels Libres nécessaires voire à ce que nous fassions quelques recherches préalables pour mieux vous répondre.

À 20 heures aura lieu une présentation dont le thème sera défini ultérieurement.

Entrée Libre. Tout Public.

[FR Chartres] OpenAtelier - Le mercredi 14 juin 2017 de 20h00 à 23h59.

L'OpenAtelier est un moment de rencontre et de partage ou les membres et curieux sont invités à échanger sur leurs idées et leurs projets.

Les espaces techniques sont également ouverts aux réalisations (électronique, informatique, menuiserie, impression 3D, découpe vinyle…).

Pour les curieux, c'est le bon moment pour venir découvrir l'association et ses membres.

[FR Orléans] Cartographie Libre avec JOSM - Le mercredi 14 juin 2017 de 20h30 à 22h30. [FR Toulouse] Rencontre Tetalab - Le mercredi 14 juin 2017 de 21h00 à 23h00.

Rencontre hebdomadaire des hackers et artistes libristes Toulousains.

[BE Mons] Intégration continue avec Jenkins - Le jeudi 15 juin 2017 de 19h00 à 21h00.

Ce jeudi 15 juin 2017 à 19h se déroulera la 60ème séance montoise des Jeudis du Libre de Belgique.

Le sujet de cette séance : Intégration continue avec Jenkins

Thématique : Intégration continue|déploiement automatisé|Processus

Public : Tout public

L'animateur conférencier : Dimitri Durieux (CETIC)

Lieu de cette séance : Campus technique (ISIMs) de la Haute Ecole en Hainaut, Avenue V. Maistriau, 8a, Salle Académique, 2e bâtiment (cf. ce plan sur le site de l'ISIMs, et ici sur la carte Openstreetmap).

La participation sera gratuite et ne nécessitera que votre inscription nominative, de préférence préalable, ou à l'entrée de la séance. Merci d'indiquer votre intention en vous inscrivant via la page http://jeudisdulibre.fikket.com/. La séance sera suivie d'un verre de l'amitié.

Les Jeudis du Libre à Mons bénéficient aussi du soutien de nos partenaires: CETIC, OpenSides, MeaWeb et Phonoid.

Si vous êtes intéressé(e) par ce cycle mensuel, n’hésitez pas à consulter l'agenda et à vous inscrire sur la liste de diffusion afin de recevoir systématiquement les annonces.

Pour rappel, les Jeudis du Libre se veulent des espaces d'échanges autour de thématiques des Logiciels Libres. Les rencontres montoises se déroulent chaque troisième jeudi du mois, et sont organisées dans des locaux et en collaboration avec des Hautes Écoles et Facultés Universitaires montoises impliquées dans les formations d’informaticiens (UMONS, HEH et Condorcet), et avec le concours de l’A.S.B.L. LoLiGrUB, active dans la promotion des logiciels libres.

Description: Afin d'améliorer la gestion des ressources, la virtualisation et le Cloud ont révolutionné notre manière de concevoir et de déployer des applications informatiques. La complexité des systèmes informatiques a fortement évolué. Il ne s'agit plus de déployer et de maintenir une application monolithique mais un ensemble de services interagissant entre eux. Les développeurs sont donc confrontés à une forte complexité des tests, de l'intégration et du déploiement des applications.

A ce nouveau contexte technique s'ajoute des méthodologies de développement agiles, rapides et itératives. Elles favorisent un déploiement régulier de nouvelles versions des composants incorporant de nouvelles fonctionnalités. Il faut donc tester, intégrer et déployer à un rythme beaucoup plus soutenu qu'avant.

Le développeur doit donc réaliser très régulièrement des tâches de tests, d'intégration et de déploiement complexes. Il a besoin d'un outil et il en existe plusieurs. Dans le cadre de cette présentation, je propose de vous présenter l'outil Jenkins. Il s'agit de l'outil open-source disposant du plus grand nombre de possibilités de personnalisation à ce jour. Cette présentation sera l'occasion de présenter les bases de Jenkins et des pratiques dites d'intégration continue. Elle sera illustrée d'exemples concrets d'utilisation de la solution.

Jenkins est un outil installable sous forme de site web permettant la configuration de tâches automatisées. Ces tâches possibles sont nombreuses mais citons notamment la compilation ou la publication d'un module, l'intégration d'un système, les tests d'une fonctionnalité ou encore le déploiement dans l'environnement de production. Les tâches peuvent être déclenchées automatiquement selon le besoin. Par exemple, on peut réaliser un test d'intégration à chaque modification de la base de code d'un des modules. Les fonctionnalités restent assez simples et répondent à des besoins très précis mais il est possible de les combiner pour automatiser la plupart des tâches périphériques afin d'avoir plus de temps disponible pour le développement de votre logiciel.

Short Bio: Dimitri Durieux est un membre du CETIC spécialisé dans la qualité logicielle. Il a travaillé sur plusieurs projets de recherche dans des contexte à complexité et contraintes variées et aide les industries Wallonne à produire du code de meilleure qualité. Principalement, il a évalué la qualité du code et des pratiques de développement dans plus de 50 entreprises IT Wallonnes afin de les aider à mettre en place une gestion efficace de la qualité. Lors de son parcours, au CETIC, il a eu l’occasion de déployer et de maintenir plusieurs instances de Jenkins tout en démontrant la faisabilité de cas d'application complexes de cette technologie pour plusieurs sociétés Wallonnes.

[FR Lyon] Initiation à la cartographie libre - Le jeudi 15 juin 2017 de 13h30 à 15h30.

"Open Street Map est un projet de cartographie libre dont le but est de rendre les données géographiques accessibles et utilisables par tous.

Cet atelier vous propose de réaliser votre propre carte intéractive à l’aide d’outils libres et incroyablement simples.

Collecter des données dans un tableur, importer des coordonnées GPS, enrichir sa carte avec des images ou des vidéos la cartographie numérique devient un jeu d’enfant."

Sur inscription (ouverture des inscriptions 15 jours avant la date de l'atelier).

[FR Riedisheim] Réunion Linux et les Logiciels Libres - Le jeudi 15 juin 2017 de 18h00 à 22h00.

En partenariat avec le Club Informatique de Riedisheim, le Club Linux de la MJC du Cheval Blanc de Wintzenheim organise sa première réunion à Riedisheim.

Ouverte à tous, cette réunion et les suivantes s'adressent principalement aux personnes de la région Mulhousienne et du sud du Haut-Rhin, mais pas que.

Notre objectif est de créer ce lieu pour nous permettre de découvrir, utiliser et approfondir Linux et les Logiciels Libres.

Bien entendu aucune compétence n'est requise, si ce n'est le sourire.

Mais même ça, on pourra s'en passer, au début.

[FR Bordeaux] Apéro du libre - Le jeudi 15 juin 2017 de 18h30 à 23h00.

Venez échanger autour d'un verre que vous soyez curieux ou amoureux des logiciels et cultures libres en compagnie de membres de l'Abul, Aquilenet, la Cubale, Giroll et le l@bx !

Le BB25 est un bar associatif, l'adhésion est obligatoire, 5€/année
Abul, Association Bordelaise des Utilisateurs de Logiciels libres : http://abul.org
Aquilenet, fournisseur d'accès à internet libre en Aquitaine : https://www.aquilenet.fr
Giroll, Gironde Logiciels Libres : http://www.giroll.org
L@{::}Bx, Hackerspace in Bordeaux : http://labx.fr
La Cubale, le groupe des utilisateurs de Wikipédia de la Gironde et de l'agglomération bordelaise : https://fr.wikipedia.org/wiki/Wikipédia:Rencontres/Aquitaine/Cubale

[FR Toulouse] Mapathon Missing Maps - Le jeudi 15 juin 2017 de 18h30 à 21h30.

Venez nous aider à cartographier sur OpenStreetMap, la carte du monde collaborative et libre !

CartONGMagellium et HarryCow vous invitent à un mapathon Missing Maps pour découvrir la cartographie participative et humanitaire dans OpenStreetMap : pas besoin d'être un expert, c'est accessible à tout le monde !

Pourquoi ?

L’objectif du projet Missing Maps est de créer des cartes pour les zones de crise des pays en voie de développement qui en ont le plus besoin. En effet, on peut penser qu'aujourd'hui toutes les parties du monde sont cartographiées, mais en réalité nombreuses régions ne possèdent encore aucunes cartes. L'objectif de Missing Maps est donc de cartographier toutes ces zones encore invisibles sur les cartes, pour permettre par la suite aux collectivités locales et acteurs de l'humanitaire de pouvoir agir plus efficacement en cas de crise. 

Comment ? 

Avec la plateforme de cartographie libre et contributive OpenStreetMap (OSM, le « Wikipédia des cartes ») un outil formidable pour « remplir les blancs », n'importe qui peut participer à la cartographie de n'importe quelle zone de la planète : il suffit d'un ordinateur, d'une souris et d'une connexion internet ! Grâce à la couverture globale d'image satellites disponible aujourd'hui, il est possible de tracer facilement routes, bâtiments ou cours d'eau, autant d'informations très utiles pour les organisations humanitaires et de développement sur le terrain.

Le programme de la soirée

Nous vous proposons de découvrir comment contribuer à OpenStreetMap durant un « mapathon ». Cet événement s'inscrit dans le cadre de l'initiative globale Missing Maps{::}, projet humanitaire qui vise à cartographier en amont les parties du mondes vulnérables aux catastrophes naturelles, crises sanitaires, environnementale, aux conflits et à la pauvreté. 

Au programme :

  • 18h30 : accueil des participants
  • 18h40 : Mot de bienvenue, présentation du projet Missing Maps et du déroulement de la soirée
  • 18h50 : Présentation de la contribution dans OSM
  • 19h00 : Cartographions !

Lightning Talks 

  • 20:00 : une petite pause bien méritée pour faire connaissance autour d'un verre et de quoi grignoter 
  • 20:30 : On reprend la carto !
  • 21:30 Fin du mapathon, conclusion des contributions 

Où?

A l'espace de coworking HarryCow, 13 rue Sainte-Ursule 31000 Toulouse. 

Un grand merci à HarryCow pour l'accueil et Magellium pour le soutien !

Venez nombreux, et n{::}'oubliez pas votre ordinateur portable, et souri(re)s !

[FR Paris] Soirée de Contribution au Libre - Le jeudi 15 juin 2017 de 19h00 à 22h00.

Parinuxpropose 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 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

tout nouveau projet est le bienvenu.

[QC Montréal] DrupalCamp Montréal 2017 - Du jeudi 15 juin 2017 à 09h00 au dimanche 18 juin 2017 à 18h00.

English below
Développez vos connaissances Drupal, que vous soyez nouvel utilisateur de Drupal ou vétéran aguerri, vous apprendrez quelque chose de nouveau lors cette conférence. Apprenez ou partagez les principes du développement de logiciels open source et aidez à façonner l'avenir de l'un des systèmes de gestion de contenu les plus réussis au monde.
Les soirées offriront de nombreuses opportunités de socialisation et de réseautage avec des professionnels de Drupal et du logiciel libre. Il y aura également une multitude d'opportunités de divertissement car la conférence se déroule au coeur de la célèbre saison des festivals et événements estivaux de Montréal.

[QC Coteau du Lac] Émission #134 de bloguelinux - Le jeudi 15 juin 2017 de 20h00 à 22h00.

bloguelinux.ca est un blogue québécois offrant la diffusion d'un podcast qui traite des logiciels libres, du système d'exploitation Linux et de la technologie en général ; il y a un processeur, il y a un système d'exploitation, c'est certain que ça nous intéresse!
bloguelinux.ca est enregistré le jeudi à 20 heures toutes les deux semaines.
Vous pouvez nous écouter en direct lors des enregistrements à l'adresse http://live.bloguelinux.ca ou directement sur notre site à http://www.bloguelinux.ca en cliquant sur la radio dans le panneau de gauche du site.

[FR Montpellier] Les logiciels libres, parlons-en ! - Le vendredi 16 juin 2017 de 17h00 à 19h00.

Le Faubourg Marché, qu’est-ce que c’est ?

Le Faubourg Marché est une permanence partagée qui permet aux associations d’accueillir ensemble, les publics de ces associations une fois par semaine, le vendredi entre 17h00 et 19h00, au 19, rue du Faubourg de Nîmes, 34000 Montpellier.

L’idée est de s’informer et d’informer les adhérents des diverses associations sur le fonctionnement du lieu et des associations, et notamment sur les 5 partenaires qui l’animent et lui permettent ainsi d’exister (autour.com, L’Accorderie, enercoop, modulauto, La Nef). Lors de cette permanence partagée vous pourrez rencontrer les associations La Graine (monnaie locale de Montpellier), éCOhabitons, Montpellier à pied, et bien sûr Montpel’libre.

Alors, si vous avez un peu de temps le vendredi soir, voici une occupation qui me semble très intéressante.
Montpel’libre est une association et un groupe d’utilisateurs (GULL), qui propose une multitude d’activités dans le cadre de la promotion des logiciels libres, et des Communs.
Depuis longtemps déjà, Montpel’libre participe à l’économie sociale et solidaire en organisant tout un éventail d’ateliers et de manifestations, au développement durable et à l’innovation sociale au travers de permanences et ateliers de présentations des logiciels libres et évidement les cartoparties, véritable actions citoyennes, sur le thème de l’accessibilité des personnes en situation de handicap.
L’activité économique, l’intérêt collectif, le fonctionnement démocratique, autant d’éléments que porte Montpel’libre, en proposant un accès entièrement libre et gratuit à une éducation populaire, au travers de ses ateliers à destination de tous les publics.

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.

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 :

  • vendredi 2 juin 2017 de 17h00 à 19h00
  • vendredi 9 juin 2017 de 17h00 à 19h00
  • vendredi 16 juin 2017 de 17h00 à 19h00
  • vendredi 23 juin 2017 de 17h00 à 19h00
  • vendredi 30 juin 2017 de 17h00 à 19h00

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

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

Vendredis 2, 9, 16, 23 et 30 juin 2017 de 17h00 à 19h00
Le Faubourg - 15, rue du Faubourg de Nîmes, 34000 Montpellier

Tramway lignes 1, 2 et 4 arrêt Corum
GPS Latitude : 43.614186 | Longitude : 3.881404
Carte OpenStreetMap

[FR Valenciennes] Permanence ValLibre - Le samedi 17 juin 2017 de 09h30 à 12h00.

Permanence assistance informatique.

Dépannage petits bobos informatiques.

Initiation à l'informatique libre.

Tous les samedis ouvrables sauf les derniers samedis du mois et les samedis en période de vacances scolaires.

Si besoin particulier, la prise de rendez-vous est fortement conseillée.

Téléphone accueil MQCV : 03 27 22 43 90

[FR Roubaix] Choisir un OS et des logiciels libres, les installer ! - Le samedi 17 juin 2017 de 10h00 à 12h30.

Choisir un OS et des logiciels libres, les installer !

http://www.mediathequederoubaix.fr/agenda/install-party-linux-0

Nous vous invitons à participer au cycle “Choisir un OS et des logiciels libres, les installer !” organisé, pour la 5ème année consécutive par et à la Médiathèque de Roubaix.

- ce 03/06 de 10h00 à 12h30, sera un atelier au cours duquel pour rappellerons les principales fonctions d’un système d’exploitation pour ordinateur, les qualités et défauts des plus courants (Linux, Macos, Windows) et les choix possibles.

- le samedi 10/06 de 10h00 à 18h00, vous pourrez emmener votre ordinateur, portable ou fixe (pas besoin d’emmener clavier, souris, écran) pour y installer une version de Linux (lubuntu sera notre préconisation).
Pensez à faire une défragmentation de votre disque dur (http://www.commentcamarche.net/faq/58-defragmenter-son-disque-dur) et à sauvegarder votre données essentielles avant cette date

- au cours des deux ateliers suivants (les 17 et 24/06 de 10h00 à 12h30), toujours avec votre ordinateur, vous pourrez apprendre l’essentiel pour utiliser Linux Ubuntu au jour le jour,

N’hésitez pas à nous contacter pour toute question complémentaire, ça se passe 2, rue Pierre Motte à Roubaix !

[FR Bordeaux] Projection et install-partie - Le samedi 17 juin 2017 de 10h00 à 16h00.

Journée grand public « À Libre ouvert »

Projection-débat et install-partie : apportez votre PC !

Entrée libre. Tout Public.

[FR La Couronne] Permanence - accueil public - Le samedi 17 juin 2017 de 10h00 à 13h00.

Notre permanence d'accueil avec le sourire, le café et les gâteaux !

Lieu de rencontre et d'échange convivial pour discuter informatique et outils numériques.

Cette association permet à chacun de découvrir également l'univers de Linuxet par extension de tous les **logiciels* et matérielslibres*.

Entrée Libre. Tout Public.

[FR Montpellier] Repair Café - Le samedi 17 juin 2017 de 13h00 à 19h00.

Pour faire suite au formidable succès de l’ouverture du premier Repair Café de Montpellier, nous vous proposons une nouvelle édition de ce rendez-vous, où, bricoleurs, acteurs, bénévoles, associations, vous attendent pour vous aider à donner une deuxième vie à vos objets.

Réparer ensemble, c’est l’idée des Repair Cafés dont l’entrée est ouverte à tous. Outils et matériel sont disponibles à l’endroit où est organisé le Repair Café, pour faire toutes les réparations possibles et imaginables. Vêtements, meubles, appareils électriques, bicyclettes, vaisselle, objets utiles, jouets, et autres. D’autre part sont présents dans le Repair Café des experts bénévoles, qui ont une connaissance et une compétence de la réparation dans toutes sortes de domaines.

On y apporte des objets en mauvais état qu’on a chez soi. Et on se met à l’ouvrage avec les gens du métier. Il y a toujours quelque chose à apprendre au Repair Café. Ceux qui n’ont rien à réparer prennent un café ou un thé, ou aident à réparer un objet appartenant à un autre. On peut aussi toujours y trouver des idées à la table de lecture qui propose des ouvrages sur la réparation et le bricolage.

Repair Café est un atelier consacré à la réparation d’objets et organisé à un niveau local, entre des personnes qui habitent ou fréquentent un même endroit, par exemple un quartier ou un village. Ces personnes se rencontrent périodiquement en un lieu déterminé, dans un café, une salle des fêtes ou un local associatif où des outils sont mis à leur disposition et où ils peuvent réparer un objet qu’ils ont apporté, aidés par des volontaires.

Les objectifs de cette démarche alternative sont divers :

  • réduire les déchets
  • préserver l’art de réparer des objets
  • renforcer la cohésion sociale entre les habitants des environs

Seront présents :

  • Autour.com : On se rend des services entre voisins, on partage des infos, on prête, on loue, on donne…
  • L’Accorderie : Est un système d’échange de services entre habitants d’un même quartier ou d’une même ville.
  • Les Compagnons Bâtisseurs : Prévoient d’amener des outils
  • Les Petits Débrouillards : est un réseau national de culture scientifique et technique, ils viendront avec pleins de conseils et une imprimante 3D.
  • Le Faubourg : Hébergera le Repear Café.
  • Montpel’libre : Sera là avec des pièces informatiques, pour essayer de reconditionner des ordinateurs, dépanner ceux qui ne fonctionnent plus, expliquer comment ça marche, faire comprendre le choix judicieux du logiciel libre, contourner l’obsolescence programmée grâce à GNU/Linux, comment réparer et entretenir son matériel sois-même, nous porterons un jerry.
  • TechLabLR : Accompagne les projets à composantes technologiques afin de les amener au pré-prototype, puis les guider vers les structures d’accompagnements.
  • Zéro Waste Montpellier : La démarche "Zéro Waste" est une démarche positive pour aller vers une société zéro déchet et zéro gaspillage.

Tramway lignes 1, 2 et 4 arrêt Corum

[FR Boé] Recycler son ancien PC - Le samedi 17 juin 2017 de 14h00 à 17h00.

Atelier : Recycler son ancien PC avec un système d’exploitation libre.

En Partenariat avec aGeNUx, à la médiathèque de Boé, samedi 17 juin, de 14h à 17h. 

Entrée Libre. Tout Public.

[FR Ivry sur Seine] Cours de l'Ecole du Logiciel Libre - Le samedi 17 juin 2017 de 14h00 à 18h00.

Présentation de l'E2L

Quel est le rôle de l'école du logiciel libre ?

Tout d'abord, ce n'est pas une école comme les autres. Elle n'a pas d'établissement fixe, pas de cours de récréation, pas de carte d'étudiant, ni de diplôme de fin d'année.

Comme toutes les écoles, son rôle est d'apprendre à ses élèves les logiciels libres, c'est-à-dire :

  • comment en trouver de bons parmi les nombreux sites qui en proposent,
  • comment en prendre possession en fonction des licences,
  • comment les installer en fonction de ses besoins,
  • comment les tester et les utiliser,
  • comment en comprendre le fonctionnement pour ensuite les modifier,
  • comment écrire ses propres logiciels libres.

En fait, l'école du logiciel libre est une université populaire, comme celles qui ont vu le jour en France à partir du 19 ème siècle, et dont le but est de transmettre des connaissances théoriques ou pratiques à tous ceux qui le souhaitent. Et pour atteindre ce but, sa forme juridique est de type " association à but non lucratif ".

Comment fonctionne l'école ?

Cette école étant une association, elle possède, comme toutes les autres, un bureau, élu chaque année en assemblée générale, pour l'administrer. Mais elle a aussi des responsables pédagogiques dont le rôle est essentiel car ce sont eux qui établissent les programmes des cours en fonction des souhaits des adhérents, valident les candidatures des enseignants et affectent les sessions.

Les membres du bureau et les responsables pédagogiques forment "l'encadrement de l'école ". Tous les membres "encadrants" doivent être membres de l'association.

Les locaux où se déroulent les cours seront ceux que l'on veut bien nous prêter : une salle des fêtes, un théâtre, une salle de réunion publique, un amphi dans une école publique, ou autre.

Les thèmes des cours sont définis par les adhérents en fonction de leurs envies, de leurs besoins. Les cours sont ensuite décidés par les responsables pédagogiques de l'école en fonction des enseignants disponibles.

Afin de permettre au plus grand nombre de participer et d'assister aux cours, les sessions se tiennent essentiellement le samedi. Une première de 9h à 12h30, et une autre de 14h à 17h30.

Programme détaillé sur le site http://e2li.org

[FR Aubenas] Ateliers linux - Le samedi 17 juin 2017 de 14h30 à 18h30.

Ateliers d'éducation populaire : se familiariser avec les logiciels libres.

Entrée Libre. Tout Public.

[FR Nantes] Permanence Linux - Le samedi 17 juin 2017 de 15h00 à 18h00.

Une permanence de Linux Nantes aura lieu de 15 à 18 heure,

dans l’aile du local associatif "B17".

Au cours de ces permanences, nous proposons des conseils, des installations ou des réparations.

Vous pouvez aussi venir pour une première prise d'informations et de contacts.

Pour vous rendre au local B17 :

http://www.linux-nantes.org/Comment-se-rendre-au-local.html

Notre site :

http://www.linux-nantes.org/

[FR Nanterre] Lightning talks de l'Electrolab - Le samedi 17 juin 2017 de 16h00 à 18h00.

Les Lightning-Talks consistent en de courtes présentation (5 mn max + 3 mn de questions) de projets terminés, en cours, ou toujours en réflexion.

Toutes les personnes qui sont prêtes à partager leurs idées les plus folles devant une foule en délire sont invitées

Vous bénéficierez de retours des membres sur vos choix techniques et probablement de conseils bienvenus.

[QC Montréal] Fêtons la nouvelle Debian 9 ! / Debian Release Party - Le samedi 17 juin 2017 de 11h00 à 17h00.

[English follows]
Debian Stretch, la version 9 de la distribution Debian GNU/Linux, sera officiellement lancée le 17 juin!
Joignez-vous à nous pour un pique-nique soulignant l'événement. Nous ferons un événement de style potluck: apportez une petite portion d'un plat ou des boissons à partager. L'événement se déroulera sur le terrain vague au coin sud-ouest de Beaumont et de l'Epée, où deux tables à pique-nique permettront d'organiser notre buffet.

[QC Québec] Assemblée générale LinuQ - Le samedi 17 juin 2017 de 13h00 à 17h00.

Nous sommes à la fin de notre année d'activités 2016-2017 et nous vous invitons à participer à l'assemblée générale annuelle de LinuQ qui se tiendra le samedi 17 juin à 13 h au Centre de Loisirs Saint-Louis de France. Vous trouverez ci-après l'ordre du jour. Vous verrez que certains points ont été détaillés afin de prendre connaissance des différents sujets sur lesquels vous serez invité à discuter et à voter.
Également, nous avons besoin d'administrateurs au CA et nous vous encourageons à vous porter candidat aux différents postes. Vous pouvez nous aviser à l'avance de votre candidature à info@linuq.org ou bien pendant l'AGA. Comme traditionnellement, du café et des beignes seront servis ! LinuQ a besoin de votre soutien, merci d'avance de manifester votre intérêt à notre association et au plaisir de vous revoir le 17 juin ! LinuQ
Ordre du jour AGA LinuQ 2017

Télécharger ce contenu au format Epub

Lire les commentaires

EclipseCon à Toulouse les 21 et 22 juin 2017

10 juin, 2017 - 21:41

L’EclipseCon France 2017 arrive à grands pas. C’est un des événements majeurs de la communauté Eclipse. Pour ceux qui en seraient restés à l’environnement de développement intégré (EDI), sachez que la fondation éponyme, c’est aussi des projets (plus de 330) et groupes de travail autour des objets connectés, de l’embarqué, le big data, la recherche scientifique, etc.

Le programme des deux jours de conférences a été publié et il est plutôt dense et éclectique : du test, de la donnée, des objets connectés, de l’éthique, de l’analyse, du devops, du cadriciel et plein d’autres trucs cools. La « keynote » parlera robotique !

Cela se tient les 21 et 22 juin 2017 au Centre de congrès Pierre Baudis de Toulouse. L’entrée est payante, mais si vous avez raté la période d’inscription précoce, pas de souci, utilisez le code SPEC-LINXFR pour obtenir 50 € de réduction sur le prix pour les deux jours. C’est limité à dix, mais s’ils partent tous, prévenez‐nous dans les commentaires et on ira vous en récupérer d’autres !

La communauté française du Libre sera bien sûr présente sur place avec notamment :

Télécharger ce contenu au format Epub

Lire les commentaires

Lancement d’un groupe téléphonie et télécom libre

10 juin, 2017 - 17:57

La téléphonie a toujours été un peu mise de côté dans le monde l’informatique car c’est un sujet bien particulier qui, il n’y a pas si longtemps, était bien séparé dans les entreprises : d’un côté les téléphonistes, de l’autre les informaticiens. Depuis quelques années la téléphonie a été reprise par les équipes informatique. Elle s’est orientée vers les logiciels, mais est aussi interconnectée avec les autres logiciels dans l’entreprise.

Cet univers est vaste et très intéressant car il mélange beaucoup de concepts partant du réseau téléphonique et informatique jusqu’à l’interface utilisateur. Il en existe beaucoup et pour tous les goûts. De plus, il doit être capable de s’adapter à l’ancienne génération de téléphonie, par exemple connecter un système entièrement logiciel sur un réseau téléphonique public physique ou interconnecter un système téléphonique existant d’ancienne génération sans utiliser de VoIP… La liste est longue et on en découvre tout le temps et tous les jours.

Le monde du Libre est aussi présent avec de nombreuses solutions alternatives. Elles font tourner la majorité des fournisseurs téléphoniques alternatifs. Les grands opérateurs téléphoniques les utilisent sur des besoins complémentaires et spécifiques. Au quotidien, des développeurs les utilisent pour créer des nouveaux logiciels.

L’objectif de ce groupe est évidemment de se rassembler pour échanger, partager et découvrir ce qui est possible dans cet univers. Aujourd’hui, la téléphonie prend un virage important, tant d’un point de vue utilisateur, que pour les personnes dont le travail est d’intégrer ces systèmes.

À titre d’exemple nous pouvons parler de logiciels qui vont permettre de travailler sur les couches plus basses de la téléphonie comme :

Des téléphones logiciels (softphones) comme :

Des logiciels collaboratifs :

Des autocommutateur comme :

Je ne parle pas de toutes les bibliothèques existantes pour les développeurs, ni même du matériel nécessaire.

La liste est longue et tout comme les logiciels traditionnels (tel que les PGI/ERP, GRC/CRM) l’arrivée du cloud est aussi un changement important dans le monde de la téléphonie. La possibilité de connecter et d’intégrer la téléphonie avec les logiciels existants pour avoir des fonctionnalités comme le click to call, la remontée de fiche, les statistiques, etc, font partie de ces changements importants.

Comme vous pouvez le constater, c’est riche. Il y a plein de technos, plein de concepts et c’est vraiment passionnant d’en apprendre et d’en découvrir chaque jour. :)

Je vous invite donc à venir vous inscrire dans ces rencontres, nous avons utilisé la plate‐forme meetup.com pour en simplifier la gestion. C’est ouvert à tous, tout le monde peut en organiser et participer.

Les deux premières auront lieu à Lyon le 19 juin et Paris le 20 juin. Si vous voulez faire une présentation, vous êtes les bienvenus ! N’hésitez pas à me contacter via meetup.com.

Télécharger ce contenu au format Epub

Lire les commentaires

Vers une norme AFNOR pour le clavier français

10 juin, 2017 - 17:57

Suite à la 1re publication de l’AFNOR le 15 janvier 2016, annonçant son intention de travailler sur une norme pour le clavier informatique français, appuyée le 27 novembre 2016 dernier par un appel à rejoindre la commission de travail sur le projet (évoqué ici lors d’un journal), l’AFNOR invite aujourd’hui et jusqu’au 9 juillet prochain à commenter son projet de norme.

L’AFNOR, ou Association française de normalisation (abrégée AFNOR), est l’organisation française qui représente la France auprès de l’Organisation internationale de normalisation (ISO) et du Comité européen de normalisation (CEN).

Sommaire Contextualisation et présentation du projet

Partant du constat, d’une part de l’absence d’une norme française décrivant le clavier utilisé sur les différents matériels informatiques traditionnels, à la différence de la plupart de ses voisins européens, et d’autre part des difficultés dactylographiques dues à la trop grande diversité de clavier AZERTY proposés par les fabricants sur le marché français, l’AFNOR, sur l’impulsion du ministère de la Culture et de la Communication (par l’intermédiaire de la délégation générale à la Langue française et aux Langues de France) et en lien avec les industriels et les représentants des utilisateurs du secteur, présente un projet normatif pour élaborer une norme française de clavier.

En effet, la publication Vers une norme française pour les claviers informatiques de l’AFNOR introduit les problèmes les plus courants dans la plupart des variations de la disposition commune de clavier français dite AZERTY dérivée de la disposition QWERTY : diversité de placement de symboles courant comme « € » ou encore « @ », difficultés ou absence d’accès aux majuscules accentuées, absence du « Ç ». La publication signale également qu’un travail pourrait être mené pour ajouter certains symboles absents mais pouvant s’avérer utiles comme le « [[pour mille]] » (‰) ou les symboles « supérieur ou égal » (≥) et « inférieur ou égal » (≤). L’organisme évoque également la grande variété des claviers virtuels proposés sur les tablettes et téléphone intelligents, introduisant par la saisie prédictive une plus grande facilité d’utilisation des mots employant des caractères spéciaux, bien que cette compensation reste insuffisante à ses yeux. Un autre objectif est également d’homogénéiser à terme le parc de claviers informatiques en France.

Malheureusement en mentionnant les dispositions de claviers utilisées sous certains systèmes d’exploitation, la publication n’évoque que les systèmes Windows et Apple, ou Android pour les tablettes tactiles ou téléphones intelligents.

Deux configurations de clavier proposées

Là où les dispositions envisageables devraient selon l’AFNOR permettre l’utilisation aisée des différentes langues présentes sur le territoire français, l’organisme donne à titre d’exemple le clavier breton, dit C’HWERTY, ou les exigences de l’occitan.

Plus globalement, cette disposition serait envisagée pour rendre plus facile en premier lieu l’écriture des langues européennes utilisant les caractères latins, ainsi que l’écriture des caractères spécifiques des langues de nos pays voisins non basées sur le latin, comme par exemple l’eszett en allemand (ß) ou le O barré (Ø) utilisé dans certaines langues nordiques, et en second lieu rendre accessibles les caractères diacritiques spécifiques à certaines langues d’Europe centrale et de l’Est telle que la brève (Ă) ou encore la virgule souscrite (Ț).

À ce titre, deux dispositions pour les claviers bureautiques (105 ou 72 touches) utilisés en France sont proposées par la Commission de normalisation dédiée aux « interfaces utilisateur » : l’une très proche de la disposition AZERTY (jusqu’alors jamais normalisée en France) et l’autre s’appuyant sur la disposition ergonomique et libre BÉPO (CC-BY-SA).

La disposition adaptée de l’AZERTY vise à minimiser l’effort d’adaptation des utilisateurs du clavier AZERTY actuel (meilleure rétrocompatibilité avec les logiciels et notamment les pilotes de claviers existants) mais conserve les risques de troubles musculo‐squelettiques associés à cette disposition.

La disposition BÉPO a été conçue pour réduire ces risques de troubles musculo‐squelettiques associés à la disposition AZERTY et obtenir une disposition la plus ergonomique et efficace possible pour la saisie du français et d’autres langues à alphabet latin, mais elle nécessite un effort d’adaptation plus important pour les utilisateurs de l’actuel clavier AZERTY.

Carte complète de la disposition AZERTY :

Carte complète de la disposition BÉPO :

Je vous renvoie à la norme en cours de travail pour plus de précisions sur les combinaisons et utilisations de touches mortes possibles, les cartes de disposition ne permettent pas de juger de toutes les utilisations. Le document présenté permet également de suivre la démarche de l‘AFNOR dans son choix de conception d’une disposition de clavier AZERTY adaptée.

Appel à commentaires

La Commission de normalisation dédiée aux « interfaces utilisateur » lance une enquête publique visant à recueillir un maximum d’avis sur le projet. La norme elle‐même est envisagée sans aucun caractère obligatoire, mais la conformité des matériels à cette norme pourrait être exigée dans le cadre des marchés publics de l’administration et cette future norme pourrait ainsi avoir un impact non négligeable.

L’appel à commentaires concerne les points suivants :

  • les principes du clavier ;
  • l’inventaire des signes qui peuvent être saisis ;
  • le détail des dispositions.

La Commission indique que les commentaires seront traités de façon anonyme lors d’une réunion de dépouillement à laquelle tous les répondants à l’enquête pourront participer.

L’AFNOR demande spécifiquement de faire des propositions de modification. Le commentaires prend la forme d’un tableau normalisé ISO au format Office Open XML .docx (malheureusement).

Accéder aux documents et donner son avis nécessitent la création d’un compte sur le site de l’AFNOR (attention, formulaire de création non sécurisé).

Télécharger ce contenu au format Epub

Lire les commentaires

OpenRouteService : routage en ligne basé sur OpenStreetMap

9 juin, 2017 - 17:43

OpenRouteService est un service de routage basé sur les données OpenStreetMap développé par l’université de Heidelberg en Allemagne.

NdM : le logiciel est sous licence MIT.

Routage

Il est possible de demander son chemin avec un nombre assez important de moyens :

  • voiture ;
  • véhicule lourd (normal, transports de bien, bus, agricole, engin forestier ou livraison) ;
  • cycle (normal, le plus sûr, pour le paysage, c’est‐à‐dire passant proche de points d’intérêts, VTT, course ou électrique) ;
  • piéton (normal ou randonnée) ;
  • chaise roulante.

Le service de routage essaie d’utiliser une bonne partie des informations d’OSM et propose ainsi de catégoriser plusieurs éléments au sein d’un trajet :

  • la surface rencontrée ;
  • le type de voies empruntées ;
  • la pente ;
  • la pertinence des tronçons par rapport au moyen de locomotion demandé.

La pertinence peut s’avérer importante (si les données sont présentes dans OSM) lors d’un routage en chaise roulante ou en vélo, par exemple.

Isochrones

Le service vous permet de voir une estimation des isochrones à partir d’un lieu donné et avec un moyen de locomotion donné. Une isochrone est une ligne à une distance ou un temps donné du point d’origine.

Par défaut, il est possible de voir l’isochrone de 30 et 60 minutes, mais il est possible de changer cela assez facilement.

API développeurs

Tout ce service est accessible via des API en libre accès, mais avec un nombre de transactions limités pour éviter la surcharge du service. Pour cela, n’oubliez‐pas de demander une clef.

Conclusion

OpenRouteService est un service de routage qui fonctionne plutôt bien et basé sur les données d’OSM. Je suis ce service depuis quelques années et il devient meilleur de jour en jour.

Si vous ne l’avez pas essayé, jetez‐y un coup d’œil et dites ce que vous en pensez !

Télécharger ce contenu au format Epub

Lire les commentaires

Prédire la note d’un journal sur LinuxFr.org

9 juin, 2017 - 09:30

Cette dépêche traite de l’exploration de données sur des données issues de LinuxFr.org.

Ayant découvert récemment scikit-learn, une bibliothèque Python d’apprentissage statistique (machine learning). Je voulais partager ici un début d’analyse sur des contenus issus de LinuxFr.org.

Avertissement : je ne suis pas programmeur, ni statisticien. Je ne maîtrise pas encore tous les arcanes de scikit-learn et de nombreux éléments théoriques m’échappent encore. Je pense néanmoins que les éléments présentés ici pourront en intéresser plus d’un(e).

Tous les scripts sont codés en Python et l’analyse à proprement parler a été réalisée à l’aide d’un notebook Jupyter. Un dépôt contenant les données et les scripts est disponible sur GitLab.

Sommaire Prédire la note d’un journal

Il y a eu récemment une vague de journaux politiques sur DLFP. La note de la plupart de ces journaux était assez basse. Par ailleurs, on lit régulièrement ici des personnes qui se plaignent de la note de leurs articles. Bien souvent, des gens postent des contenus incendiaires, parfois en rafale. Je me suis demandé si cela est évitable.

Est-il possible de prédire la note d'un journal en fonction de son contenu? Le problème est ambitieux mais il permettrait aux auteurs d'avoir une idée de l’accueil qui sera réservé à leur prose.

Prédire un score me paraît hasardeux, c'est pourquoi j'ai préféré classer les journaux dans 4 catégories en fonction de leur note, n (en english car il est bien connu que ça improve la productivitaÿ) :

  • n < -20 : Magnificent Troll ;
  • -20 < n < 0 : Great Troll ;
  • 0 < n < 20 : Average Troll ;
  • 20 < n : Qualitaÿ Troll.

Vous l'aurez compris, tout contenu est un Troll, car je pense que nous sommes tous le troll d'un autre.

Obtenir les données

Il n'existe pas à ma connaissance de base de données de DLFP disponible pour tests. Après avoir lu deux journaux précédents, j'ai décidé de construire une moulinette afin d'aspirer une partie du contenu.

Approche 1: le flux atom

Dans un premier temps, j'ai utilisé le flux atom des journaux à l'aide de la bibliothèque feedparser. Le script fonctionne et l'approche est très simple mais malheureusement, la quantité de données est trop limitées. Par ailleurs, le score d'un contenu n'est pas disponible dans les flux. J'ai donc changé mon fusil d'épaule.

Approche 2: l'heure de la soupe

Afin d'augmenter le volume de données, il faut parcourir la page https://linuxfr.org/journaux?page=x et collecter tous les liens vers les différents journaux. Chaque journal est ensuite analysé. Dans un premier temps, les informations suivantes sont utilisées : le nom de l'auteur, le titre du journal, l'URL, le contenu du journal, sa note.

La moulinette s'appuie sur la bibliothèque Beautiful Soup4. Les données sont enregistrées dans un fichier CSV. Étant donné que le contenu des journaux est très varié, j'ai choisi les caractères µ et £ en tant que délimiteur et séparateur, respectivement.

Analyse des données

L'analyse suivante est réalisée à l'aide du fichier diaries_classification.ipynb. La lecture du fichier CSV linuxfr.csv montre qu'il contient 5921 journaux. 302 Magnificents Trolls, 460 Great Trolls, 2545 Quality Trolls et 2614 Average Trolls. Étant donné que les données sont déséquilibrées, il faudra en tenir compte dans les travaux car ces chiffres influencent les probabilités.

import matplotlib.pyplot as plt import pandas as pd import numpy as np import sys import matplotlib # Enable inline plotting %matplotlib inline filename = r'linuxfr.csv' lf_data = pd.read_csv(filename, encoding="UTF-8", sep='£', engine='python', quotechar='µ') len(lf_data) 5921 lf_data.quality_content.value_counts() Average Troll 2614 Quality Troll 2545 Great Troll 460 Magnificent Troll 302 Name: quality_content, dtype: int64 lf_data.quality_content.value_counts().plot(kind='bar') plt.ylabel('Occurences', fontsize='xx-large') plt.yticks(fontsize='xx-large') plt.xlabel('Trolls', fontsize='xx-large') plt.xticks(fontsize='xx-large')

Au passage, on observe qu'il y a beaucoup plus de contenu de qualité (pertinent), dont le score est positif que de négatif. Ou encore, qu'il y a beaucoup plus de contenu avec lequel les votants sont d'accord.

L’affaire est dans le sac (de mots)

À ce stade, j'ai suivi la documentation officielle de scikit-learn. L'analyse de texte est le plus souvent basée sur un algorithme de type "Bag of words". Chaque mot est compté dans le texte. On est alors en mesure de tracer un histogramme du nombre d’occurrence des mots en fonction de la liste des mots du dictionnaire. Dans scikit-learn, l'utilisation d'un sac de mots est très simple. Il faut faire appel à la classe CountVectorizer. Ma base de 5921 journaux contient 78879 mots différents.

import numpy as np from sklearn.feature_extraction.text import CountVectorizer count_vect = CountVectorizer() X_train_counts = count_vect.fit_transform(lf_data['content'].values) X_train_counts.shape (5921, 78879) Utiliser les fréquences d'apparition des mots

L'inconvénient du comptage de mots est qu'il entraîne un déséquilibre entre les textes de longueur différente. Il est possible de calculer les fréquences (tf) et éventuellement diminuer l'impact des mots qui apparaissent dans beaucoup de documents tels que les pronoms (tf-idf). L'utilisation de ces algorithmes est tout aussi simple :

from sklearn.feature_extraction.text import TfidfTransformer tf_transformer = TfidfTransformer(use_idf=False).fit(X_train_counts) X_train_tf = tf_transformer.transform(X_train_counts) Classifier les articles Approche naïve : filtrage bayésien

La manière la plus simple d'analyser les articles est d'utiliser la classification naïve bayésienne. Wikipedia éclaire un peu plus les concepts sous-jacents :

En termes simples, un classificateur bayésien naïf suppose que l'existence d'une caractéristique pour une classe, est indépendante de l'existence d'autres caractéristiques. Un fruit peut être considéré comme une pomme s'il est rouge, arrondi, et fait une dizaine de centimètres. Même si ces caractéristiques sont liées dans la réalité, un classificateur bayésien naïf déterminera que le fruit est une pomme en considérant indépendamment ces caractéristiques de couleur, de forme et de taille.

Une fois le modèle entraîné (fonction fit, d'adéquation en français), il est possible de prédire à quelle catégorie des articles appartiennent.

from sklearn.naive_bayes import MultinomialNB classifier = MultinomialNB() classifier.fit(X_train_tfidf, targets) training_journals = ['Sécuriser son serveur avec la commande sudo rm -rf /*', 'Debian is dying', 'Windows Millenium est meilleur que Linux sur calculatrice graphique', "MultiDeskOS est 42% plus performant que Redhat 3.0.3 (Picasso)", "Pierre Tramo président !", "Des chocolatines au menu des cantines situées dans les DOM-TOM", "1515, l’année du Desktop Linux!"] X_new_counts = count_vect.transform(training_journals) X_new_tfidf = tfidf_transformer.transform(X_new_counts) predicted = classifier.predict(X_new_tfidf) for doc, category in zip(training_journals, predicted): print('%r => %s' % (doc, category)) 'Sécuriser son serveur avec la commande sudo rm -rf /*' => Quality Troll 'Debian is dying' => Quality Troll 'Windows Millenium est meilleur que Linux sur calculatrice graphique' => Quality Troll 'MultiDeskOS est 42% plus performant que Redhat 3.0.3 (Picasso)' => Average Troll 'Pierre Tramo président !' => Average Troll 'Des chocolatines au menu des cantines situées dans les DOM-TOM' => Quality Troll '1515, l’année du Desktop Linux!' => Average Troll

La commande predict_proba permet d'afficher les probabilités. Il en ressort que la marge d'erreur est énorme.

predicted_proba = classifier.predict_proba(X_new_tfidf) print(targets_names) predicted_proba ['Average Troll', 'Great Troll', 'Magnificent Troll', 'Quality Troll'] array([[ 0.38146407, 0.01242555, 0.00699732, 0.59911306], [ 0.45180296, 0.03300345, 0.01880854, 0.49638505], [ 0.37809693, 0.0190014 , 0.00917897, 0.5937227 ], [ 0.47083803, 0.0629247 , 0.02837355, 0.43786371], [ 0.54130358, 0.04642992, 0.03861831, 0.37364818], [ 0.45172753, 0.03297976, 0.01805764, 0.49723507], [ 0.59237292, 0.01164186, 0.00420374, 0.39178148]])

Mes "journaux" sont beaucoup trop courts pour être représentatifs, enfin cela dépend de la définition de "contenu de qualité". Par conséquent, il faut tester le modèle sur l'archive des contenus, dans un premier temps. Pour y arriver, je définis un pipeline qui consiste à assembler les étapes décrites précédemment dans un objet qui se comporte comme un classificateur.

from sklearn.pipeline import Pipeline text_clf = Pipeline([('vect', CountVectorizer()), ('tfidf', TfidfTransformer()), ('clf', MultinomialNB()),]) Tester le modèle avec les journaux connus

Je commence par échantillonner 20 % des journaux de la base de données et je teste le modèle sur cet ensemble, afin de voir s'il est capable de retrouver la bonne catégorie.

diaries_test = lf_data.sample(frac=0.2) predicted = text_clf.predict(diaries_test['quality_content']) from sklearn.metrics import confusion_matrix, f1_score score = f1_score(diaries_test['quality_content'], predicted, average='weighted') print('Diaries:', len(diaries_test)) print('Score:', score) Diaries: 5921 Score: 0.269979533821 /usr/lib/python3.6/site-packages/sklearn/metrics/classification.py:1113: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples. 'precision', 'predicted', average, warn_for)

Ça ne marche pas du tout. La raison pour laquelle ce message est affiché est que le paramètre F (score F1) est indéterminé. Ce paramètre est un estimateur de la qualité d'une classification. Il dépend de la précision et du rappel. Une image vaut mieux qu'un long discours, le dessin sur la page wikipedia :

La matrice de confusion permet de comprendre pourquoi le score F est si mauvais : mis à part pour les trolls de qualité, je n'ai pas de vrai positif !

Pour lire le graphique : la prédiction parfaite aurait 100 % sur chaque case de la diagonale. C'est le cas ici des qualitaÿ trolls qui sont tous bien identifiés. Mais il y a un biais vers les qualitaÿ trolls. L'algorithme interprète ainsi erronément 100 % des average trolls comme des qualitaÿ trolls par exemple.


Au passage, j'affiche la matrice de confusion à l'aide du code de la documentation officielle.

Mon classificateur est mauvais. Il est probablement possible d'en améliorer les performances mais j'ai préféré changer d’algorithme.

Support vector machine (SVM)

D'après la documentation officielle, il s'agit de l’algorithme de classification de texte le plus performant pour le texte. SGDClassifier est basé sur un classificateur linéaire et un algorithme du gradient stochastique (abréviation SGD). Je vous avoue ne pas encore maîtriser ces subtilités. Si quelqu'un à l'aise avec ces notions veut participer à la discussion, il est le bienvenu.

from sklearn.linear_model import SGDClassifier text_clf = Pipeline([('vect', CountVectorizer()), ('tfidf', TfidfTransformer()), ('clf', SGDClassifier()),]) _ = text_clf.fit(lf_data.content, lf_data.quality_content) predicted = text_clf.predict(diaries_test.content) np.mean(predicted == diaries_test.quality_content) 0.95

Le score est très bon. Il est possible d'afficher plus d'informations à propos des prédictions :

from sklearn import metrics print(metrics.classification_report(diaries_test.quality_content, predicted, target_names=targets_names)) precision recall f1-score support Average Troll 0.99 0.93 0.96 523 Great Troll 1.00 0.94 0.97 80 Magnificent Troll 1.00 0.94 0.97 72 Quality Troll 0.92 0.99 0.96 509 avg / total 0.96 0.96 0.96 1184 # Affichage de la matrice de confusion metrics.confusion_matrix(diaries_test.quality_content, predicted) # Compute confusion matrix import itertools cnf_matrix = confusion_matrix(diaries_test['quality_content'], predicted) np.set_printoptions(precision=2) # Plot non-normalized confusion matrix plt.figure() plot_confusion_matrix(cnf_matrix, classes=targets_names, title='Confusion matrix, without normalization') # Plot normalized confusion matrix plt.figure() plot_confusion_matrix(cnf_matrix, classes=targets_names, normalize=True, title='Normalized confusion matrix') plt.show() Confusion matrix, without normalization Confusion matrix, without normalization [[489 0 0 34] [ 2 75 0 3] [ 0 0 68 4] [ 5 0 0 504]] Normalized confusion matrix [[ 0.93 0. 0. 0.07] [ 0.03 0.94 0. 0.04] [ 0. 0. 0.94 0.06] [ 0.01 0. 0. 0.99]]


Validation croisée

Ces résultats sont très intéressants mais il est important de tester la solidité du modèle. Cette étape est appelée validation croisée. scikit-learn permet de réaliser ces tests de manière automatisée. L'idée est d’échantillonner une partie des journaux (10 % dans notre cas), d'entraîner le modèle sur les 90 % restant et de tester le modèle sur ces 10 % "caché". On affiche ensuite les scores pondérés en fonction du nombre d’occurrence de journaux dans chaque catégorie.

from sklearn.model_selection import cross_val_score scores = cross_val_score(text_clf, # steps to convert raw messages into models lf_data.content, # training data lf_data.quality_content, # training labels cv=10, # split data randomly into 10 parts: 9 for training, 1 for scoring scoring='accuracy', # which scoring metric? n_jobs=-1, # -1 = use all cores = faster ) print(scores) print('Total diaries classified:', len(lf_data)) print('Score:', sum(scores)/len(scores)) [ 0.54 0.53 0.55 0.55 0.56 0.57 0.54 0.52 0.56 0.56] Total diaries classified: 5921 Score: 0.548226957256

Le score est égal à 0.55. Ce n'est pas terrible. Si on préfère afficher la matrice de confusion, il faut utiliser les Kfold qui reposent sur le même principe que cross_val_score et implémenter une boucle.

from sklearn.model_selection import KFold from sklearn.metrics import confusion_matrix, f1_score,precision_score k_fold = KFold(n_splits=10) scores = [] confusion = np.array([[0, 0,0,0], [0, 0,0,0], [0, 0,0,0], [0, 0,0,0]]) for train_indices, test_indices in k_fold.split(lf_data): train_text = lf_data.iloc[train_indices]['content'].values train_y = lf_data.iloc[train_indices]['quality_content'].values test_text = lf_data.iloc[test_indices]['content'].values test_y = lf_data.iloc[test_indices]['quality_content'].values text_clf.fit(train_text, train_y) predictions = text_clf.predict(test_text) confusion += confusion_matrix(test_y, predictions) score = f1_score(test_y, predictions, average='weighted') ps = precision_score(test_y, predictions, average='weighted') scores.append(score) print('Total diaries classified:', len(lf_data)) print('Score:', sum(scores)/len(scores)) print('Confusion matrix:') print(confusion) Total diaries classified: 5921 Score: 0.519244446873 Confusion matrix: [[1475 22 13 1104] [ 253 11 16 180] [ 164 15 26 97] [ 794 7 8 1736]] scores [0.48812704076867125, 0.50096444244611738, 0.53296513209879548, 0.50865953156976373, 0.53358760110311787, 0.52464153844229733, 0.53897239391380014, 0.5090212038928732, 0.5340084448235829, 0.5214971396677468]


Comme on le voit, les résultats sont très mauvais. Environ 44 % des journaux "Average Troll" sont attribués à la classe "Quality Troll" ! Si les auteurs suivent la même logique que cet algorithme, ils ont tendance à sur-estimer fortement leurs écrits. De même, 30 % des "Quality Troll" sont attribués à la classe "Average Troll". En suivant cette logique, les auteurs de contenu de qualité auraient tendance à se sous-estimer. Par ailleurs, il faut noter que ces classes sont voisines : score de 0 à 20 et de 20 à l'infini (et au delà).

Plus inquiétant : les contenus avec un score négatif sont attribués majoritairement aux classes à score positif. Un auteur de contenu moinsé qui penserait comme la machine serait persuadé que son texte est de qualité. Il ne comprendrait pas le score négatif qui en résulte.

Optimisation des paramètres

Et si nos mauvais résultats étaient dus au choix d'un mauvais jeu de paramètres de départ ? Le pipeline choisi dépend de nombreux paramètres ajustables. Scikit-learn permet d'optimiser ces paramètres facilement afin de trouver le meilleur compromis.

from sklearn.linear_model import SGDClassifier text_clf = Pipeline([('vect', CountVectorizer()), ('tfidf', TfidfTransformer()), ('clf', SGDClassifier()),])

Les paramètres ajustables sont précédés du nom de l'étape correspondante. Les explications concernant ces paramètres sont disponibles dans la documentation officielle :

sorted(text_clf.get_params().keys()) ['clf', 'clf__alpha', 'clf__average', 'clf__class_weight', 'clf__epsilon', 'clf__eta0', 'clf__fit_intercept', 'clf__l1_ratio', 'clf__learning_rate', 'clf__loss', 'clf__n_iter', 'clf__n_jobs', 'clf__penalty', 'clf__power_t', 'clf__random_state', 'clf__shuffle', 'clf__verbose', 'clf__warm_start', 'steps', 'tfidf', 'tfidf__norm', 'tfidf__smooth_idf', 'tfidf__sublinear_tf', 'tfidf__use_idf', 'vect', 'vect__analyzer', 'vect__binary', 'vect__decode_error', 'vect__dtype', 'vect__encoding', 'vect__input', 'vect__lowercase', 'vect__max_df', 'vect__max_features', 'vect__min_df', 'vect__ngram_range', 'vect__preprocessor', 'vect__stop_words', 'vect__strip_accents', 'vect__token_pattern', 'vect__tokenizer', 'vect__vocabulary']

Le code ci-dessous permet d'ajuster les paramètres suivants :

Évidemment, le temps de calcul dépend du nombre de paramètres à ajuster. Les autres paramètres sont laissés à leur valeur par défaut.

params = { 'tfidf__use_idf': (True, False), 'clf__loss':('huber', 'modified_huber', 'epsilon_insensitive', 'hinge', 'log'), 'clf__alpha':(1,0.001, 0.00001),} gs_clf = GridSearchCV(text_clf, params, n_jobs=-1, verbose=0, refit=True,scoring='accuracy',) print("Performing grid search...") print("pipeline:", [name for name, _ in text_clf.steps]) print("parameters:") print(params) t0 = time() gs_clf = gs_clf.fit(lf_data.content, targets) print("done in %0.3fs" % (time() - t0)) print() print("Best score: %0.3f" % gs_clf.best_score_) print("Best parameters set:") best_parameters = gs_clf.best_estimator_.get_params() for param_name in sorted(params.keys()): print("\t%s: %r" % (param_name, best_parameters[param_name]))

Ce qui donne :

Performing grid search... pipeline: ['vect', 'tfidf', 'clf'] parameters: {'tfidf__use_idf': (True, False), 'clf__loss': ('huber', 'modified_huber', 'epsilon_insensitive', 'hinge', 'log'), 'clf__alpha': (1, 0.001, 1e-05)} done in 108.027s Best score: 0.547 Best parameters set: clf__alpha: 0.001 clf__loss: 'modified_huber' tfidf__use_idf: True

Malheureusement, le score semble encore assez bas. Par ailleurs, le meilleur estimateur est également disponible pour utilisation future :

gs_clf.best_estimator_ Pipeline(steps=[('vect', CountVectorizer(analyzer='word', binary=False, decode_error='strict', dtype=<class 'numpy.int64'>, encoding='utf-8', input='content', lowercase=True, max_df=1.0, max_features=None, min_df=1, ngram_range=(1, 1), preprocessor=None, stop_words=None, strip... penalty='l2', power_t=0.5, random_state=None, shuffle=True, verbose=0, warm_start=False))]) Test sur un échantillon de données connues

Comme précédemment, il est possible de tester le modèle sur un échantillon de données connues. L'ajustement a été réalisé avec le meilleur jeu de paramètres grâce à l'option refit=True passée à GridSearchCV. Les résultats du score F1 sont encore une fois très bons mais l'amélioration du score est nulle : il plafonne entre 0.95 et 0.96.

print(metrics.classification_report(diaries_test.quality_content, predicted, target_names=targets_names)) precision recall f1-score support Average Troll 0.99 0.93 0.96 523 Great Troll 1.00 0.94 0.97 80 Magnificent Troll 1.00 0.94 0.97 72 Quality Troll 0.92 0.99 0.96 509 avg / total 0.96 0.96 0.96 1184

De même, la matrice de confusion est excellente :

Test sur un échantillon de données inconnues

Pour aller plus loin, j'ai testé le modèle sur de nouvelles données (des journaux plus anciens). Ces données ne font pas partie de mes journaux de base. En principe, le résultat sera similaire à ce qu'on obtient par validation croisée mais cette technique a pour avantage d'augmenter la taille de la base de journaux disponibles. Une autre possibilité consiste à relancer la validation croisée après avoir fusionné ces nouvelles données aux anciennes.

filename = r'out_of_sample.csv' lf_out = pd.read_csv(filename, encoding="UTF-8", sep='£', engine='python', quotechar='µ') lf_out = lf_out.reindex(np.random.permutation(lf_out.index)) lf_out.quality_content.value_counts().plot(kind='bar') plt.ylabel('Occurences', fontsize='xx-large') plt.yticks(fontsize='xx-large') plt.xlabel('Trolls', fontsize='xx-large') plt.xticks(fontsize='xx-large')

Ces nouvelles données sont similaires aux journaux déjà disponibles.

predicted_out = text_clf.predict(lf_out.content) np.mean(predicted_out == lf_out.quality_content) score_out = f1_score(lf_out['quality_content'], predicted_out, average='weighted') print('Diaries:', len(lf_out)) print('Score:', score_out) cnf_matrix_out = confusion_matrix(lf_out['quality_content'], predicted_out) np.set_printoptions(precision=2) # Plot non-normalized confusion matrix plt.figure() plot_confusion_matrix(cnf_matrix_out, classes=targets_names, title='Confusion matrix, without normalization') # Plot normalized confusion matrix plt.figure() plot_confusion_matrix(cnf_matrix_out, classes=targets_names, normalize=True, title='Normalized confusion matrix') plt.show() print(metrics.classification_report(lf_out.quality_content, predicted_out, target_names=targets_names)) Diaries: 1500 Score: 0.444809984556 Confusion matrix, without normalization [[452 9 10 457] [ 90 4 0 52] [ 42 5 6 26] [126 2 0 219]] Normalized confusion matrix [[ 0.49 0.01 0.01 0.49] [ 0.62 0.03 0. 0.36] [ 0.53 0.06 0.08 0.33] [ 0.36 0.01 0. 0.63]]


precision recall f1-score support Average Troll 0.64 0.49 0.55 928 Great Troll 0.20 0.03 0.05 146 Magnificent Troll 0.38 0.08 0.13 79 Quality Troll 0.29 0.63 0.40 347 avg / total 0.50 0.45 0.44 1500

Malheureusement, le résultat n'est pas bon. Encore une fois, le modèle ne peut pas s'adapter à des données inconnues. Il s'agit d'un cas assez probant de surapprentissage. L'image suivante illustre bien le problème. En cherchant à classer correctement les éléments dans la bonne catégorie, le modèle se contorsionne et ne tient pas compte de la tendance "globale".

Utiliser des propriétés multiples

Bien qu'elle soit informative, l'analyse ne permet pas de prédire la catégorie avec un score supérieur à 0,5. Pour l'instant, le classificateur se comporte comme un mauvais élève pressé d'aller jouer un match de tennis après son examen Q.C.M. : il répond la même chose (la réponse D) à toutes les questions en se disant qu'il obtiendra bien la moitié. Évidemment, cela ne fonctionne pas. L'approche "bag of words" seule ne suffit pas pour classer des journaux. Les bons journaux ne sont pas tous techniques, de même que les mauvais ne sont pas tous "politiques" (quoiqu'un journal sur l'avortement part en général très mal). Le sujet d'un journal n'est pas corrélé avec sa note finale. D'autres indicateurs doivent être pris en compte : ancienneté du compte au moment de la soumission, taille du texte (les journaux trop courts sont parfois descendu, tout comme les 'journaux fleuve parfois hallucinés' dixit oumph). scikit-learn permet de combiner plusieurs propriétés (appelées "features"), de déterminer celles qui ont le plus gros impact sur les résultats et d'ajuster un modèle en tenant compte des propriétés sélectionnées.

Extraction et préparation des données

L'analyse suivante repose sur l'utilisation des données présentes dans le fichier linuxfr_complete.csv. Elle correspond au notebook diaries_classification_2.ipynb. En plus des données présentes dans le fichier linuxfr.csv, ce document comporte les champs suivant :

  • la date de création du journal ;
  • la date de création du compte ;
  • les scores précédents de l'auteur (première page des anciennes publications) ;
  • la longueur du document.
import matplotlib.pyplot as plt import pandas as pd import numpy as np import sys import matplotlib # Enable inline plotting %matplotlib inline filename = r'linuxfr_complete.csv' lf_data = pd.read_csv(filename, encoding="UTF-8", sep='£', engine='python', quotechar='µ') Conversion des dates

Panda permet très facilement de convertir une chaîne de caractère correspondant à une date au format datetime.

lf_data['birthday'] = pd.to_datetime(lf_data['birthday']) lf_data['birthday'].head() 0 2004-08-28 1 2003-04-22 2 2004-02-14 3 2012-10-22 4 2009-10-05 Name: birthday, dtype: datetime64[ns] lf_data['datetime'] = pd.to_datetime(lf_data['datetime']) lf_data['datetime'].head() 0 2017-05-28 12:59:46 1 2017-05-28 09:57:04 2 2017-05-28 08:24:57 3 2017-05-27 14:18:10 4 2017-05-26 20:12:47 Name: datetime, dtype: datetime64[ns] Évolution du score des journaux au fil du temps score_df = lf_data[['datetime', 'score']].copy() score_df.index = score_df['datetime'] del score_df['datetime']

L'évolution des scores au fil du temps est alors facilement affichable. Je trouve personnellement qu'on n'a pas trop à se plaindre : la qualité générale des journaux est plutôt bonne.

score_df.plot(marker='o', grid=True, figsize=(15,9)) plt.ylabel('Score', fontsize='xx-large') plt.yticks(fontsize='xx-large') plt.xlabel('Date', fontsize='xx-large') plt.xticks(fontsize='xx-large')

Calcul de l’âge d’un compte

L'âge d'un compte peut facilement être calculé en soustrayant la date de création du compte à la date de création du journal. Pour une raison inconnue, cet âge est parfois négatif. Le code suivant tient compte de ce souci. Un compte qui a moins d'un jour se voit affublé de la propriété "Newbie".

lf_data['age'] = lf_data['datetime']-lf_data['birthday'] lf_data['newbie'] = False for index, line in lf_data.iterrows(): # Problem: sometimes, age << 0 if line['age'] < pd.Timedelta("0 day"): line['age'] = - line['age'] if line['age'] < pd.Timedelta("1 day"): lf_data.set_value(index, 'newbie', True) Qualité des posts des nouveaux

Il est à présent possible d'extraire les informations relatives aux nouveaux comptes (à la date de publication). Ces comptes sont à l'origine de contenu de qualité étonnante. On retrouve une grande quantité de très mauvais contenu ("magnificent troll") mais également de bons et très bons contenus ("quality troll" et "average troll").

noob = lf_data.loc[lf_data['newbie'] == True] noob.quality_content.value_counts().plot(kind='bar') plt.ylabel('Occurences', fontsize='xx-large') plt.yticks(fontsize='xx-large') plt.xlabel('Trolls', fontsize='xx-large') plt.xticks(fontsize='xx-large')

Calcul de la moyenne des scores précédents

Afin de tenir compte de l'historique d'un compte, deux colonnes sont ajoutées : la médiane et la moyenne. Les scores précédents sont conservés dans la colonne author_previous_scores. L'information, une chaîne de caractère sous la forme "[1,15,42,-12]", doit être extraite.

lf_data['median_score'] = 0 lf_data['average_score'] = 0 import statistics for index, line in lf_data.iterrows(): ps = line['author_previous_scores'] #print(ps) ps = ps.replace("[",'') ps = ps.replace("]",'') ps = ps.replace(",",'') ps = ps.split() ps = [float(x) for x in ps] median = statistics.median(ps) try: avg = statistics.mean(ps) except TypeError: avg = np.NaN lf_data.set_value(index, 'median_score', median) lf_data.set_value(index, 'average_score', avg)

La plupart du temps, la médiane et la moyenne sont très proches. Dans de rares cas, elles diffèrent beaucoup mais la moyenne est plus sévère que la médiane.

Garder l’essentiel

Les informations nécessaires pour réaliser une analyse plus complète sont à présent disponibles. Pour plus de facilité, de nouveaux dataframes sont créés en éliminant les colonnes inutiles.

lf = lf_data[['content','newbie','average_score', 'quality_content', 'score', 'count', 'author']].copy() target = lf_data[['quality_content']].copy() L’union fait la force

Maintenant que je dispose d'un dataframe contenant mes variables (lf) et un autre contenant mes catégories attendues (target), il faut que je crée une procédure permettant d'effectuer les bonnes tâches avec le bon jeu de données :

  1. Les données numériques sont utilisées telles quelles.
  2. Le corps de l'article est vectorisé et la fréquence des mots est calculée.
  3. Le nom de l'auteur est vectorisé également.

Ces trois étapes sont unies dans un object FeatureUnion dans un pipeline dont la dernière étape est un classificateur de type linéaire (SVC(kernel='linear')). Encore une fois, les fonctions .fit et .predict sont accessibles depuis le pipeline pour faciliter son utilisation.

La classe MultipleItemSelector permet d'extraire les données nécessaires à chaque étape.

Enfin, un poids est appliqué à chaque étape. Pour l'instant, il est égal sur les trois étapes mais des valeurs différentes ont donné des résultats similaires :

  • 'author': 0.8 ;
  • 'content': 0.5 ;
  • 'num_values': 1.0.
# From http://scikit-learn.org/stable/auto_examples/hetero_feature_union.html import numpy as np from sklearn.base import BaseEstimator, TransformerMixin from sklearn.datasets import fetch_20newsgroups from sklearn.datasets.twenty_newsgroups import strip_newsgroup_footer from sklearn.datasets.twenty_newsgroups import strip_newsgroup_quoting from sklearn.decomposition import TruncatedSVD from sklearn.feature_extraction import DictVectorizer from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.metrics import classification_report from sklearn.pipeline import FeatureUnion from sklearn.pipeline import Pipeline from sklearn.svm import SVC class MultipleItemSelector(BaseEstimator, TransformerMixin): def __init__(self, keys): self.keys = keys def fit(self, x, y=None): return self def transform(self, data_dict): return data_dict[self.keys] pipeline = Pipeline([ # Extract the subject & body #('subjectbody', DataExtractor()), # Use FeatureUnion to combine the features from subject and body ('union', FeatureUnion( transformer_list=[ # Pipeline for pulling features from the post's subject line ('author', Pipeline([ ('selector', MultipleItemSelector(keys='author')), ('tfidf', TfidfVectorizer(min_df=50)), ])), # Pipeline for standard bag-of-words model for body ('content', Pipeline([ ('selector', MultipleItemSelector(keys='content')), ('tfidf', TfidfVectorizer()), ('best', TruncatedSVD(n_components=50)), ])), # Pipeline dealing with numerical values stored in a dict ('num_values', Pipeline([ ('selector', MultipleItemSelector(keys=['score', 'newbie', 'average_score', 'count'])) , # list of dicts -> feature matrix ])), ], # weight components in FeatureUnion transformer_weights={ 'author': 1.0, # 0.8 'content': 1.0, # 0.5 'num_values': 1.0, # 1.0 }, )), # Use a SVC classifier on the combined features ('svc', SVC(kernel='linear')), ]) #pipeline.fit(lf, target.values.ravel()) Validation croisée

Afin de valider le comportement du classificateur, la validation croisée est effectuée avec 10 échantillons. Cette fois, les résultats sont vraiment très bons.

from sklearn.model_selection import cross_val_score scores = cross_val_score(pipeline, # steps to convert raw messages into models lf, # training data target.values.ravel(), # training labels cv=10, # split data randomly into 10 parts: 9 for training, 1 for scoring #scoring='accuracy', # which scoring metric? scoring='f1_weighted', n_jobs=-1, # -1 = use all cores = faster ) print(scores) print('Total diaries classified:', len(lf_data)) print('Score:', sum(scores)/len(scores)) [ 1. 1. 1. 1. 1. 1. 1. 0.99831646 0.99831646 1. ] Total diaries classified: 5955 Score: 0.999663292104

Afin de valider le comportement exceptionnel de ce classificateur, un test est réalisé avec des données qu'il ne connaît pas du tout : des journaux plus anciens.

Données hors échantillon.

La prédiction à l'aide de journaux anciens permet de vérifier que le modèle se comporte bien. Si c'est le cas, cela permet également d'affirmer que le type de contenu pertinent/inutile n'a pas radicalement changé ces dernières années.

Les données analysées dans cette section correspondent au fichier out_of_sample_complete.csv. La liste des journaux est sensiblement la même que celle utilisée dans le paragraphe Test sur un échantillon de données inconnues.

Les images ci-dessous montrent que la distribution temporelle de scores est similaire aux données plus récentes. La matrice de confusion et le score confirment les résultats obtenus à l'aide de la validation croisée. Le but est atteint. Il est possible de prédire la catégorie dans laquelle se trouve un journal à partir de son contenu et du nom de l'auteur. 1




Diaries: 1485 Score: 1.0 from sklearn import metrics print(metrics.classification_report(Y_out, predicted_out, target_names=targets_names)) precision recall f1-score support Average Troll 1.00 1.00 1.00 917 Great Troll 1.00 1.00 1.00 145 Magnificent Troll 1.00 1.00 1.00 77 Quality Troll 1.00 1.00 1.00 346 avg / total 1.00 1.00 1.00 1485 Pour aller plus loin

Scikit-learn dispose de nombreuses autres possibilités pour traiter des données de tout type. Je citerai la sélection des propriétés (feature selection) qui permet d’éliminer les propriétés dont la variance est inférieure à un seuil donné. Dans ce cas, la propriété est considérée comme une constante. L'intérêt est de diminuer le temps de calcul et le risque de sur-apprentissage. Un test rapide sur les données issues des journaux a montré que toutes les données sont utiles pour déterminer la catégorie d'un journal.

Choisir le bon algorithme peut être très difficile selon les informations désirées et le type de données. L'aide-mémoire suivant permet de faciliter ce choix. Une version interactive est également disponible.

Enfin, je terminerai en mentionnant la possibilité de sauver un modèle entraîné. Cela permet d'éviter de devoir repasser par l'opération d'apprentissage qui peut être consommatrice de ressources. Le fichier généré pour le modèle le plus efficace de cette dépêche fait 46 Mo.

from sklearn.externals import joblib joblib.dump(pipeline, 'linuxfr_pipeline.pkl')

Plus tard ou sur une autre machine:

from sklearn.externals import joblib pipeline = joblib.load('linuxfr_pipeline.pkl')

La documentation mentionne des considérations à prendre en compte.

  • Il existe un risque de sécurité dans le cas où on charge des données car cela pourrait mener à l'exécution de code malicieux ;
  • la comptabilité entre versions n'est pas prise en compte ;
  • il est important de laisser à disposition un jeu de données types, le score de validation du modèle associé et le code afin que la personne qui reçoit le modèle puisse vérifier les résultats obtenus.
Conclusions

Au cours de cette expérience, une moulinette a été codée afin d'aspirer le contenu des journaux.

Les données ont été analysées en deux temps. Dans la première phase, la vectorisation du contenu des journaux a été réalisée. Il a été montré que cette étape ne suffit pas à pouvoir classer correctement du contenu inconnu. Dans une seconde phase, le nom de l'auteur, la date de publication, la date de création du compte, l'historique récente des scores des publications de l'auteur ont été pris en compte et assemblés dans un pipeline d'analyse. Les résultats ont montré qu'il est possible de prédire la catégorie dans laquelle se trouve un journal à partir de son contenu et du nom de l'auteur. Le taux d'erreur est inférieur à 1/1000. Par ailleurs, l'optimisation des paramètres des classificateurs ainsi que la validation croisées ont été présentées.

L'analyse prédictive des scores permettra plusieurs grandes avancées sur le site. La première et la plus évidente sera la possibilité de renvoyer un lien vers cette dépêche chaque fois qu'un contributeur se plaindra de la note réservée à sa prose. Il s'agit là de l'argument ultime qui ne manquera pas de faire taire les trolls devant tant d'autorité. La seconde avancée sera la possibilité pour un contributeur d'améliorer ses journaux afin d'atteindre à chaque fois la catégorie visée. Provoquer un séisme de moinsage ou atteindre le summum de l'excellence ne s'improvise pas et scikit-learn permettra à chacun d'évaluer différentes variantes de ses journaux afin de poster la "meilleure". La troisième avancée concerne les journaux qui ne peuvent pas avoir été élaboré par un esprit humain. Ils sont probablement générés par une machine. Les plaisantins pourront améliorer les textes de leur programme en utilisant le modèle présenté afin de rendre la lecture du contenu plus agréable. La note finale s'en ressentira.

Pour terminer, je dirai qu'il est possible de rapidement effectuer des analyses de données avec scikit-learn. La syntaxe est très simple pour les personnes connaissant Python. Les concepts sont assez compliqués, mais la mise en œuvre est très bien faite et la documentation officielle est complète. Mais, tous ces éléments positifs ne garantissent pas des résultats probants et immédiats. Comme dans toute matière complexe, il faut comprendre ce qu'on fait pour obtenir des résultats qui ont du sens (et être en mesure de les analyser).

Perspectives

Plusieurs pistes de réflexion pourront permettre de poursuivre l'analyse :

  • Le découpage des catégories est arbitraire (bornes -20 et + 20) ; en modifiant la répartition des données, les résultats seront probablement différents (exemples : répartitions en quartiles, score strictement positifs ou négatifs, etc.) ;
  • au vu des résultats obtenus, la prédiction du score (valeur numérique) est envisageable ;
  • les catégories ne sont pas équitablement peuplées, le nombre de journaux à score négatif est beaucoup plus faible dans ce cas ; pour y remédier, nous avons besoin de plus de journaux de mauvaise qualité abondamment moinssés. À vos claviers !
  • La classification par un système d'arbre en limitant leur profondeur n'a pas été testée ;
  • les paramètres du meilleur pipeline n'ont pas été optimisés.
Rêvons un peu

Un éventail se possibilités s'ouvre à la communauté LinuxFR.org. La liste ci-dessous reprend les éléments qui me viennent en premier à l'esprit.

  • Réaliser une analyse temporelle des scores pour prédire la note d'un journal à venir en tenant compte de l'historique de publication général (comme la bourse) ;
  • prédire la note d'un commentaire (après avoir modifié la moulinette) ;
  • modifier le modèle afin de prédire le nombre de commentaires. Les contributeurs pourraient alors toucher du clavier la recette permettant de créer les trolls ultimes qui permettraient d'atteindre des sommets d'excellence, de courtoisie et de bienveillance dans une avalanche de remarques plus palpitantes les unes que les autres ;

N'hésitez pas à partager dans les commentaires vos suggestions, vos impressions et vos idées innovantes ! De même, le dépôt gitlab est accessible. Je vous invite à tester vos recettes sur les données présentes et à les exposer dans un journal ou une dépêche. Les différences entre les modèles peuvent être difficiles à appréhender. Toute explication complémentaire sera la bienvenue.

Note
  1. Les scores précédents et la date de création du score peuvent facilement être déduite à l'aide du nom de l'auteur. 

Télécharger ce contenu au format Epub

Lire les commentaires

Optimisations et corrections pour Fim 1.2.3

8 juin, 2017 - 22:41

Fim (File Integrity Manager) sort dans sa version 1.2.3 avec diverses corrections.

Fim est un gestionnaire de fichiers libre (licence GPL v3) qui permet de gérer de nombreux fichiers de n’importe quelle taille. Il peut, par exemple, gérer des musiques, des photos ou des vidéos. Il est capable de gérer des centaines de milliers de fichiers occupant une taille totale de plusieurs téraoctets. Il peut détecter les fichiers dupliqués et les effacer.

Les nouveautés de la version 1.2.3 Général
  • passage de Gson à Jackson pour avoir un sérialiseur plus efficace  ;
  • réduction de la quantité de mémoire nécessaire pour charger un State.
Corrections de bogues
  • correction du problème no 9 : Exception dans le fil d’exécution « principal » java.lang.IllegalStateException ;
  • correction de l’algorithme de comparaison d’état ;
  • lorsque la taille dépasse 1 Go, Fim n’arrondit plus au Go le plus proche ;
  • utilisation du système international d’unités (SI) pour calculer la taille d’un fichier (1 000 — kilo — au lieu de 1 024 — kibi).
Télécharger ce contenu au format Epub

Lire les commentaires

Grammalecte, correcteur grammatical [2]

8 juin, 2017 - 10:07

Grammalecte est un correcteur grammatical écrit en Python et en JavaScript, dédié à la langue française, disponible pour LibreOffice, Firefox, Thunderbird, ainsi que comme programme autonome, via une interface en ligne de commande ou un serveur. Par ailleurs, d’aimables contributeurs ont apporté leur pierre à l’édifice en concevant des greffons pour Vim et Emacs.

Grammalecte lance une deuxième campagne de financement pour améliorer la correction grammaticale et faire évoluer les intégrations aux navigateurs Web.

Cet article est très long. Plutôt que répéter ce qui a déjà été dit, je vais présumer que vous avez un souvenir à peu près clair du billet précédent sur ce sujet. Cela dit, même sans ça, ce que je vais dire devrait être intelligible.

Sommaire Ce qui a été fait Séparation du correcteur d’avec Hunspell et LibreOffice

C’était le prérequis à l’indépendance du logiciel, et c’est la première chose qui a été faite. Au lieu de consulter Hunspell, le correcteur orthographique, pour connaître l’étiquetage grammatical des mots, Grammalecte interroge dorénavant son propre dictionnaire indexable. Il s’agit d’un graphe de mots contenant toutes les formes graphiques que peuvent avoir les mots français : les pluriels, les formes féminines et masculines, et les conjugaisons.

Le graphe contient 500 966 entrées, avec 140 caractères différents, 901 codes de suffixation, 6 066 étiquettes grammaticales, et est composé de 110 796 nœuds et 236 744 arcs (liens qui vont d’un nœud à un autre). Tout ça est compressé sous forme d’un dictionnaire binaire indexable pesant environ 1,25 Mio (le fichier texte non compressé pèse environ 18,6 Mio). Mais le principal avantage de ce dernier n’est pas sa petite taille, c’est qu’on peut le parcourir très rapidement et l’interroger sans avoir à le décompresser. Il peut fournir deux sortes d’informations : un mot est‐il présent dans le dictionnaire et, si oui, quelle est sa nature grammaticale.

Grâce à cela, Grammalecte peut fonctionner de manière autonome.

Extension pour Firefox & Thunderbird

Le correcteur a été entièrement réécrit en JavaScript avec une interface pour Firefox, qui s’appuie principalement sur l’API SDK de haut niveau et quelques fonctionnalités de bas niveau. L’interface est faite en HTML/CSS.

L’API de Thunderbird étant complètement différente de celle de Firefox, cette extension est une autre réécriture en JavaScript de l’extension, hormis le cœur du moteur grammatical, bien sûr. L’interface est bâtie avec l’ancienne technologie XUL encore en vigueur sur Thunderbird. La documentation concernant Thunderbird étant en partie tombée en déshérence (liens cassés, pages manquantes, sections disparues, sites Web à l’abandon ou évaporés), j’ai parfois fait emploi de techniques trouvées dans d’autres extensions, mais ça ne concerne qu’une minorité de problèmes, et je me suis contenté autant que possible de suivre ce qui était documenté. Le fonctionnement de l’extension est assez similaire à celle pour Firefox. Votre texte est analysé dans un panneau annexe. En revanche, contrairement à Firefox, les erreurs sont listées en dessous du paragraphe analysé. Hormis cela, tout est relativement semblable, sauf l’allure générale de l’extension, qui fait plus vieux jeu, parce que XUL est d’une conception plus ancienne.

La mauvaise nouvelle, pour Firefox, c’est qu’il faudrait déjà refaire l’interface. Quand j’ai commencé le codage de l’extension, Mozilla préparait une nouvelle API pour les extensions, appelée WebExtension, qui était alors en version alpha. C’est la quatrième API pour Firefox, les trois autres étant XUL, Bootstrapped et le SDK (haut niveau et bas niveau). Il était dit que ces trois API deviendraient obsolètes d’ici quelques années, sauf le SDK de haut niveau, et qu’il fallait utiliser ça en attendant que l’API WebExtension fût finalisée. C’est donc ce que j’ai fait. Grammalecte pour Firefox est sorti à peu près au même moment que WebExtension. Quelques mois plus tard, les trois autres API ont été déclarées obsolètes, y compris le SDK de haut niveau, contrairement à ce qui avait été annoncé, et toutes les trois seront supprimées en novembre prochain avec Firefox 57.

C’est vraiment très irritant, mais l’on n’y peut pas grand‐chose. Ceci découle probablement de la volonté de Mozilla de réécrire tout le cœur de Firefox. Ce qui n’apporte pas que de mauvaises choses, puisque, par exemple, j’ai constaté que le correcteur grammatical fonctionnait plus de deux fois plus vite à partir de Firefox 55…

Le cœur de l’extension, le moteur grammatical, n’est pas à reprogrammer, il ne s’agit « que » de l’enrobage, l’interfaçage… J’ignore si ça réclamera beaucoup de travail, je ne m’y suis pas encore intéressé. L’un des autres soucis, c’est que même si WebExtension est dorénavant le modèle d’extensions conseillé, il semble qu’il ne permette pas encore autant de choses que les API précédentes. Cette API est toujours en développement, Mozilla travaillant encore à étendre les possibilités offertes.

En ce qui concerne Thunderbird, je n’ai rien vu passer… et j’ignore si nous sommes à la veille d’une révolution surprise qui va tout casser.

Mozilla n’a pas encore vérifié le code de l’extension pour Thunderbird : la liste d’attente est très longue. Heureusement, contrairement à Firefox il est possible d’installer une extension non vérifiée et non signée. Il n’y a aucun risque de confidentialité. Le correcteur n’envoie aucune donnée en ligne, absolument rien. Ce que vous écrivez n’est pas transmis, tout se passe sur votre ordinateur.

Pour ceux que ça intéresse de tester, je viens de publier la version 0.5.17 :

  • pour Firefox (il faut un Firefox capable d’installer les extensions non signées) ;
  • pour Thunderbird (Thunderbird peut installer les extensions non signées).
Captures d’écran

Boîtes de dialogue « À propos » :

Correcteur grammatical :

Conjugueur :

Formateur de texte :

Options grammaticales et orthographiques :

Interface en ligne de commande :

Révision du moteur interne du correcteur Désambiguïsation

Dans la précédente dépêche, je vous avais expliqué que Grammalecte ne possédait pas de processus de désambiguïsation permettant d’étiqueter les mots en fonction du contexte. Par exemple, un mot comme « porte » peut être un verbe ou un nom féminin, et il est utile, lors de l’analyse d’une phrase, d’avoir procédé si possible à la désambiguïsation de sa nature grammaticale, afin que les règles de contrôle n’aient pas à se poser la question à chaque fois.

Comme expliqué lors de la campagne de financement précédente, Grammalecte intègre désormais des fonctions de désambiguïsation capables d’étiqueter et baliser le texte. Ce désambiguïsateur fonctionne d’une manière similaire aux règles de contrôle et au processeur de texte. Une expression rationnelle déclenche une action de désambiguïsation si elle remplit la condition requise, de sorte que toutes les règles suivantes bénéficient d’un étiquetage plus précis. Il y a trois types d’actions de désambiguïsation : la sélection (qui ne retient que les étiquettes conformes à une expression rationnelle), le filtre (qui supprime les étiquettes grammaticales non conformes), l’étiquetage (qui impose une ou plusieurs étiquettes, quelles que soient celles que le mot possède alors).

Règles multi‐actions

Dans le précédent billet, je vous avais expliqué que Grammalecte fonctionnait selon une succession de passes, dont chacune était précédée d’une transformation du texte par ce que j’appelais le « préprocesseur de texte ». Ce qui permettait de simplifier peu à peu le texte pour faciliter le contrôle des règles grammaticales qui suivaient.

Pour simplifier, cela fonctionnait ainsi :

  1. Passe 1 (paragraphe par paragraphe) :
    • règles du préprocesseur de texte ;
    • règles de contrôle.
  2. Passe 2 (phrase par phrase) :
    • règles du préprocesseur de texte ;
    • règles de contrôle.
  3. Passe 3 (phrase par phrase) :
    • règles du préprocesseur de texte ;
    • règles de contrôle.
  4. etc.

Dans ce système, chaque règle ne pouvait faire qu’une seule chose (comme dans LanguageTool), et seulement si la condition qui contrôlait sa mise en œuvre était remplie.

Peu de temps après le début de la campagne de financement, il m’est apparu qu’il serait souhaitable de rendre plus souple ce fonctionnement. Il n’était pas prévu au programme de toucher à cela, mais j’ai préféré m’atteler tout de suite à cette tâche plutôt que de regretter plus tard de ne pas l’avoir fait. Donc, à présent, au lieu d’une succession de passes alternant transformation du texte et contrôle de la grammaire, nous sommes revenus à simplement deux passes (une pour le contrôle du paragraphe, une pour le contrôle des phrases), mais chaque règle peut dorénavant tout faire et peut accomplir autant d’actions qu’on le souhaite, chaque action se déclenchant si la condition qui y est attachée est remplie.

Donc, une règle peut dorénavant opérer plusieurs actions de contrôle, plusieurs actions de réécriture et plusieurs actions de désambiguïsation.
Au commencement, je pensais que cette modification du fonctionnement n’aurait que peu de conséquences, car elle n’était pensée que pour me faciliter la tâche dans certains cas épineux, puis il m’est apparu que ça changeait en fait de si nombreuses choses que la transition de l’ancien modèle vers le nouveau n’est toujours pas achevée à ce jour. Ça n’a pas d’importance puisque ça fonctionne aussi bien qu’auparavant, mais la souplesse de ce fonctionnement apporte tellement d’avantages que je suis loin d’en avoir profité encore pleinement.
Cela dit, depuis que Grammalecte fonctionne ainsi, des dizaines de règles complexes ont déjà été fusionnées, et cela a simplifié grandement le déroulement de nombreuses opérations.

Prenons un exemple simple. Auparavant, si vous écriviez « les ordinateur », il fallait deux règles de contrôle pour souligner « les » et suggérer « le », et souligner « ordinateur » et suggérer « ordinateurs ». À présent, une seule règle permet de faire les deux choses d’un coup.

Autre exemple. Mettons que nous rencontrons la graphie « militant(e)s ». Une même règle va permettre de faire trois choses :

  • suggérer d’écrire ceci autrement (« militants et militantes », « militantes et militants », « militant·e·s ») ;
  • étiqueter ce mot inexistant dans le dictionnaire comme « nom ou adjectif épicène pluriel » ;
  • réécrire le mot en interne pour ôter les parenthèses gênantes.
Détection des erreurs

De nombreuses règles de contrôle ont été ajoutées… notamment concernant la détection de confusions concernant les mots grammaticaux. La dernière version du correcteur (v0.5.17) contient 21 actions de désambiguïsation, 687 actions du processeur de texte, 1 437 actions de contrôle ; ces actions sont réparties dans 1 939 règles.

À titre de comparatif, la version 0.4.10, qui suivait l’ancienne logique, contenait 540 règles de transformation de texte et 933 règles de contrôle, chacune n’effectuant qu’une seule action.

Ces chiffres ne sont pas nécessairement très évocateurs, parce que rien ne comptabilise les modifications du fonctionnement des règles qui sont les plus nombreuses, ne serait‐ce, par exemple, que sur les méthodes pour faire des suggestions.

En fait, le potentiel du correcteur est encore sous‐exploité, malgré les innombrables améliorations apportées ici et là. Je n’avais pas assez insisté sur ce point lors du dernier journal, alors je vais le répéter encore une fois : les détails sont ce qui réclame le plus de temps, car il faut songer que les possibilités d’erreurs avoisinent l’infini et que les possibilités de faire des faux positifs sont aussi nombreuses. Dans les faits, améliorer le correcteur grammatical, c’est s’occuper sans cesse de micro‐problématiques. Je réécris ici ce que j’ai dit la dernière fois : « Écrire des règles, c’est assez rapide ; détecter les faux positifs, c’est beaucoup plus long ; ceux‐ci ont tendance à survenir là où l’on s’y attend le moins. C’est ce qui est le plus exigeant : maintenir un ensemble de règles, améliorer l’existant, tester, trouver de nouvelles possibilités. Lorsqu’on s’occupe d’un correcteur grammatical, on passe surtout son temps à peaufiner des détails, à ajuster le fonctionnement de l’existant, à arrondir les angles. Oubliez l’idée de concevoir l’algorithme ultime qui saura gérer tous les cas. Même quand on est à peu près sûr d’écrire une petite règle tranquille qui ne générera aucun faux positif, la réalité va très probablement nous rappeler à l’ordre et nous obliger à slalomer sur ce qui paraissait au commencement comme une belle ligne droite. S’occuper de correction grammaticale, c’est marcher sur un chemin pavé d’embûches subtiles. »

C’est pourquoi l’évolution du correcteur se fait pas à pas, en évitant autant que possible les modifications radicales.

Le correcteur fonctionne beaucoup mieux depuis que toutes ces améliorations ont été faites, et j’espère que c’est sensible pour vous, car il m’est difficile de juger si ces améliorations sont visibles pour les utilisateurs.

Parmi toutes les nouveautés apportées, il y a notamment :

  • beaucoup de règles pour détecter des confusions entre les mots homonymes (comme ce, se et ceux) ;
  • beaucoup d’améliorations pour gérer les cas particuliers, clarifier le texte interne et augmenter le taux de détection ;
  • toujours moins de faux positifs ;
  • une option pour détecter les erreurs de reconnaissance optique de caractères bien plus développée (désactivée par défaut) ;
  • beaucoup de règles de contrôle ont été améliorées.
Le moteur de suggestions

L’amélioration des suggestions est l’un des points qui ont le plus progressé depuis le précédent journal, grâce aux règles multi‐actions qui ont permis de rendre plus systématiques la possibilité de faire deux suggestions différentes lors de la constatation d’un désaccord de genre, de nombre ou de conjugaison ; mais aussi surtout grâce à la création d’une table de correspondance phonétique à partir de laquelle Grammalecte peut choisir des mots à suggérer en fonction de leur nature grammaticale.

La table de correspondance phonétique est un simple fichier qu’il est facile de compléter, c’est une succession de mots homonymes, comme :

  • appareil, appareils, appareille, appareilles, appareillent ;
  • mec, mecs, Mecque ;
  • pouce, pouces, pousse, pousses, poussent ;
  • tête, têtes, tète, tètes, tètent.

À partir de cette liste, Grammalecte construit un mini‐dictionnaire avec toutes les natures grammaticales possibles de chaque mot. Puis, au besoin, on peut demander, par exemple, de trouver un mot semblable à « tète » en spécifiant les natures grammaticales acceptables (via une expression rationnelle). Il y a aussi quelques propositions de substitutions automatisées, pas toujours opportunes, ce point reste à améliorer.

Si ça vous intéresse, cette table est consultable ici.

Cette table phonétique ne résout pas tous les problèmes, mais permet dans bien des cas de faire des suggestions de mots sans rapport grammatical avec le terme erroné. Avant cela, le correcteur se contentait de signaler l’erreur, mais ne pouvait rien suggérer. Quelques exemples :

  • « Il appareil demain. » → appareille ;
  • « La mec. » → Le | Mecque ;
  • « Une goulet » → Un | goulée ;
  • « Il pouce le bouchon trop loin. » → pousse ;
  • « J’en ai marre de ces tètes de nœud. → têtes ;
  • « Ils ne son pas idiot. » → sont.

Notez que le moteur de suggestions ne propose des mots ayant une autre racine que lorsqu’il constate une anomalie (si un verbe prend la place de ce qui devrait être un nom, par exemple) ou s’il constate une erreur de genre. S’il y a seulement une erreur de pluriel, il se contente de faire une correction de nombre. Mais il serait aussi possible dans ces cas‐là de suggérer des mots différents. Par exemple « Des homme » → hommes | ohms | heaumes.

Ça m’a semblé superflu de proposer de telles corrections, mais si vous jugez ça utile, dites‐le‐moi.

Modifications diverses
  • l’écriture des règles a été modifiée, il est plus aisé de gérer la casse et les marges des motifs des expressions rationnelles ;
  • les règles sont regroupées par option, afin de pouvoir ajouter des règles optionnelles sans gréver les performances (l’option de reconnaissance optique de caractères, par exemple) ;
  • il est possible d’utiliser pour chaque action des opérateurs logiques (__also__ et __else__) pour écrire des conditions tenant compte du résultat de la condition de l’action précédente ;
  • toutes les règles ont été nommées, afin de satisfaire aux nécessités du greffon pour Vim (désactivation paramétrable de règles spécifiques) ;
  • tout le processus de construction a été revu et des tests ont été intégrés pour éviter certaines erreurs d’écriture des règles ;
  • des marque‐pages pour s’y retrouver dans la liste des règles, qui commence à devenir très, très longue (fonctionnalité ajoutée hier).
Capture d’écran

Voici à quoi ressemble le fichier des règles (sous SublimeText) :

Tests unitaires

Auparavant, la situation sur ce point était très mauvaise, puisqu’il n’y avait aucun test unitaire sur le correcteur, seulement des tests « manuels », c’est‐à‐dire un fichier texte que j’ouvrais de temps en temps avec Writer pour vérifier que le moteur fonctionnait comme prévu. Mais c’était loin d’être exhaustif et facile à mettre en œuvre, puisque je vérifiais « à l’œil » si à chaque ligne le correcteur trouvait bien l’erreur qu’il était censé trouver. Pénible et lent au possible.

À présent, à chaque modification, il est possible lors de la construction de tester si rien n’est cassé. Plus de 6 200 tests sont lancés (dont 2 000 repris chez LanguageTool), et chaque règle de détection doit être testée au moins une fois.

Malgré cela, les tests ne sont pas encore exhaustifs (à bien y songer, il n’est sans doute pas possible d’être exhaustif), mais la situation s’améliore indubitablement, et peu à peu le socle du correcteur devient de plus en plus solide. Grâce à cela, de nombreuses erreurs dans le fonctionnement du correcteur ont été détectées et corrigées.

Beaucoup de ces tests sont là pour vérifier qu’une règle fonctionne correctement, mais une grande partie d’entre eux existent pour éviter les faux positifs constatés lors des versions précédentes. Ce sont les tests les plus nombreux, parce que les faux positifs sont légion et qu’il est très fréquent d’en provoquer de nouveaux, quelle que soit la prudence avec laquelle on écrit les règles. Pour les éviter autant que possible, quelques textes courts ont été inclus dans les tests de Grammalecte :

  • Le Horla, de Guy de Maupassant ;
  • Le double assassinat dans la rue Morgue, d’Edgar Poe ;
  • Les vers dorés, de Pythagore ;
  • L’épître du feu philosophique, de Jean Pontanus.

Avoir écrit l’extension pour Firefox présente par ailleurs un avantage considérable pour consolider la correction grammaticale : c’est beaucoup plus facile de mettre le correcteur à l’épreuve. Presque tous les jours, je lance des analyses grammaticales sur de nombreux articles de journaux et de blogs divers ; ça me permet de repérer et corriger des faux positifs, ainsi que de nouveaux mots à ajouter au dictionnaire. Auparavant, je faisais des copier‐coller dans Writer, ce qui était bien moins commode et bien plus long.

Ces tests sont faits en Python et en JavaScript. Les deux moteurs les passent tous et fonctionnent de la même manière. Cela dit, il n’est pas malgré cela pas possible de garantir (pour l’instant) que le moteur en JavaScript fonctionne aussi bien qu’en Python.

JavaScript, mon amour Hiroshima

Passer de Python à JavaScript n’a pas été de tout repos. Et si le projet a pris du retard, ce n’est pas tellement, comme je le craignais, à cause de la difficulté de concevoir une extension pour Firefox et Thunderbird. Ce point fut plus facile que je ne le pensais, tout simplement parce que la documentation de Firefox et celle Thunderbird, quoique cette dernière soit en déshérence, sont mieux tenues et plus complètes que celle pour LibreOffice… et surtout l’API est plus simple à utiliser… Quoique… l’API de bas niveau est tout aussi compliquée, de mon point de vue… Mais comme on peut s’en passer… Bref.

La syntaxe de JavaScript ne m’a pas posé de problème. J’ai utilisé toutes les nouvelles possibilités offertes par la norme ES6 : for … of, les générateurs, les paramètres par défaut, les paramètres du reste, la décomposition, les fonctions fléchées, Map, Set, les classes, let et const, et même depuis peu les nouvelles commandes async et await. Avec tout ça, JavaScript est un langage pas aussi horrible que je l’avais craint, même assez agréable parfois… En même temps, comme je démarrais un projet à zéro, je n’ai pas eu à me coltiner toutes les bizarreries possibles de ce langage. J’ai évité toute forme de syntaxe tord‐neurones.

Ce qui m’a compliqué la vie, c’est plutôt l’écosystème de JavaScript, sa difficulté à déboguer, son comportement étrange, les incohérences et sa bibliothèque standard pauvre.

Difficulté à déboguer

Ni Firefox, ni Thunderbird (ni LibreOffice d’ailleurs) ne signalent quoi que ce soit s’il y a une erreur de syntaxe dans le code. Ça ne fonctionne tout simplement pas, et c’est tout. C’est assez pénible en Python, mais c’est bien pire en JavaScript où il est fréquent d’oublier une virgule ou un point-virgule quelque part. En outre, les messages d’erreur de JavaScript sont longs et souvent abscons, sans compter que selon le contexte d’exécution dans Firefox/Thunderbird, les messages d’erreur sont parfois encore plus imprécis, voire inexistants (le module XYZ plante, mais débrouillez-vous pour le reste, car aucune info ne sera fournie, comme où et pourquoi). Je ne vais pas rentrer dans les détails, parce que j’ai maintenant oublié la plupart d’entre eux… mais à mon avis, Mozilla ferait des heureux en améliorant les rapports d’erreur.

Inutile de s’étendre sur le comportement erratique de JavaScript et son typage faible, cela a déjà été fait par tellement de monde… Quand on vient de Python, il est facile de tomber dans tous les pièges que ce langage tend, dans lesquels même les plus experts chutent encore de temps en temps, j’imagine. La traque aux “undefined” semblant sortir de nulle part m’a particulièrement marqué.

La bibliothèque standard

La bibliothèque standard est, en restant poli, très mauvaise, notamment parce qu’elle est très incomplète, mais aussi assez peu cohérente, me semble‐t‐il. Dans beaucoup de cas, ce n’est pas bien grave, il suffit d’ajouter les fonctions dont on a besoin et c’est ce que j’ai fait, mais on se demande quand même pourquoi cette bibliothèque standard est si pauvre ou si mal foutue. Avec toute la hype autour de ce langage, c’est vraiment très étonnant.

Prenons le cas des expressions rationnelles, parce que la nullité de l’objet Regexp est navrante… et parce que c’est ce qui est le plus utile à Grammalecte :

problème 1 : pas de lookbehind assertions

Les lookbehind assertions permettent de regarder ce qui précède un motif. OK, c’est pénible, mais on peut compenser avec quelques efforts.

problème 2 : les classes de métacaractères ne comprennent que l’ASCII.

Les classes de métacaractères comme \w et \b, ne comprennent que l’ASCII.
Oui, l’ASCII ! Ce qui donne (vous pouvez essayer dans l’ardoise de Firefox) :

/^\w+$/.test("étonnant") ==> false /\bvite\b/.test("évite") ==> true

Inutile de vous précipiter sur votre calendrier, nous sommes bien en 2017, et non en 1997. JavaScript est, paraît‐il, un langage moderne, mais seulement quand on n’y regarde pas de trop près.

Heureusement, il est facile de compenser l’absence d’un \w fonctionnel par [a-zA-Zà-öÀ-Ö0-9_ø-ÿØ-ßĀ-ʯ] (du moins, ce sont les plages de caractères que j’ai retenues, on pourrait en ajouter bien d’autres). Ce qui rend les expressions rationnelles un peu plus piquantes à lire…

Quant à \b, eh bien, on peut essayer de compenser avec des lookahead assertions et des lookbehind assertions. Seulement, voilà, ces dernières n’existent pas en JavaScript. Mais en magouillant, on peut simuler ça. Du moins dans presque tous les cas utiles. Tant pis pour les autres… on priera de ne pas tomber sur un caractère non ASCII.

Problème 3 : pas de position des groupes capturés

Les groupes capturés n’indiquent pas leur position. Ça, c’était vraiment la mauvaise surprise. Avant de proposer la campagne de financement, j’avais vérifié ce que JavaScript pouvait faire avec les expressions rationnelles, mais je n’avais pas vu que ce point manquait à l’appel, tout simplement parce que je n’avais pas imaginé que JavaScript serait incapable de fournir cette indication.

De quoi s’agit‐il au juste ? C’est très simple. Quand vous écrivez une expression rationnelle avec des groupes de capture, comme (\w+) (\w+) (\w+), Python vous renvoie les groupes capturés (ce qui est entre parenthèses) avec leur position dans le motif global. JavaScript ne renvoie que le contenu des groupes capturés, mais pas leur position. Débrouillez‐vous pour savoir où ça se trouve, et c’est bien plus épineux que vous pourriez le supposer, si, par exemple, vous capturez des mots comme « a », « le » ou « la », ou si vous capturez des groupes qui ne sont pas des mots entiers.

Ce point seul m’a fait perdre beaucoup de temps, sans compter que ce fut un cauchemar à déboguer. J’ai même cru pendant quelques jours que tout le projet allait tomber à l’eau à cause de ça.

Car, à ce moment du développement, alors même que je bataillais pour rendre le moteur fonctionnel, j’ai pris conscience que l’exécution du code en JavaScript était environ douze fois plus lente qu’en Python, au point que lorsqu’on lançait la correction grammaticale, Firefox se figeait pendant de longues secondes… C’était évidemment inacceptable.

Il était donc hors de question de ralentir encore l’exécution du code en essayant de calculer la bonne position des erreurs dans les motifs détectés (pour rappel, il y a des milliers d’expressions rationnelles dans Grammalecte). Du coup, j’ai oublié cette idée et procédé autrement : la position des groupes capturés est signalée dans le fichier des règles de grammaire. Cela rend le processus d’écriture des règles un peu plus brouillon, mais c’est assez simple pour être acceptable. Et ça ne ralentit pas le moteur outre mesure.

Ensuite, pour éviter que Firefox ne se fige, le cœur du correcteur grammatical, c’est‐à‐dire la vérification du texte, s’exécute dans un processus séparé… Et, bonne surprise, il s’avère que dans ce processus — inexplicablement, sans rien changer au code — le correcteur fonctionne vingt fois plus rapidement que dans le processus principal de Firefox, même quand ce dernier ne fait rien du tout !…

Un écosystème incohérent

Selon les contextes et l’application, les choses fonctionnent différemment et ça donne la désagréable impression de bâtir sur du sable. On ne sait pas toujours bien ce qui préexiste aux scripts qu’on conçoit. Notamment, il n’y a toujours pas de moyen conventionnel simple pour importer un module (ES6 en parle, mais aucun navigateur n’a encore implémenté ça).

Parfois, require existe par défaut. On peut faire :

const { Cu } = require("chrome"); const tabs = require("sdk/tabs");

Dans d’autres cas, require n’existe pas par défaut, donc :

importScripts("resource://gre/modules/workers/require.js"); const gce = require("resource://grammalecte/fr/gc_engine.js");

Ou bien encore dans un autre contexte, il faut faire :

const Cu = Components.utils; const { require } = Cu.import("resource://gre/modules/commonjs/toolkit/require.js", {});

Parfois, on importe Components.utils (Cu) grâce à require. Parfois, on importe require à partir de Components.utils (Cu) ou bien d’autre chose.
On peut aussi importer des modules via XUL ou le HTML, avec des espaces de noms partagés. Il y a aussi les déclarations de ressources dans un manifeste. Bref, tout ça est contre‐intuitif au possible.

Cela dit, alors que j’écrivais ce texte, je découvre que import et export arrivent enfin dans les navigateurs ! On va peut‐être en finir avec tout ça bientôt.

Mais, ça résoudra pas tout. Comme je l’ai dit, selon les applications et les contextes, certains objets ou fonctions existent ou n’existent pas. Dans Firefox, on peut appeler directement XMLHttpRequest(), mais pas dans Thunderbird. Pour ce dernier, il « suffit » donc de faire :

let { Cc, Ci } = require("chrome"); let xRequest = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(); xRequest.QueryInterface(Ci.nsIXMLHttpRequest);

Même pour faire un print, il n’y a pas de solution uniforme. Là encore, selon le contexte, il y a : console.log(), Service.console.logStringMessage() ou dump() ou que sais‐je encore. Il y a des contextes où rien de tout ça ne fonctionne.

Une dernière étrangeté : pour compenser la pauvreté des objets standard, j’ai ajouté des fonctions personnelles à String, Regexp et Map. Mais ce qui est curieux, c’est que dans Firefox, il faut que ces nouvelles fonctions soient déclarées dans le module où les objets sont instanciés… tandis que dans Thunderbird, il faut que ces nouvelles fonctions soient déclarées dans le module où ces fonctions sont utilisées. C’est pourtant le même moteur JavaScript.

J’arrête ici de lister les incohérences, on n’en finirait pas.

Chaque problème n’est pas dramatique en soi, mais l’accumulation de ces contretemps finit par rendre la programmation en JavaScript vraiment casse‐pieds par moments.

Et, là, on ne parle que de Mozilla. C’est encore différent ailleurs, puisque l’implémentation des nouvelles fonctionnalités du langage n’avance pas au même rythme selon les moteurs.

En résumé, JavaScript, c’est le bordel et on se demande pourquoi c’est si incohérent. À mon avis, ce qui manque particulièrement à ce langage, c’est une implémentation standard avec un comportement logique et uniforme, des rapports d’erreurs plus clairs et une bibliothèque par défaut mieux faite et plus complète. On perd un temps considérable avec ces histoires.

Je ne voulais pas particulièrement écrire un long chapitre sur ce langage, mais ça fait déjà pas mal…

De Writer à Firefox (ou de la littérature au Web) : le choc culturel

L’un des points auxquels je n’avais pas beaucoup réfléchi et qui m’a le plus surpris, bien que j’avais conscience que les textes du Web n’égalaient pas en qualité et normativité ceux sur lesquels j’avais travaillé sur LibreOffice, c’est combien l’écrit sur le Web est chaotique et exubérant, et foisonne de néologismes, d’anglicismes, de noms propres (compagnies, marques, produits, people), de sigles, de codes divers, de vocabulaire technique, de smileys, d’erreurs de syntaxe ou de formatage, sans compter les habituelles erreurs typographiques, orthographiques et grammaticales… Si bien que même lorsque Grammalecte commençait à fonctionner comme il le devait sur Firefox, il m’est vite apparu que c’était difficilement utilisable en l’état, et qu’il fallait revoir son fonctionnement pour éviter trop de signalements intempestifs, pour éviter que tous les textes soient barbouillés de toutes les couleurs. Pourtant, je n’avais pas fait faire les premières armes du correcteur sur les logorrhées de Facebook, mais sur des textes d’acteurs « sérieux », comme les journaux et les blogs grand public ou plus confidentiels, mais a priori bien tenus. Quelle déconvenue !… Entre le charabia, les hashtags et autres bidules, le formatage indigent et la novlangue du Web, Grammalecte tirait tout le temps la gueule, et il a fallu revoir beaucoup de choses pour que le correcteur se comporte moins comme un casse‐pieds permanent. J’ai passé un temps considérable à cette adaptation culturelle. J’ai fait passer au correcteur des centaines de textes tirés de blogs et de journaux. J’ai corrigé des tas de faux positifs et j’ai ajouté des centaines de mots dans le dictionnaire. Et beaucoup d’entre vous trouvent sans doute le correcteur encore trop rigide. À vous de me le dire, j’ai eu très peu de retour sur ce point…

Quoi qu’il en soit, pour s’acclimater à Internet, il a fallu assouplir grandement la politique d’intégration des néologismes, des anglicismes, des marques, améliorer l’analyseur lexical pour ignorer des tas de trucs. Par exemple, si l’on peut se passer du verbe « tweeter » quand on ne s’occupe que de LibreOffice, sur le Web, non, ce ne peut être compris des utilisateurs. Trop fréquent. Idem pour pas mal de marques et d’autres néologismes très courants.

Cela dit, je suis toujours réticent à ajouter trop de nouveautés et de bizarreries, les noms de produits sont toujours interdits (tant pis pour les Freebox, les iBidule, et autres gadgets dans l’air du temps…), et je me suis arrêté au moment où j’ai estimé que j’avais suffisamment assoupli les choses… Faites‐moi part de votre avis, en bien ou en mal. Il reste sans doute encore des rugosités à polir.

Lexique du correcteur

La graphie d’un mot français ne permet pas de déterminer sa nature. Un mot finissant par « -ent » peut être un nom, un adjectif, un adverbe ou la forme conjuguée d’un verbe. C’est pourquoi un correcteur grammatical ne peut souvent pas grand‐chose sans un lexique étiqueté référençant tous les mots d’une langue. Cet étiquetage, c’est la base de la connaissance du correcteur.

Ce lexique est généré à partir du dictionnaire orthographique pour Hunspell.

Quelques données sur le dictionnaire :

  • plus de 82 300 entrées (+ 5 300 depuis le précédent journal) ;
  • toutes les entrées sont grammaticalement étiquetées ;
  • environ 20 % d’entre elles sont sémantiquement étiquetées (médecine, informatique, botanique, etc.), mais cet étiquetage ne sert pas encore.

Améliorer la base lexicale et son étiquetage, c’est l’une des tâches les plus importantes de la conception d’un correcteur grammatical. Tout le travail sur le dictionnaire se fait sur Dicollecte, où sont collectées les propositions des utilisateurs.

C’est toujours perfectible

Beaucoup de choses ont été faites, parfois plus que ce qui était demandé, parfois le strict minimum. Évidemment, beaucoup de choses sont encore améliorables, c’est le propre des projets informatiques. Un correcteur grammatical, ce n’est jamais fini.

Si j’ai oublié de mentionner quelque chose d’important, n’hésitez pas à m’en faire part.

Malheureusement pour certains, je n’ai pas réécrit le correcteur en OCaml, Haskell, Lisp, Cobol… [insérez ici votre langage à la mode favori]. Firefox et Thunderbird s’obstinent à ne comprendre que le JavaScript, LibreOffice le Python, le Basic et le Java. C’est barbare ou vintage si on est indulgent, mais c’est ainsi. :-)

Pour l’instant, attendu que Mozilla n’a toujours pas implémenté l’interface de programmation qui permettra de souligner les erreurs directement dans les zones de texte, la correction se fait dans un panneau annexe. Mais, dès que cette interface sera disponible, c’est bien sûr ainsi que les corrections se feront. Au cas où ceci intéresserait quelqu’un parmi vous, sachez qu’il existe une prime pour la réalisation de cette tâche sur Bountysource.

Il existe également une prime pour apporter la colorisation des erreurs dans LibreOffice. Idéalement, j’aimerais qu’on passe des vaguelettes bleues à peine visibles à des traits pleins, épais et colorés. Par exemple :

L’un des problèmes qui m’ennuie assez en ce moment, c’est que la validation des extensions proposées sur le site de Mozilla est devenue vraiment longue depuis le début de l’année. Les contrôleurs sont probablement submergés de nouvelles extensions à cause du passage obligatoire à WebExtension. Du coup, la version 0.5.16 n’est pas encore validée. La version 0.5.17 n’a pas encore été proposée, attendu que toute nouvelle version nous ramène en fin de liste d’attente.

L’avenir Améliorer la correction grammaticale

Après le passage délicat que constituait la désimbrication de Grammalecte de LibreOffice, je vais dorénavant me concentrer sur l’amélioration du correcteur lui‐même. Avec toutes les nouvelles fonctionnalités apportées dernièrement, il est possible de faire bien mieux que ce qu’on a maintenant.

Pour l’instant, le désambiguïsateur, quoique déjà fort utile, est particulièrement sous‐utilisé, pas parce qu’il est difficile d’emploi, mais parce que cette affaire est vraiment plus délicate que je ne l’avais supposé de prime abord, et aussi parce que le processeur de texte fait en vérité déjà beaucoup de travail sur ce point (cf. le journal précédent)… Encore une fois, le diable est dans les détails, les détails, les détails…
En revanche, il m’apparaît de plus en plus évident qu’il serait utile d’adjoindre au désambiguïsateur un système d’annotation du texte, parce que tout ne dépend pas de la désambiguïsation grammaticale, et qu’il est souvent appréciable de connaître le contexte.

Le fait que les règles puissent lancer plusieurs actions va permettre de faire des examens plus complets sur des détails pour l’instant ignorés, notamment sur le contrôle des locutions adverbiales ou les syntagmes nominaux les plus fréquents. Rien de difficile à première vue. Juste un travail de tâcheron qui demande du temps.

L’autre point central à mettre en œuvre, c’est la fusion et le réajustement des règles existantes. Le fait que les règles peuvent dorénavant appliquer autant d’actions que voulu change grandement la donne. Par exemple, je vous avais expliqué dans le précédent journal que la vérification des verbes se faisait après avoir vérifié tout le reste. À présent, même s’il est encore utile de fonctionner ainsi dans bon nombre de cas, il serait appréciable de fusionner certaines de ces vérifications avec le désambiguïsateur qui, lui, est surtout utilisé dans les premières phases de traitement.
Ce travail de fusion et de réajustement des règles ne présente pas de difficultés particulières, c’est surtout une question de stratégie globale qui ne nécessite cependant qu’un travail minutieux et attentif, plutôt ennuyeux et probablement un peu répétitif. Une fois de plus, avec plusieurs centaines de règles concernées, ça ne peut pas se faire en un tour de main.

Autre objectif : bétonner les tests, bétonner les tests, bétonner les tests. Parce que c’est possible et que c’est indispensable pour éviter les bogues inattendus que la correction grammaticale peut susciter. Mais il faudra aussi consolider radicalement les tests par l’ajout systématique des erreurs les plus fréquentes.

Améliorer les suggestions… Un casse‐tête qui s’est beaucoup amélioré ces derniers temps, mais il faudrait quand même réussir à filtrer les absurdités que le correcteur sort parfois. Son défaut est d’être un peu trop ingénieux par moments… mais bon, ça peut faire rire. :-)

Parmi les suggestions, il y a particulièrement les suggestions orthographiques. Pour le moment, dans Firefox et Thunderbird, Grammalecte utilise Hunspell pour avoir des suggestions orthographiques, même s’il n’a plus besoin de lui pour savoir si un mot est présent dans le dictionnaire et récupérer les données grammaticales. Il serait utile d’adjoindre un module de suggestion orthographique en parcourant le graphe de mots à la recherche de possibles mots correspondant suffisamment à la graphie inconnue. Un domaine de recherche à part entière. À mon avis, il serait utile d’implémenter une suggestion basée sur des substitutions phonétiques.

Plus loin, plus fort ?

Ce n’est qu’une idée, pour l’instant mal formée et un peu extravagante, mais je réfléchis à la possibilité de bâtir un graphe de la grammaire française comme il a été possible de bâtir un graphe de l’ensemble des mots du français. La différence, c’est que la totalité des mots français recensés peuvent s’écrire selon un graphe acyclique, avec un début et une fin connus, tandis que si on schématise la grammaire française les boucles et les récurrences sont possibles, les embranchements innombrables, les fantaisies ne sont pas rares, la longueur de la chaîne de tokens est théoriquement sans limite… Et on ne parle là que de phrases faites avec une grammaire correcte. Comment gérer les erreurs rencontrées ? Faut‐il les intégrer dans ce même graphe en créant des branches d’erreur ?
C’est une pensée embryonnaire qui n’aboutira peut‐être à rien d’utile, mais si l’on trouve un moyen de bâtir ce graphe, il devrait être possible de gérer des cas très complexes. Ça nous permettrait de sortir du schéma [motif potentiel d’erreur → condition d’erreur → suggestions → message d’erreur] qu’on peut heureusement combiner avec diverses magouilles plus ou moins subtiles élaborées avec le processeur de texte et le désambiguïsateur.

Ce qui est sûr, c’est que le tokeniseur va prendre une place une place plus importante dans la nouvelle stratégie pour gérer la complexité.

Créer une extension pour Chrome

Pas grand‐chose de spécial à dire sur ce sujet. Il est à espérer que produire l’extension pour Chrome prenne un temps raisonnablement court, attendu que Mozilla a essayé de faire en sorte que la nouvelle API soit proche de celle de Chrome. Mais dans l’univers de JavaScript, y a‐t‐il quelque chose de stable et bien pensé ? Ce serait une bonne surprise. J’ironise et je médis, mais c’est un peu mérité, n’est‐ce pas ?
Quoi qu’il en soit, même si ça se fait plus rapidement qu’attendu – il n’est pas interdit de rêver –, le temps prévu à cette tâche sera utilisé pour renforcer le correcteur, ce ne sera donc pas perdu. En plus, moins je fais de JavaScript, plus je suis heureux… C’est donc avec bonheur que je me livrerai à une tâche plus essentielle que deviner ce que peut vouloir me dire le débogueur de Chrome.

Outils annexes

L’amélioration du lexicographe (qui donne des informations sur les mots) et l’assistant lexical (permettant l’ajout simplifié de mots au lexique) ont pour but de revisiter la manière d’améliorer la base lexicale, dont Dicollecte, le site Web existant pour cette tâche, commence à se faire vieux. J’espère inciter les utilisateurs à participer à la conception de la base en rendant l’interface plus simple et plus séduisante, et surtout directement accessible dans son logiciel. Ça a l’air insignifiant, mais c’est une question essentielle.

Le détecteur de répétitions est proposé parce que c’est un outil qui intéresse potentiellement beaucoup les écrivains soucieux de varier leur vocabulaire.

Le mot de la fin

Bon sang ! Difficile de rendre une campagne de financement attrayante quand on parle de grammaire. Au final, on veut juste de petits liserés sous les mots erronés et un menu contextuel qui explique pourquoi c’est faux et qui suggère quelque chose de crédible. Rien de palpitant à la réflexion. On peut espérer susciter l’intérêt des technophiles en parlant de l’arrière‐cuisine et du système de tuyauterie, mais j’avais déjà presque tout dit la première fois, je ne peux que rendre compte de ce qui a été fait et amélioré.

Si la première campagne vous a satisfait, si vous jugez que la correction grammaticale est trop importante pour être négligée et qu’il faut en finir avec la maltraitance de la langue française, si vous voulez peser sur les priorités du correcteur grammatical ou ajouter des mots spécifiques ordinairement interdits dans le dictionnaire, je vous invite à consulter la page de financement participatif sur Ulule.

Télécharger ce contenu au format Epub

Lire les commentaires