Syndiquer le contenu
Mis à jour : il y a 5 heures 26 min

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

Les journaux LinuxFr.org les mieux notés du mois de mai 2017

7 juin, 2017 - 19:59

LinuxFr.org propose des dépêches et articles, soumis par tout un chacun, puis revus et corrigés par l’équipe de modération avant publication. C’est la partie la plus visible de LinuxFr.org, ce sont les dépêches qui sont le plus lues et suivies, sur le site, via Atom/RSS, ou bien via partage par messagerie instantanée, par courriel, ou encore via médias sociaux.

Ce que l’on sait moins, c’est que LinuxFr.org vous propose également à tous de tenir vos propres articles directement publiables, sans validation a priori des modérateurs. Ceux‐ci s’appellent des journaux. Voici un florilège d’une dizaine de ces journaux parmi les mieux notés par les utilisateurs… qui notent. Lumière sur ceux du mois de mai passé :

Télécharger ce contenu au format Epub

Lire les commentaires

Métriques libres et analyse des développements : rencontre de présentation des enjeux et outils

6 juin, 2017 - 15:04

L’analyse des développements libres basée sur des métriques intéresse à la fois les utilisateurs des projets et leurs mainteneurs, lorsqu’il s’agit d’évaluer la vitalité de ceux‐ci ou les détails de leur fonctionnement. Pour les entreprises ayant adopté des pratiques d’innersourcing, ces méthodes et outils fournissent des indicateurs précieux dans la conduite de leurs projets internes. Inno³ et Bitergia organisent le 14 juin 2017 à Paris une soirée sur le thème des métriques libres couvrant l’ensemble de ces aspects, illustrés avec les outils libres de Bitergia.

Depuis plus de dix ans, Bitergia développe des outils libres permettant de collecter, traiter et restituer une large variété de métriques sur les éléments générés par les projets libres : dépôts de code, système de suivi de bogues, listes de diffusion, etc. La nouvelle génération de ces outils est regroupée au sein du projet Grimoirelab. Le site Cauldron.io permet d’en tester le fonctionnement directement pour les projets GitHub qui vous intéressent.

  • adresse : Inno³, 137 boulevard de Magenta, 75010 Paris
  • métros : Gare du Nord, Barbès‐Rochechouart ou Poissonnière
  • date et heure : mercredi 14 juin 2017, à partir de 19 h
Télécharger ce contenu au format Epub

Lire les commentaires

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

6 juin, 2017 - 10:04

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

[Nouvelle République] Les « Geek Faëries » reviennent en force
Par Laurence Texier, le dimanche 4 juin 2017. Extrait :

« Malgré la pluie, les geeks ont afflué au château de Selles‐sur‐Cher. Le festival enfile ses plus beaux costumes pour une dernière partie ce dimanche. »

Et aussi :

Voir aussi :

[Silicon] Les Gafam dans les écoles : une menace pour la filière française des ENT ?
Par Reynald Fléchaux_, le jeudi 1er juin 2017. Extrait :

« L’Éducation nationale ouvre ses portes aux solutions des Apple, Google et autre Microsoft. Une volte‐face qui fait bondir trois patrons d’éditeurs spécialisés, les ENT, qui critiquent une forme de deux poids, deux mesures. »

[ZDNet France] L’ARCEP publie son premier rapport sur l’état de l’Internet en France
Par Pierre Col, le mercredi 31 mai 2017. Extrait :

« Ce premier rapport de l’ARCEP fait un point exhaustif sur l’état de l’Internet en France, tant du point de vue du fonctionnement technique du réseau qu’en matière d’accessibilité pour la population et de neutralité des acteurs : un travail utile ! »

[Next INpact] Législatives 2017 : près de cent candidats ont déjà signé le Pacte du logiciel libre
Par Marc Rees, le mardi 30 mai 2017. Extrait :

« À l’occasion des législatives pour 2017, l’association pour la promotion du Libre, l’April, relance sa campagne autour du « Pacte du logiciel libre ». Une initiative qui fête cette année ses dix ans. »

Et aussi :

Voir aussi :

[Resources Solidaires] Les données des élèves et les « GAFAM » : si c’est gratuit, c’est toi le produit !
Par la FCPE, le mardi 30 mai 2017. Extrait :

« La FCPE a pris connaissance d’une communication de la direction nationale du numérique — DNE — indiquant qu’il était désormais possible de fournir aux « GAFAM », grands groupes fournisseurs de services Web, les annuaires des établissements, ceux‐ci ayant des conditions générales d’utilisation — CGU — « éducation » couvrant cette utilisation. »

Voir aussi :

Télécharger ce contenu au format Epub

Lire les commentaires

Outil d’évaluation des aptitudes au développement

6 juin, 2017 - 08:58

Afin d’évaluer les aptitudes à la programmation de candidats à une formation de développeur (déjà présentée sur LinuxFr.org), un langage de programmation très simple a été conçu, ainsi qu’une plate‐forme Web qui permet d’écrire des programmes et de visualiser leur exécution de la façon la plus claire et explicite possible.

Tous les éléments de la plate‐forme sont en anglais et elle comporte également un tutoriel, l’idée étant de la mettre à disposition d’un candidat une dizaine de jours avant le recrutement et de voir s’il sera capable d’auto‐apprentissage dans un environnement nouveau, documenté en anglais. Le jour du recrutement, un test sera effectué, dans lequel des exercices de complexité croissante seront proposés : simples enchaînements d’instructions, boucles basées sur des algorithmes élémentaires, manipulation de structures plus complexes en mémoire telles que des chaînes de caractères, etc.

La seconde partie décrit le système.

L’utilisateur dispose d’un ruban mémoire qui ne peut contenir que des nombres, entiers ou réels. Il dispose de huit instructions, qui peuvent comporter des expressions arithmétiques et qui vont lire et/ou écrire dans le ruban mémoire, ou effectuer des entrées‐sorties. À ce stade, le langage est proche d’un assembleur, mais avec un typage plus large (entier/réel) et des expressions arithmétiques dont la complexité n’est pas bornée. Ce niveau de langage assez bas permet d’enlever toute ambiguïté aux instructions, et de visualiser tous les effets de leur exécution. Pour rendre l’activité ludique, des instructions de dessin à la logo permettent de déplacer un stylo virtuel et de tracer des segments de droite comme on peut le voir sur l’image.

La plate‐forme est écrite en VueJS et s’exécute exclusivement sur le client sans aucune partie serveur. Son code est disponible sur GitHub et les contributions au langage et au développement sont les bienvenues.

Télécharger ce contenu au format Epub

Lire les commentaires

Nouvelles versions logicielles du projet GNU avril et mai 2017

5 juin, 2017 - 00:08

Le projet GNU publie tous les mois une liste de versions logicielles publiées. Jetons‐y un coup d’œil pour découvrir de nouveaux logiciels inconnus (de moi), des infâmes bogues disparus ou les promesses de solutions à tous nos besoins : soit 33 nouvelles versions annoncées allant de la corrective mineure à la version attendue depuis des années ; et l’on va donc parler de acct, artanis, bc, diffutils, emacs, emms, freedink-data, gcc, global, gnubik, gnupg, gnutls, grub, guile, guile-cv, guile-ncurses, icecat, kawa, less, libcdio-paranoia, libidn2, libmicrohttpd, linux-libre, nano, ocrad, orgadoc et parallel.

Sommaire acct-6.6.3 (avril)

Il s’agit d’une mise à jour mineure de cet outil d’enregistrement des actions sur le système (nom d’utilisateur et processus), pour incorporer des correctifs venant de SUSE et Red Hat.

artanis-0.2.1 (mai)

On y trouve quelques corrections de bogues et un peu plus de robustesse pour cette boîte à outils pour applications Web (WAF) en Guile Scheme.

bc-1.07.1 (avril)

La version apporte principalement des compléments documentaires et quelques corrections de bogues pour cette calculatrice à précision arbitraire.

diffutils-3.6 (mai)

Cet ensemble d’outils pour comparer des fichiers reçoit une nouvelle fonctionnalité (si un fichier comparé est le début de l’autre), des corrections de bogues et une amélioration de performance sur les gros fichiers.

emacs-25.2 (avril)

Cet éditeur polyvalent a connu une version mineure corrective.

emms-4.3 (mai)

Ce logiciel utilisé pour gérer les fichiers multimédia dans emacs reçoit quelques corrections, affiche plus de métadonnées à l’exécution et moins d’avertissements à la compilation.

freedink-data-1.08.20170409 (avril)

Les données de ce jeu d’aventure et de rôle à la Zelda sont complétées par deux nouveaux sons, une traduction en suédois et des mises à jour des traductions catalane, espagnole et allemande, ainsi qu’une construction reproductible.

gcc-7.1.0 (mai)

Cette suite de compilateurs a ou aura sa propre dépêche pour détailler les nouveautés.

global-6.5.7 (mai)

Cet outil pour étiqueter du code source reçoit une nouvelle option --nearness, des nouveaux alias GTAGSOBJDIR et GTAGSOBJDIRPREFIX, une nouvelle commande --print, la prise en charge des espaces de noms et traits de PHP 5 et supérieur, et des corrections de bogues.

gnubik-2.4.3 (avril)

Il s’agit d’une mise à jour des traductions et la correction de bogues mineurs pour ce jeu de puzzle de type Rubik’s cube.

gnupg-2.1.21 (mai)

Cette suite d’outils autour d’OpenPGP corrige principalement un bogue important introduit par la version précédente, la suppression du squelette de configuration par défaut (remplacé par celui du système), l’installation sans être administrateur sous Windows et divers bogues.

gnutls-3.5.12 (mai)

Cette bibliothèque pour gérer les protocoles SSL, TLS et DTLS connaît une version corrigeant divers bogues (sans changement d’API ou d’ABI).

grub-2.02 (avril)

La précédente version 2.00 de ce chargeur d’amorçage datait de 2012. Cette version apporte notamment des améliorations sur l’interface graphique et la prise en charge de nouvelles plates‐formes comme ARM, ARM64 et Xen, ainsi qu’une meilleure prise en charge de coreboot (en pratique les distributions GNU/Linux utilisaient déjà des pré‐versions de la 2.02 depuis longtemps).
(source de l’image)

guile-2.2.2 (et 2.2.1) (avril)

Ce langage de programmation reçoit deux versions correctives (la dernière corrigeant la précédente). Citons notamment l’ajout d’une fonction de bac à sable pour tester du code d’utilisateurs inconnus et l’interdiction sous peine d’exception de modifier des constantes à la compilation ou à l’exécution.

guile-cv-0.1.4 (mai)

Il s’agit de la première version publique de cette bibliothèque de vision par ordinateur pour Guile Scheme, et première version incluse dans le projet GNU.

guile-ncurses-2.2 (avril)

Cette bibliothèque ncurses (interfaces textuelles) pour Guile vise la prise en charge de Guile 2.2.

icecat-52.0.2-gnu1 (avril) et 52.1.0-gnu1 (mai)

Il s’agit d’une version démarquée de Firefox, sans greffon ou extension non libre, qui suit donc les versions produites chez Mozilla.

kawa-2.4 (mai)

kawa implémente du Scheme en Java, et cette version est une corrective mineure.

less-487 (avril)

less permet de visualiser un fichier texte page par page. Cette version apporte des nouvelles commandes ESC-{ et ESC-} pour aller au début et à la fin des lignes affichées, une mise en valeur des recherches qui gère l’option « sans tenir compte de la casse » -i, le passage à Unicode 9.0.0, une option -Da sous Windows pour le mode SGR et des corrections de bogues.

libcdio-paranoia-10.2+0.94+1 (avril)

Cette bibliothèque pour gérer les images CD (mais si, vous savez, les galettes en polycarbonate et alu) reçoit quelques corrections de bogues (la précédente version 10.2+0.93+1 datant de 2014).

libidn2-2.0.1 (avril) et 2.0.2 (mai)

Cette bibliothèque gère le codage et le décodage des noms de domaine internationalisés suivant les spécifications IDNA 2008 et TR 46 (RFC 5890, 5891, 5892, 5893 et TR 46). Ces versions amènent la prise en charge de IDNA 2008 et TR 46 par défaut, et des corrections de bogues.

libmicrohttpd-0.9.53 (avril) puis 0.9.54 et 0.9.55 (mai)

Cette bibliothèque qui évolue visiblement assez vite fournit un micro‐serveur Web en C. Ces versions amènent une meilleure prise en charge de l’en‐tête Upgrade, des options de compilation pour choisir la fonction de polling suivant la plate‐forme, et diverses corrections.

linux-libre-4.10.12-gnu (avril) et 4.11.2-gnu (mai)

Le projet vise à publier et maintenir le noyau Linux 100 % libre. Les principaux blocs binaires (blobs) sont présents dans les pilotes graphiques, mais aussi pour l’accélération cryptographique, l’Ethernet ou l’écran tactile, et chaque nouvelle version du noyau amène en général son lot de nouveaux blocs binaires.

nano-2.8.1 (avril) à 2.8.4 (mai)

L’éditeur de texte nano a connu quatre versions, notamment pour corriger des bogues, des plantages, améliorer les traductions, accélérer les recherches arrières, améliorer la coloration syntaxique en PHP, éviter d’introduire des blancs intempestifs, mieux gérer les caractères de largeur double, etc.

::: The iLE88Dj. :jD88888Dj: .LGitE888D.f8GjjjL8888E; .d8888b. 888b 888 888 888 iE :8888Et. .G8888. d88P Y88b 8888b 888 888 888 ;i E888, ,8888, 888 888 88888b 888 888 888 D888, :8888: 888 888Y88b 888 888 888 D888, :8888: 888 88888 888 Y88b888 888 888 D888, :8888: 888 888 888 Y88888 888 888 D888, :8888: Y88b d88P 888 Y8888 Y88b. .d88P 888W, :8888: "Y8888P88 888 Y888 "Y88888P" W88W, :8888: W88W: :8888: 88888b. 8888b. 88888b. .d88b. DGGD: :8888: 888 "88b "88b 888 "88b d88""88b :8888: 888 888 .d888888 888 888 888 888 :W888: 888 888 888 888 888 888 Y88..88P :8888: 888 888 "Y888888 888 888 "Y88P" E888i tW88D Text Editor Homepage ocrad-0.26 (avril)

Ce logiciel de reconnaissance optique de caractères (OCR) a connu une nouvelle version de pure maintenance (la dernière publication datant de 2015).

orgadoc-0.9 (mai)

Le logiciel permet de copier et gérer un ensemble de documents sur plusieurs ordinateurs. La précédente version datait de 2004, et il s’agit surtout de mettre à jour les scripts et la documentation pour l’utilisation et l’installation.

parallel-20170422 et 20170522

Cet outil shell permet d’exécuter des tâches en parallèle sur un ou plusieurs ordinateurs. Ces versions sont nommées respectivement Санкт-Петербу́рг (Saint‐Pétersbourg) et Macron (les précédentes étant baptisées TRAPPIST-1, 13769 et George Michael). Санкт‐Петербу́рг abandonne la prise en charge de Perl 5.6 sur IRIX, --halt prend désormais en charge done en plus de success et fail, et parset initialise les variables en Bash. Et Macron n’amène que peu de nouveautés (--timeout accepte s=second, m=minute, h=hour et d=day, tandis que l’alias --dr est ajouté pour --dry-run) et sert donc de version stable.

Conclusion

Y a‐t‐il un intérêt à écrire une telle dépêche ? Bonne question, je vous remercie de l’avoir posée.

Pour LinuxFr.org, ça fait une dépêche publiée de plus, ce qui est plutôt bien (mais ça fait encore une longue dépêche diront certains, j’aurais dû en faire 33. ;)

Pour moi, ça m’a fait découvrir divers logiciels, donc j’ai trouvé ça plutôt intéressant, même si j’ai un peu de mal avec l’hétérogénéité du projet GNU, avec des annonces par courriel ou non, sur le site du projet ou non, dans les fichiers Changelog ou NEWS de l’archive, etc. Et probablement pas au point de la refaire tous les mois tout seul, parce que ça reste un poil long à rédiger. Des volontaires ?

Pour vous, je ne sais pas, mais si déjà vous lisez ça, c’est que vous êtes allés beaucoup plus loin que la plupart. Bravo, vous gagnez un niveau !

Ah oui, toute bonne conclusion doit terminer sur une ouverture : à voir les écarts de publication entre les versions, on peut se dire que le projet GNU manque de contributeurs (sur le code ou sur les sites des projets visiblement), qu’il est plus facile de pondre un nouveau logiciel que de le maintenir sur des dizaines d’années, qu’il s’attaque à des chantiers immenses (virer les blobs, par exemple). Ou plus positivement, on peut rester admiratif devant ces projets maintenus sur des dizaines d’années, ces très ambitieux projets lancés pour garantir les quatre libertés, la diversité des projets existants, la variété des langues prises en charge et le fait que des gens lisent une telle dépêche.

Télécharger ce contenu au format Epub

Lire les commentaires

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

4 juin, 2017 - 18:52

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

Sommaire [FR Montpellier] Framapermanence - Le lundi 5 juin 2017 de 18h00 à 21h00.

Réunion du framagroupe local. Ces réunions ont pour objective de monter des projets en droite ligne des activités de Framasoft : Dégooglisons Internet, les Chatons, framalibre, framakey, framapack…

Les thèmes qui seront abordés :

  • préparation de la conférence à connec’Sud
  • organiser des Framapermanences
  • des Framapéros
  • discussions libres
  • échanges d’idées
  • faire des perspectives pour les actions futures
  • tout simplement, passer un moment convivial

Ces dernières années ont vu se généraliser une concentration des acteurs d’Internet (Youtube appartient à Google, WhatsApp à Facebook, Skype à Microsoft, etc.). Cette centralisation est nuisible, non seulement parce qu’elle freine l’innovation, mais surtout parce qu’elle entraîne une perte de liberté pour les visiteurs. Les utilisateurs de ces derniers services ne contrôlent plus leur vie numérique : leurs comportements sont disséqués en permanence afin de mieux être ciblés par la publicité, et leurs données, pourtant privées (sites visités, mails échangés, vidéos regardées, etc.) peuvent être analysées par des services gouvernementaux.

La réponse que souhaite apporter Framasoft à cette problématique est simple : mettre en valeur, pour chacun de ces services privateurs de liberté, une alternative Libre, Éthique, Décentralisée et Solidaire.

Ainsi, nous vous invitons à venir participer aux Framapermanences qui auront lieu à la Maison des Adolescents de l’Hérault, le premier lundi de chaque mois, de 18h00 à 21h00 :

  • lundi 6 mars 2017 de 18h00 à 21h00
  • lundi 3 avril 2017 de 18h00 à 21h00
  • lundi 1 mai 2017 de 18h00 à 21h00
  • lundi 5 juin 2017 de 18h00 à 21h00

Entrée libre et gratuite sur inscription.

Cet événement est proposé par le partenariat qui lie la Maison des Adolescents de l’Hérault et Montpel’libre.

Lundi 5 jun 2017 de 18h00 à 21h00

Maison des Adolescents MDA34 - 9, rue de la République 34000 Montpellier

[FR Lyon] Atelier numérique - Le lundi 5 juin 2017 de 19h00 à 21h30.

Atelier de partage de connaissances

Tout public

Soirées numériques autour de GNU/Linux et des logiciels libres. Pas de thèmes précis. Venez avec vos questions, vos envies, vos machines à libérer, pour une aide à l'install…

[FR Montpellier] Points Libres - Le lundi 5 juin 2017 de 19h00 à 21h00.

L’équipe de Montpel’libre vous propose une permanence Logiciels Libres, discussions libres et accompagnements techniques aux systèmes d’exploitation libres.

Il est aussi possible, sur inscription, de présenter plusieurs logiciels libres (Blender, LibreOffice, Gimp…) selon la demande et la présence des intervenants spécialisés.

Notre bibliothèque de livres, documents, revues… GNU/Linux, systèmes et logiciels libres est disponible à la consultation dans la salle des partenaires, au premier étage.

Notre équipe vous attend pour répondre à vos questions et satisfaire votre curiosité.

L’inscription n’est pas obligatoire, mais fortement recommandée. Entrée libre et gratuite pour tout public.

La Maison des Adolescents (MDA34) est un lieu ressource pour les jeunes de 11 à 21 ans et leur famille. L’accueil y est immédiat, sans rendez-vous aux heures d’ouverture. C’est gratuit et anonyme. Il est possible d’y rencontrer différents professionnels à l’écoute des adolescents (et de leurs parents s’ils les accompagnent) : éducateurs, psychologues, assistantes sociale, infirmiers, médecins…

Accueillir, écouter, accompagner, informer, orienter sont les missions de la MDA 34.

Tramway lignes 1, 2, 3 et 4, Bus 6, 7, 8, 11, 12 et 16 arrêt Gare Saint-Roch

GPS : Latitude : 43.606131 | Longitude : 3.878294

Carte OpenStreetMap

Rendez-vous mensuel, tous les premiers lundis.

Espace d’accueil et cyberespace de la MDA

[FR Castelnau-le-Lez] Section GNU/Linux - Le mardi 6 juin 2017 de 10h00 à 12h00.

L’équipe de Montpel’libre vous propose une permanence de dépannages pour vous aider à vous familiariser avec votre système GNU/Linux au quotidien.

Le contenu de l’atelier s’adapte aux problèmes des personnes présentes et permet ainsi d’adapter l’acquisition de nouvelles compétences au rythme de chacun.

Vous pourrez y aborder plusieurs thèmes :

  • Présentation de Linux
  • Configuration matérielle nécessaire
  • Se procurer GNU/Linux
  • Installation de Linux
  • Mise à jour et installation de nouveaux logiciels
  • Premières explorations du système
  • Installations et configurations complémentaires
  • Forums pour les débutants

Notre équipe vous attend pour répondre à vos questions et satisfaire votre curiosité, pour ce rendez-vous hebdomadaire, tous les mardis de 10h00 à 12h00, salle 38 de la Mjc de Castelnau-le-Lez, hors vacances scolaires :

  • mardi 6 juin 2017 de 10h00 à 12h00

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

Cet événement est proposé par le partenariat qui lie la Mjc André Malraux de Castelnau-le-Lez et Montpel’libre.

Mardi 6 juin 2017 de 10h00 à 12h00

Mjc Centre André Malraux 10, avenue de la Moutte, 34170 Castelnau-le-Lez

[FR Bordeaux] Lan party 0 A.D. - Le mardi 6 juin 2017 de 18h00 à 20h00.

Venez découvrir en jouant, 0 A.D., un jeu vidéo de stratégie en temps réel, similaire à Age of Empires, sous licence libre.

*Il faut venir avec son ordinateur et la version de 0 A.D. alpha 21 Ulysses installée (la dernière version du jeu).*

Afin de nous permettre de préparer la salle, merci de vous inscrire ici sur le pad, si vous participez en indiquant si vous avez besoin d'aide pour l'installation du jeu.** **

Rendez-vous à partir de 17 h 30 pour l'installation du réseau, de sorte que l'on puisse commencer à jouer à 18h.

https://play0ad.com/

https://www.giroll.org/

https://www.aquilenet.fr/

[FR Reims] Atelier Vie-Privée - Le mardi 6 juin 2017 de 18h30 à 20h30.

Un mardi soir par mois, l'association LoLiCA anime un « Atelier vie Privée » sur un thème précis.

Le but de ce rendez vous est d'expliquer, de façon très accessible, les problématiques autour de la vie privée dans notre monde numérique et des solutions à apporter pour pouvoir la préserver.

Ce mardi 6 juin 2017, nous aborderons le thème « Open Street Map la cartographie communautaire respectueuse de notre vie privée. »

Découverte d'une carte libre facile à utiliser et ou tout le monde peut participer à son évolution. Cet atelier est un retour d'expérience et une approche pratique. Il sera suivi d'un débat.

Nous nous retrouverons à partir de 18h30 à la Maison de la vie associative à l'occasion des rendez-vous de la vie associative salle 107.

Consulter notre site pour plus d'informations.

[FR Paris] Les premiers mardi de la monnaie libre et équitable - Le mardi 6 juin 2017 de 19h00 à 21h00. Afin de faire vivre notre première monnaie libre, Gwan, mise en orbite depuis le 8 mars dernier, nous vous proposons des rencontres mensuelles tous les premiers mardis du mois à **PARIS** pour

1 - échanger nos clés publiques G1et/ou Gtest, en vue d'accorder nos certifications en toute sécurité

2 - échanger sur nos expériences, idées ou autres propositions sur l'usage de G1

3 - aborder le domaine de la technique noeuds Duniter, Césium, Sakia, Silkaj, Yunohost, etc.

Les 2 premières rencontres ont eu lieu les 4 avril et 2 mai derniers à partir de 18 Heures 30 au café Bert's situé au forum des Halles sous le cinéma, à quelques mètres de la Place carré.

La prochaine rencontre aura lieu le 6 juin prochain, même lieu à partir de 19 heures.

Afin de gérer au mieux les rencontres

l'une pour les inscriptions aux rencontres

S'abonnerhttps://framalistes.org/sympa/subscribe/inscriptions_reunions_gtest_g1

Se désabonnerhttps://framalistes.org/sympa/sigrequest/inscriptions_reunions_gtest_g1

et l'autre, pour les échanges et discussions

S'abonnerhttps://framalistes.org/sympa/subscribe/monnaies.gtest.g1

Se désabonnerhttps://framalistes.org/sympa/sigrequest/monnaies.gtest.g1

Précision ces rencontres sont LIBRES et donc largement ouvertes à tous quelque soit la géolocalisation de chacun

A bientôt.

site officiel : https://fr.duniter.org/

forum : https://forum.duniter.org/

[FR Saint Martin d'Hères] Conférence : Nix, NixOS, NixOps - Le mardi 6 juin 2017 de 19h00 à 22h00.

L'écosystème Nix

Une approche déclarative et programmatique de la gestion de build, de paquets, de services, de l'OS et du déploiement.

Conférence organisée par la Guilde et animée par Valentin Reis, Doctorant au LIG.

[FR Nanterre] Portes ouvertes de l'Electrolab - Le mardi 6 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.

[CH Genève] Société numérique et données sur Internet : enjeux éthiques et solutions pratiques - Le mercredi 7 juin 2017 de 19h00 à 20h30.

Cette conférence porte sur les enjeux de la centralisation d’internet et des dangers qui en résultent, mais propose aussi des solutions pratiques à ces problématiques !

L’association Framasoft fait le déplacement en terre helvétique pour nous faire part de son expérience. À l’origine de la campagne «Degooglisons Internet», cette petite association fourni une alternative crédible aux produits des « géants du web », aka les GAFAM (Google Amazon Facebook Apple Microsoft). On parlera aussi du Collectif des Hébergeurs Alternatifs, Transparents, Ouverts, Neutres et Solidaires (CHATONS)… miaou !

C’est l’occasion parfaite pour venir avec les ami·e·s et la famille que vous n’arrivez pas à faire passer du côté lumineux de la Force ;)

Organisé par itopie informatique et Alternatiba Léman.

[FR Montpellier] Install Par Tous ! Install Party ! - Le mercredi 7 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 7 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 Lablachère] Ateliers du Libre - Le mercredi 7 juin 2017 de 18h00 à 20h30.

Vous venez d'installer Linux sur votre ordinateur et ça comble votre soif de liberté ! Mais quels logiciels choisir, comment les installer, les configurer ? Comment paramétrer votre navigateur internet pour ne pas vous faire pister ? Lire vos mails, configurer le bureau ?

Autant de questions pour lesquelles vous trouverez les - bonnes - réponses auprès des animateurs de l'association "ardechelibre.org" aux Ateliers du Libre.

Bar ouvert pendant l'atelier

Participation libre aux frais

[FR Chambéry] Mapathon Missing Maps - Le mercredi 7 juin 2017 de 18h30 à 21h30.

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

CartONG et Le Mug 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

  • 21:30 Fin du mapathon

Où?

A l'espace de coworking Le Mug , 129 rue Sommeiller, 73000 Chambéry

Un grand merci au Mug pour l'accueil !

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

[FR Paris] Mapathon Missing Maps - Le mercredi 7 juin 2017 de 18h30 à 21h30.

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

CartONG, Médecins Sans Frontières et la FPH vous invitent à un mapathon Missing Maps pour découvrir la cartographie participative 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

  • 21:30 Fin du mapathon

Où?

A la Fondation pour les Progrès de l'Homme, 38 Rue Saint-Sabin, 75011 Paris

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

Nous sommes gracieusement accueillis à la FPH, un grand merci pour l'accueil !

[FR Nantes] Contribution Wikipédia Femme Féminisme - Le mercredi 7 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 Bordeaux] Atelier artiste - hacker - Le mercredi 7 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 7 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 7 juin 2017 de 21h00 à 23h00.

Rencontre hebdomadaire des hackers et artistes libristes Toulousains.

[QC Montréal] Les mercredis cartographie - Le mercredi 7 juin 2017 de 18h30 à 21h30.

OpenStreetMap s'installe à la Grande bibliothèque !
Les cartes font partie de notre quotidien: elles nous servent à nous orienter, localiser des objets, des événements… mais pourquoi se contenter de les utiliser? Découvrez le projet mondial de cartographie OpenStreetMap, apprenez à améliorer la représentation des lieux que vous connaissez et ainsi construire les nouvelles cartes dont vous avez besoin.
Au programme des Mercredis cartographie : - 18h30 : Accueil des participants, découverte d'OpenStreetMap pour les débutants. Si vous avez déjà assisté à notre présentation « OpenStreetMap, le monde entre nos mains », vous pouvez améliorer les données de Montréal pendant ce temps ! - 19h : Cycle de formation progressif pour s'initier à la contribution à OSM. Au programme cette semaine : dessinez votre maison… et celle de vos voisins ! - 19h30 : Contribution aux importations des données ouvertes de la Ville grâce au gestionnaire de tâches d'OSM Montréal. - 20h : Présentation de la cartothèque par les bibliothécaires de BAnQ, et/ou les dernières actualités de la communauté OpenStreetMap internationale résumées quelques minutes. Pour ne pas perdre le nord. - 20h30 : La communauté locale se retrouve pour travailler sur les projets en cours, et améliorer les données de Montréal dans OSM.

[FR Toulouse] PGDay France - Le jeudi 8 juin 2017 de 09h00 à 17h00.

Le PGDay France est un moment de rencontres et de conférences pour la communauté francophone de PostgreSQL.

Les conférences s'adressent à tous les utilisateurs du logiciel : étudiants, administrateurs systèmes, DBA, développeurs, chefs de Projets, décideurs.

[FR Arles] Libérer son ordinateur : GNU/LINUX - Pourquoi ? Comment ? - Le jeudi 8 juin 2017 de 18h30 à 20h30.

Présentation du système d’exploitation libre GNU/linux

avec Attac Pays d'Arles & Arles Linux

Pour une fois, le système dont il est question ici, celui dont nous vous montrerons qu’on peut aisément se passer n’est pas le système politico financier mondialisé …

Il s’agit en effet du systèmes d’exploitation - OS, Operating System dans une langue que Shakespeare ne reconnaîtrait pas. Le cœur logiciel de nos ordinateurs.

Mais est-ce si éloigné ?

Abus de position dominante, vente liée et politique de lobbying agressive pour l’un, évasion fiscale et travail des enfants pour l’autre, les principaux concurrents sont d’excellents exemples de cette société que nous dénonçons.

GNU/Linux nous permet de nous en débarrasser !

Jeudi 8 juin de 18h30 à 20h30

Salle Jean et Pons Dedieu, 62 rue du 4 septembre 13200 Arles

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

Atelier de dépannage après une Install Party et de partage de connaissance entre utilisateurs de logiciels libres.

La Maison pour Tous / Salle des Rancy, l'ALDIL et des associations partenaires organisent cet atelier pour permettre à des utilisateurs de logiciels de se rencontrer pour échanger et se dépanner mutuellement dans leurs usages.

Tout public

De 19h à 22h

[QC Montréal] CLA - Rencontre des utilisateurs GNU/Linux de Montréal - Le jeudi 8 juin 2017 de 18h30 à 21h30.

Le Club Linux AtomicLe Club Linux Atomic (CLA) regroupe des utilisateurs, novices comme aguerris, de systèmes d’exploitation GNU/Linux et de logiciels libres. Il a pour principal objet de mieux faire connaître l’informatique libre et d’en favoriser l’utilisation par le plus grand nombre.La programmation de la rencontreConsultez la programmation de notre rencontre sur notre site Web.InscriptionNous vous invitons à vous inscrire sur Framadate. Votre inscription nous permet de configurer la salle en fonction du nombre de participants.Tous sont bienvenus à y participer. N’hésitez pas à venir accompagner! Invitez les personnes de votre entourage à fraterniser avec notre communauté.
English speaking people are welcome.

[FR Paris] Journées Perl 2017 - Du vendredi 9 juin 2017 à 09h00 au samedi 10 juin 2017 à 18h00.

Le vendredi 9 et le samedi 10 juin 2017, les Mongueurs de Perl organisent la quatorzième conférence « Les Journées Perl ».

Cet événement rassemblera les utilisateurs de Perl, du débutant à l'expert. Ce sera l'occasion de rencontrer de nombreux grands noms de la communauté Perl francophone, de partager nos expériences, et d'enrichir nos connaissances.

Nous souhaitons toucher un public large, notamment au travers des présentations en direction des débutants et des professionnels, utilisateurs de Perl 5 comme de Perl 6 ou souhaitant le devenir.

[FR Montpellier] Les logiciels libres, parlons-en ! - Le vendredi 9 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 Le Tholonet] Réunion mensuelle de l'Axul - Le vendredi 9 juin 2017 de 20h00 à 23h55.

Les membres de l'Axul (Association du Pays d'Aix des Utilisateurs de Linux et des Logiciels Libres) vous invitent à leur réunion mensuelle qui aura lieu le vendredi 9 juin de 20h00 à 23h55 au 1er étage du centre culturel Georges Duby du Tholonet (859 avenue Paul Julien, à proximité de la place du marché) à Palette, premier village sur la D7n au Sud-Est d'Aix.

Ordre du jour

  • 20h00 - 20h15 : Accueil
  • 20h15 - 20h30 : Présentation des participants et organisation de la soirée
  • 20h30 - 22h30 : Atelier sur l'autohébergement

L'auto-hébergement sera présenté avec des démonstrations de "ownCloud" et de "Nextcloud" suivies par un atelier de mise en œuvre, sur une plateforme Raspberry Pi par exemple.

  • 22h30 - 23h55 : Discussion générale
    • Compte rendu de l'Open Bidouille Camp Provence (19 - 20 mai)
    • Compte rendu de l'Orme 2.17 (31 mai - 1 juin)
    • Préparation du Samedi Libre du 1 juillet
    • Autres interventions de l'Axul…
    • Information sur les ateliers : Arduino, Raspberry Pi…
    • Autres questions ?

Événements ultérieurs

  • Samedi Libre du 1 juillet 2017

La plupart des réunions donnent lieu à une présentation ou à une démonstration liée au Logiciel libre.

Ces réunions libres et gratuites sont ouvertes à toutes et à tous, débutant(e)s ou expert(e)s GNU/Linux, membres ou non de l'Axul.

Entrée Libre. Tout Public.

[CH Pully] Pully.INTERGEN.digital - Le samedi 10 juin 2017 de 10h00 à 17h00.

Entraide numérique de 7 à 107 ans

Les enfants sont associés aux parents, aux informaticiens bénévoles, et aux seniors, pour assurer une entraide numérique intergénérationnelle mensuelle.

Bien souvent, nos "digital naïfs", heu pardon, nos "digital natifs" sont souvent bien plus appropriés pour expliquer simplement à nos seniors, le fonctionnement d'un Smartphone, explorer des jeux sympas (là ils sont trop forts… ;)

Que ce soit pour faire son Ebanking, une réservation, dépatouiller un truc, ou explorer de nouvelles possibilités, au lieu de le faire tout seul chez soi, autant s'y mettre à plusieurs. D'autant que si les formations c'est bien, la mise en pratique après, c'est parfois un peu "galère"… Alors qu'avec un "junior" sous la main, c'est souvent débloqué en 5 minutes (4 minutes pour le sortir de son jeux et attendre la fin de la "partie en cours", et 1 minute pour débloquer le truc…Patience, il va venir)

Combien cela coûte ? Rien du tout ! Le local et électricité sont offerts par la coopérative d’habitation des Liaudes Le WiFi par le président de CloudReady.ch, et repas et boissons par vous Qui venez avec un peu, à boire et à manger, avec vos propres équipements informatiques, si possible, sinon sans, on t’en prêtera.

• Tu viens quand tu peux,

• tu repars quand tu veux,

• tu feras ce que tu pourras, et dans la bonne humeur ;-)

Mais on fait aussi des trucs cool, comme "PC revival" car on peut faire du numérique en récupérant les vieux portables Windows XP, pour les faire "revivre" sous Linux Facile !

Aussi des "Mapathon", et tu peux venir découvrir "OpenStreetMap" et MissingMaps.org

• Cf. http://pully.intergen.digital

C'est simple, c'est facile à faire !

Tu voudrais la même chose dans ta commune ? Fais-le :)

http://intergen.digital

[CH Genève] Portes ouvertes d'itopie - Le samedi 10 juin 2017 de 10h00 à 18h00.

*Portes ouvertes de la coopérative itopie informatique ! *

Vous avez toujours rêvé de venir voir ce qu'il se passe chez itopie dans jamais oser ? Le 10 juin, les portes sont grandes ouvertes à tous, n'hésitez plus !

Au programme :

  • découverte des logiciels libres
  • atelier sculpture avec du vieux matériel informatique pour les enfants et les plus grands (de 10h à 14h)
  • ateliers spontanés autour des alernatives libres
  • atelier-performance-marionnettiste "Youtube Vivant" (de 14h à 18h) pour rendre youtube plus humain (Dans le cadre du festival Baz'Art : http://www.baz-art.ch/2017/)
  • discussions, rencontres, café et bonne humeur :)

Venez nombreux, vous pourrez aussi profiter du festival Baz'Art et de ses nombreuses installations, concerts, buvette, spectacles, toute la journée dans la rue Lissignol.

À samedi ! o/

[FR Valenciennes] Permanence ValLibre - Le samedi 10 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 Fontenay-le-Fleury] Install Party GNU/Linux - Le samedi 10 juin 2017 de 10h00 à 17h30.

l'association Root66 vous invite à une install party GNU/Linux, le samedi 10 juin 2017 (10h-17h30) en salle Crevillent à la mairie de Fontenay le Fleury.

Cette journée sera consacrée à installer des logiciels et systèmes d'exploitation libres (principalement GNU/Linux) en "dur" ou en virtuel sur les matériels apportés par les visiteurs.

Venez avec votre machine, nous vous y aiderons

Les visiteurs intéressés par une installation sont invités à apporter leur matériel. Ils penseront à sauvegarder au préalable leurs données personnelles sur un support externe et à défragmenter leur disque dur.

Durant cette journée, les visiteurs intéressés par des démonstrations et explications pourront s'adresser aux membres de Root66 disponibles. Vous pouvez aussi venir simplement discuter avec nous et découvrir le monde du logiciel libre.

Ouvert à tou·te·s – accessible aux débutant·e·s

[FR Castelnau-le-Lez] Atelier développement et programmation - Le samedi 10 juin 2017 de 10h00 à 12h00.

Pour cette nouvelle saison, les ateliers Dev/Prog de Castelnau auront lieu chaque semaine le samedi matin, pour satisfaire aux attentes de toutes et tous.

Rendez-vous hebdomadaire, tous les samedis, salle 38 de la mjc (fermé pendant les vacances).

Cet atelier de développement est essentiellement axé sur les langages du Web : html, css (même si ce ne sont pas des langages à proprement parler) javascript et PHP, possibilité aussi d’utiliser Ajax, Jquery, Sqlite et MySql, mais il peut aussi aborder d’autres langages à la demande.

Notre équipe vous attend pour répondre à vos questions et satisfaire votre curiosité.

Entrée libre et gratuite sur inscription.

Bus Ligne 35 arrêt Collège Frédéric Bazille

Tramway ligne 2 arrêt La Galine

GPS : Latitude : 43.633946 | Longitude : 3.905794

Carte OpenStreetMap

Samedis 3 et 10 juin 2017 de 10h00 à 12h00

Mjc Centre André Malraux 10, avenue de la Moutte, 34170 Castelnau-le-Lez

[FR La Couronne] Permanence - accueil public - Le samedi 10 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 Roubaix] Choisir un OS et des logiciels libres, les installer ! - Le samedi 10 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 Casseneuil] Installe Partie - Le samedi 10 juin 2017 de 10h30 à 17h00.

Samedi 10 juin, de 10h30 à 17h

** aGeNUx et 2L **
organisent une Installe Partie à Casseneuil

Nous vous y attendons, à bientôt

Plan d'accès

[FR Clisson] Café vie privée - Le samedi 10 juin 2017 de 14h00 à 18h00.

Ce café vie privée se déroulera dans la salle Aqua’Trium, esplanade de Klettgau à Clisson.

Il est organisé en partenariat avec l’association Gullivigne: Groupe d’Utilisateurs de Logiciels Libres et FabLab du Vignoble Nantais.

Venez échanger avec nous et apprendre à protéger vos données personnelles lors des ateliers organisés tout au long de l’après­-midi.

L’entrée est libre et gratuite, et les ateliers sont ouverts à toutes et à tous !

Programme de l’après midi :

***À* partir de 14h**

  • Protéger sa vie privée en ligne : Échanges sur les bonnes pratiques d’hygiènes numériques (naviguer sur Internet, gérer ses mots de passe, etc.), les alternatives libres, les metadonnées, le cyberharcèlement, etc. Présentation d’outils et de méthodes pour se protéger.

***À* partir de 16h**

  • Chiffrer ses communications : Atelier d’initiation pour apprendre à chiffrer ses mails avec PGP et ses sms avec Silence ou Signal.
  • Chiffrer son trafic sur Internet : Présentation du VPN (réseau privé virtuel), de son fonctionnement et de sa configuration.
  • Protéger son anonymat: Présentation du système d’exploitation Tails et du réseau Tor, et Installation sur clé USB.
  • Désactiver le sans contact indiscret de sa carte bancaire: Découverte de la radio-identification et désactivation d’une puce sans contact.

N’hésitez pas à venir avec votre ordinateur ! Vous pourrez en profiter pour installer des outils lors des ateliers pour protéger votre vie privée.

Ou venez avec une clé USB avec un espace d’au moins 4Go pour installer le système Tails.

[FR Strasbourg] Décentraliser ses usages numériques - Le samedi 10 juin 2017 de 14h00 à 18h00.

Lors de cet atelier, des bénévoles d’Alsace Réseau Neutre et d’autres associations, vous proposent de reprendre le contrôle sur vos données numériques en vous accompagnant dans l’adoption de solutions alternatives à vos usages numériques courants.

Concrètement, il s’agit de vous aider à :

  • Configurer votre navigateur pour limiter les données transmises à votre insu
  • Découvrir des services numériques éthiques
  • Installer Linux ou LineageOS (Install Party)
  • Prendre en main une solution d’auto-hébergement qui vous permet d’avoir votre propre cloud de fichier, d’héberger votre site web ou encore vos mails (La brique Internet / YunoHost)

Tout public

Gratuit (dons acceptés)

*Inscriptions : , *

[FR Martigues] Install Party - Le samedi 10 juin 2017 de 14h00 à 17h00.

L’association vous invite à une install party,.

Lieu EPN Médiathèque de Martigues, Salle des rencontres.

Responsables

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, les mascottes de

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 avec un ensemble de et pour une utilisation quotidienne.

Entrée Libre. Tout Public.

[FR Ivry-sur-Seine] Mapathon Missing Maps - Le samedi 10 juin 2017 de 14h00 à 18h00.

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

CartONG, la commune d'Ivry-sur-Seine avec la participation du comité de jumelage, et des associations maliennes d’Ivry, 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 du mapathon

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 :

  • 14h00 : accueil des participants et lancement du mapathon
  • 16h00 : Remise aux participants de la version imprimée de la carte de la commune de Dianguirdé par Séverine Peter, adjointe au maire d'Ivry-sur-Seine, chargée de la communication
  • 18:00 Fin du mapathon

Où?

A l'espace public Internet JJ. Rousseau - Maison de quartier Ivry-Port , 46 rue Jean-Jacques Rousseau 94200 Ivry sur Seine

Un grand merci à la Maison de quartier Ivry-Port pour l'accueil !

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

[FR Ivry sur Seine] Cours de l'Ecole du Logiciel Libre - Le samedi 10 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 Juvisy-sur-Orge] Permanence GNU/LINUX - Le samedi 10 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.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie d'it-edit version 3.0

3 juin, 2017 - 12:01

La version 3.0 de l'éditeur it-edit (Integrated Terminals Editor) est disponible.

La principale amélioration de cette nouvelle version est l'intégration optionnelle de la correction orthographique à l'aide de la bibliothèque de Sébastien Wilmet (mainteneur de gtk-sourceview3 - sur laquelle se base it-edit - et auteur de Texilla entre autres) gspell-1.

Mais c'est loin d'être le seul changement dans le code d'it-edit, et pas le seul ajout non plus.

Il s'agit de la 4e version majeure d'it-edit, et vous pouvez en voir une description plus détaillée dans l'annonce de la version 1.0.1.

Changements dans cette nouvelle version

Le logiciel est maintenant une GtkApplication en lieu et place de la paire gtk_init(…) / gtk_main(…), ce qui implique pas mal de changements dans le fond. Il améliore sa capacité à reconnaître le langage de programmation utilisé afin de colorer syntaxiquement les fichiers.

Il se sert maintenant du GtkSourceFileSaver de la bibliothèque gtk-sourceview3 ce qui permet de définir le jeu de caractères (encodage) lors de la sauvegarde de vos fichiers, faire des copies de sauvegarde, et choisir le caractère de fin de ligne.

La manière de gérer les fichiers vierges nommés « New » change : le fichier est créé dans l'emplacement des fichiers temporaires de votre système puis le fichier est effacé mais it-edit vous laisse disposer du tampon ce qui permet au fichier vierge de disposer d'un chemin valide, sans réellement exister.

Il implémente maintenant quelques propres types de G_OBJECT que vous pouvez en partie réutiliser, si le cœur vous en dit…

Nouveautés d'it-edit version 3.0 Correction orthographique intégrée

Il intègre maintenant optionnellement la correction orthographique grâce a la bibliothèque gspell-1. On peut bien sûr configurer la langue en téléchargeant des dictionnaires myspell, aspell ou ispell.

Deux modes de correction sont disponibles :

  • en place : les mots mal orthographiés sont soulignés et vous pouvez les corriger grâce au menu contextuel ;
  • modale : une fenêtre de dialogue permet de parcourir le document à la recherche de mots mal orthographiés.

Comme la bibliothèque gspell-1 est relativement jeune, elle peut ne pas être disponible sur tous les systèmes ; les paquetages *.deb et *.rpm n'incluent pas gspell-1 comme dépendance et it-edit peut fonctionner sans cette bibliothèque.

On peut malgré tout installer la version de développement (-dev ou -devel) de gpsell-1 si cela est possible avant d'installer it-edit, ou utiliser des paquets Debian, disponibles dans le dépôt sid ou dans le ppa gnome3-staging, entre autres.

Introduction de la notion de session

Chaque fichier ouvert est enregistré :

  • s'il est fermé, il n'est plus enregistré ;
  • chaque fichier de documentation lancé avec le File Handler est enregistré ;
  • chaque application lancée avec it-edit est enregistrée.

Au prochain lancement d'it-edit, ces éléments peuvent être rechargés.

Il existe 3 modes pour la gestion des sessions :

  • automatique ;
  • demande à l'utilisateur si le programme doit enregistrer la session à la fermeture du programme ;
  • pas de gestion de session.
Autres nouveautés

Il émet maintenant des avertissements (optionnels) lorsque l'utilisateur :

  • essaye d'ouvrir un fichier déjà présent dans l'éditeur ;
  • ferme un fichier non-sauvegardé ;
  • ouvre un fichier protégé en écriture.

Et toutes ces alertes sont configurables.

En vrac, d'autres nouveautés :

  • sauvegarde des permissions des fichiers  : pratique pour les scripts ;
  • ordonnancement lexical des onglets ;
  • une fenêtre liste le temps passé dans it-edit ;
  • affichage du chemin absolu du fichier en cours d'édition sous forme de bulles en plaçant la souris au-dessus de l'onglet ou sur le nom du fichier en bas ;
  • il fournit un moyen de copier le chemin absolu du fichier ou de son dossier dans le presse-papier grâce à un raccourci clavier ou une entrée de menu ;
  • remplacement de toutes les occurrences dans tous les fichiers ouverts ;
  • la fenêtre d'informations du fichier a fait l'objet de quelques ajouts de fonctionnalités  :
    • copie ou déplacement du fichier vers une autre destination ;
    • compression du fichier, utile pour les pages de manuel.
L'éditeur it-edit à l'usage Pour le cas des petites définitions d'écran
  • configurez la taille des terminaux de la barre latérale ;
  • configurez la taille de la police du terminal ;
  • configurez la taille de la police de l'éditeur.
Pour les testeurs volontaires

Vous êtes invités à tester ou à mettre à jour vers cette nouvelle version d'it-edit. Prenez le temps de vous familiariser avec cet éditeur pour vous en faire une idée. Par exemple, pendant une petite semaine, pour vraiment travailler avec. Et faites nous part ici de vos impressions en commentaire.

Télécharger ce contenu au format Epub

Lire les commentaires

G’MIC 2.0 : un second souffle pour le traitement d’images libre

2 juin, 2017 - 10:38

L’équipe IMAGE du laboratoire GREYC de Caen (UMR CNRS 6072) est heureuse de vous annoncer la sortie d’une nouvelle version majeure (numérotée 2.0) de son projet G’MIC, un cadriciel libre, générique et extensible pour le traitement des images.
Nous exposons ici les avancées principales réalisées sur cet ensemble d’interfaces logicielles, depuis notre dernière dépêche. Les nouveautés présentées ici englobent le travail réalisé ces douze derniers mois (versions 2.0.0 et 1.7.x, pour x variant de 2 à 9).

Sommaire

N. D. A. : Cliquez sur les images de la dépêche pour en visualiser des versions à meilleure résolution.

1. Contexte et vue d’ensemble

G’MIC est un projet libre ayant vu le jour en août 2008, dans l’équipe IMAGE du GREYC.
Cette équipe française, composée de chercheurs et d’enseignants‐chercheurs, est spécialisée dans les domaines de l’algorithmique et des mathématiques du traitement d’images. G’MIC est distribué sous licence CeCILL (compatible GPL) pour différentes plates‐formes (GNU/Linux, macOS et Windows). Il fournit un ensemble d’interfaces utilisateur variées pour la manipulation de données images génériques, à savoir des images ou des séquences d’images hyperspectrales 2D ou 3D à valeurs flottantes (ce qui inclut de fait les images couleurs « classiques »).
  Fig. 1.1 : Logo du projet G’MIC, cadriciel libre pour le traitement d’image, et sa mascotte Gmicky.

La popularité de G’MIC vient en majeure partie du greffon qu’il propose pour le logiciel GIMP, depuis 2009. À ce jour, celui‐ci dispose de plus de 480 filtres et effets différents à appliquer sur vos images, et permet donc d’enrichir considérablement les filtres de traitement livrés par défaut avec GIMP.

G’MIC fournit également une interface en ligne de commande, relativement puissante, qui peut s’utiliser de manière autonome, et qui est complémentaire aux outils en ligne de commande proposés par ImageMagick ou GraphicsMagick. Il existe aussi un service Web G’MIC Online, permettant d’appliquer des effets sur vos images directement à partir d’un navigateur. D’autres interfaces plus confidentielles basées sur G’MIC existent : l’interface de diffusion vidéo ZArt, un greffon pour Krita, un sous‐ensemble de filtres pour Photoflow, Blender ou encore Natron… Toutes ces interfaces se basent sur les bibliothèques C++ CImg et libgmic qui sont portables, compatibles multi‐fil d’exécution (thread‐safe et multi‐thread), via l’utilisation d’OpenMP.

À l’heure actuelle, G’MIC possède plus de 950 fonctions différentes de traitement, toutes paramétrables, pour une bibliothèque de seulement 6,5 Mio, représentant un peu plus de 180 000 lignes de code source. Les fonctionnalités proposées couvrent un large spectre du traitement d’images, en proposant des algorithmes pour la manipulation géométrique, les changements colorimétriques, le filtrage d’image (débruitage, rehaussement de détails par méthodes spectrales, variationnelles, non locales…), l’estimation de mouvement et le recalage, l’affichage de primitives (2D et objets 3D maillés), la détection de contours et la segmentation, le rendu artistique, etc. C’est donc un outil très générique aux usages variés et très utile, d’une part pour convertir, visualiser et explorer des données images, et d’autre part, pour construire des pipelines élaborés et des algorithmes personnalisés de traitements d’images (voir les diapositives de présentation du projet pour davantage de détails).

2. Une nouvelle interface polyvalente, basée sur Qt

La nouveauté essentielle de cette version 2.0 concerne le code du greffon, qui a été complètement repensé et réimplémenté à partir de zéro. Ce module, G’MIC-Qt, développé par Sébastien (enseignant‐chercheur — expérimenté — de l’équipe), propose ainsi une refonte complète en Qt de l’interface du greffon, en étant le plus indépendant possible de l’interface logicielle et des widgets de GIMP.
  Fig. 2.1 : Aperçu de la version 2.0 du greffon G’MIC-Qt pour GIMP.

Cela a plusieurs conséquences intéressantes :

  • Le greffon utilise ses propres widgets (en Qt) et permet d’avoir une interface plus flexible et personnalisable qu’avec les widgets GTK proposés par défaut pour les greffons dans l’API de GIMP : la fenêtre de prévisualisation des filtres est par exemple redimensionnable à volonté, gère le zoom à la molette de la souris, et peut être localisée à gauche ou à droite de l’interface. Un moteur de recherche de filtres par mots‐clés a été ajouté, ainsi que la possibilité de choisir entre un thème clair ou sombre. La gestion des filtres favoris a été améliorée et l’interface propose même un mode d’édition de visibilité des filtres pour une personnalisation maximale.
  • Le greffon définit aussi sa propre API, pour faciliter son intégration dans des logiciels tiers autres que GIMP. Pour le développeur, il s’agit en pratique d’écrire un unique fichier host_software.cpp implémentant les fonctions de l’API pour faire le lien entre le greffon et l’application hôte. Actuellement, le fichier host_gimp.cpp réalise ce travail pour le logiciel hôte GIMP. Mais il existe désormais aussi une version stand‐alone (fichier host_none.cpp) qui propose de lancer l’interface graphique Qt du greffon en mode solo, depuis la ligne de commande (commande gmic_qt).
  • Boudewijn Rempt, gestionnaire et développeur du projet Krita a également débuté l’écriture du fichier host_krita.cpp pour la communication de ce greffon « nouvelle génération » avec le logiciel de peinture numérique Krita. Il s’agit à terme de remplacer le greffon G’MIC actuellement distribué avec Krita, qui se fait vieillissant et qui pose des problèmes de maintenance pour les développeurs.

Minimiser l’effort d’intégration pour les développeurs, partager au maximum le code du greffon G’MIC_ entre différentes applications, et proposer une interface d’utilisation la plus confortable possible ont été les objectifs principaux de cette refonte complète. Comme vous vous en doutez, cette réécriture a demandé un travail long et soutenu, et nous ne pouvons qu’espérer que cela suscitera de l’intérêt chez d’autres développeurs de logiciels, où disposer d’une base conséquente de filtres de traitement d’images peut être utile (à quand un host_blender.cpp ? On peut rêver !). L’animation ci‐dessous illustre quelques‐unes des fonctionnalités offertes par cette nouvelle interface basée sur Qt.
  Fig. 2.2 : La nouvelle interface G’MIC-Qt en action.

À noter que le code de l’ancien greffon utilisant GTK a quand même été mis à jour pour fonctionner avec la version 2.0 de G’MIC, mais possède moins de fonctionnalités et n’évoluera sans doute plus dans le futur, contrairement à la version Qt.

3. Faciliter la vie des dessinateurs…

Mais une des raisons d’être de G’MIC, c’est aussi de proposer toujours plus de filtres et de fonctions pour traiter les images. Et ça tombe bien, car dans ce domaine, nous n’avons pas non plus relâché nos efforts, malgré le nombre de filtres conséquent déjà disponible dans les versions précédentes !

Une des grandes nouveautés de cette version concerne l’apparition et l’amélioration de filtres pour l’aide à la colorisation de dessins au trait (line‐arts). Nous avons en effet eu la chance de recevoir au laboratoire pendant quelques jours l’artiste David Revoy, bien connu des amateurs d’art et de logiciels libres de par ses contributions multiples dans ces domaines (en particulier, son webcomic Pepper & Carrot, à lire absolument !). En collaboration avec David, nous avons travaillé sur la conception d’un filtre original de colorisation automatique de dessins au trait, nommé Smart Coloring.
  Fig. 3.1 : Utilisation du filtre « Colorize lineart [smart coloring] » de G’MIC.

Dans le domaine de la bande dessinée, la colorisation d’un dessin au trait se réalise en effet en deux étapes successives : Le dessin d’origine en niveaux de gris (fig. 3.2.[1]) est d’abord pré‐colorisé en aplats, c.‐à‐d. en attribuant une couleur unique à chaque région ou objet distinct du dessin (fig. 3.2.[3]). Dans un second temps, le coloriste retravaille ce pré‐coloriage, ajoutant ombres, lumières et modifiant l’ambiance colorimétrique, pour obtenir le résultat de colorisation final (fig. 3.2.[4]). Pratiquement, la colorisation en aplats aboutit à la création d’un nouveau calque qui ne contient que des zones de couleurs constantes par morceaux, formant ainsi une partition colorisée du plan. Ce calque est fusionné avec le line‐art d’origine pour obtenir le rendu colorisé du dessin en aplats (fusion des calques en mode multiplication, typiquement).
  Fig. 3.2 : Étapes d’un processus de colorisation d’un dessin au trait (source : David Revoy).

Les artistes l’avouent eux‐mêmes : la colorisation en aplats est un processus long et fastidieux, nécessitant patience et précision. Les outils « classiques » présents dans les logiciels de peinture numérique ou de retouche d’images ne rendent en effet pas cette tâche aisée. Par exemple, les outils de remplissage par croissance de région (bucket fill), même les plus évolués, gèrent mal les discontinuités dans les traits de dessin (fig. 3.3.a), et encore plus mal les traits lissés (anti‐crénelés). Il est alors courant que l’artiste effectue ses aplats en peignant manuellement ses couleurs avec une brosse sur un calque séparé (fig. 3.3.b), avec tous les problèmes de précision (notamment aux abords des traits) que cela suppose (fig. 3.3.c, et ce lien pour plus de détails).
  Fig. 3.3 : Problèmes classiques rencontrés lors de la colorisation en aplats (source : David Revoy).

Il peut même arriver que l’artiste décide de contraindre explicitement son style de dessin, en utilisant par exemple des lignes crénelées en résolution supérieure (plutôt que des lignes anti‐crénelées), et/ou en se forçant à ne tracer que des traits sans « trous », pour faciliter le travail de colorisation du préparateur d’aplats.

Le filtre Smart Coloring que nous avons développé dans la version 2.0 de G’MIC permet de pré‐coloriser un dessin au trait donné en entrée, d’une part à partir d’une analyse de la géométrie locale des traits de crayon (normales et courbures) et, d’autre part, par leur complétion automatique par des courbes splines. Cela autorise une fermeture (virtuelle) et un remplissage d’objets pouvant contenir des discontinuités dans les tracés de leurs contours. Ce filtre a de plus l’avantage d’être rapide en temps de calcul et donne des résultats de colorisation de qualité similaire à des techniques d’optimisation plus coûteuses, utilisées dans certains logiciels propriétaires. L’algorithme que nous avons élaboré gère sans problème les traits anti‐crénelés, et propose deux modes de colorisation en aplats : par couleurs aléatoires (fig. 3.2.[2] et fig. 3.4) ou guidée par des marqueurs de couleur placés au préalable par l’utilisateur (fig. 3.5).
  Fig. 3.4 : Utilisation du filtre « Smart Coloring » en mode couleurs aléatoires, pour la colorisation d’un dessin au trait (source : David Revoy).

En mode couleurs aléatoires, le filtre génère un calque d’aplats qu’il est très facile de recoloriser par la suite avec de « bonnes » couleurs. Ce calque contient en effet uniquement des régions de couleurs constantes, et l’outil de remplissage classique (bucket fill) est ici efficace pour réassigner rapidement une couleur cohérente à chaque région existante colorisée aléatoirement par l’algorithme.
En mode marqueurs de couleurs, les couleurs placées par l’utilisateur sont extrapolées de façon à respecter au mieux la géométrie du dessin, notamment avec la prise en compte des discontinuités dans les traits de crayon, comme on peut le voir très clairement sur l’exemple ci‐dessous :
  Fig. 3.5 : Utilisation du filtre « Smart Coloring » en mode guidage par marqueurs de couleurs, pour la colorisation d’un dessin au trait (source : David Revoy).

Cet algorithme innovant de colorisation en aplats a fait l'objet d’une pré‐publication sur HAL : Un algorithme semi‐guidé performant de colorisation en aplats pour le dessin au trait. Les plus curieux y trouveront tous les détails techniques de la méthode utilisée.
Les discussions récurrentes que nous avons eues avec David Revoy sur l’élaboration de ce filtre nous ont permis d’améliorer l’algorithme petit à petit, jusqu’à ce qu’il devienne réellement utilisable en production. Cette méthode a pu être ainsi utilisée avec succès, et donc validée, pour la pré‐colorisation de tout l’épisode 22 du webcomic Pepper & Carrot.

Les plus avisés pourraient nous dire que G’MIC possédait déjà un filtre de colorisation de dessins ! C’est vrai, mais celui‐ci ne gérait malheureusement pas très bien les dessins avec des traits discontinus (tels que celui présenté en fig. 3.5), et pouvait alors nécessiter de la part de l’utilisateur le placement d’un grand nombre de marqueurs couleur pour guider correctement l’algorithme. La performance de ce nouvel algorithme est en pratique bien supérieure.

Et puisque ce nouveau filtre d’aide à la colorisation ne voit pas d’objection aux traits anti‐crénelés, pourquoi s’en priver ? Justement, un autre filtre Repair / Smooth [antialias] a également fait son apparition pour ajouter de l’anti‐crénelage à des traits de dessin qui seraient à l’origine trop crénelés.
  Fig. 3.6 : Le filtre « Smooth [antialias] » peut supprimer le crénelage éventuel de traits de dessins (source : David Revoy).

4. …Sans oublier les photographes !

« Coloriser des dessins, c’est bien gentil, mais mes photos à moi sont déjà en couleurs ! », nous fait gentiment remarquer le photographe impatient. Pas de souci ! De nombreux filtres relatifs à la transformation et l’amélioration de photos ont également fait leur apparition dans G’MIC 2.0. Faisons un petit tour du propriétaire.

4.1. CLUT et transformations colorimétriques

Les CLUT (Color Lookup Tables) sont des fonctions de transformations colorimétriques définies dans le cube RVB (rouge, vert et bleu) : pour chaque couleur source d’une image Imgs définie par un triplet (Rs, Vs, Bs), une CLUT lui associe une nouvelle couleur (Rd, Vd, Bd) que l’on reporte dans une image destination Imgd aux mêmes positions. Ces fonctions de transformation pouvant être vraiment quelconques, on peut obtenir des effets très différents suivant les CLUT utilisées, et les photographes en sont donc généralement friands (d’autant que ces CLUT sont un bon moyen de simuler le rendu couleur de certains vieux films argentiques).

En pratique, on stocke une CLUT comme une image volumique couleur (éventuellement « déroulée » suivant l’axe z = B pour en obtenir une version 2D), ce qui peut vite devenir encombrant lorsque l’on doit gérer plusieurs centaines de CLUT. Heureusement, G’MIC possède un algorithme de compression spécifique de CLUT assez efficace (déjà mentionné dans une précédente dépêche LinuxFr.org), qui a été amélioré au fil des versions. Et c’est donc en toute décontraction que nous avons pu ajouter plus de 60 nouvelles transformations colorimétriques basées CLUT dans G’MIC, pour un total de 359 CLUT utilisables, toutes stockées dans un fichier de données qui pèse à peine 1,2 Mio ! Remercions en passant Marc Roovers et Stuart Sowerby pour leurs contributions à ces nouvelles transformations.
  Fig. 4.1.1 : Quelques‐unes des nouvelles transformations colorimétriques disponibles dans G’MIC (source : Pat David).

Mais que faire si nous disposons déjà de nos propres fichiers CLUT et que nous voulons les utiliser dans GIMP ? Aucun problème ! Le filtre tout frais Film emulation / User‐defined vous permet d’appliquer de telles transformations, avec même une prise en charge des fichiers à extension .cube (format de fichiers CLUT proposé par Adobe et encodé en ASCII o_O !).

Et les plus exigeants, qui ne trouveraient pas leur bonheur dans les CLUT déjà présentes, peuvent dorénavant construire leur propre CLUT personnalisée, grâce au filtre Colors / Customize CLUT disponible dans le greffon. Ce filtre, très polyvalent, permet de placer des points clefs colorés dans le cube RVB, points qui seront interpolés en 3D par la suite (suivant une triangulation de Delaunay), pour reconstruire une CLUT complète, c.‐à‐d. une fonction dense dans RGB. Toutes les fantaisies sont alors permises, comme dans l’exemple ci‐dessous, où le filtre est utilisé pour changer l’ambiance colorimétrique d’un paysage, en modifiant principalement la couleur du ciel. La CLUT ainsi synthétisée peut être, bien sûr, sauvegardée sous forme de fichier et réutilisée plus tard pour d’autres photographies, ou même dans d’autres logiciels prenant en charge ce type de transformations colorimétriques (RawTherapee ou Darktable, par exemple).
  Fig. 4.1.2 : Création d’une transformation colorimétrique personnalisée avec le filtre « Customize CLUT ».

  Fig. 4.1.3 : Résultat de la transformation colorimétrique personnalisée appliquée sur un paysage.

Toujours pour rester dans des modifications relatives aux couleurs, notons aussi l’apparition du filtre Colors / Retro fade qui créé un rendu « rétro » d’une image avec du grain généré par moyennages successifs de quantifications aléatoires d’une image d’entrée.
  Fig. 4.1.4 : Le filtre « Retro fade » du greffon G’MIC.

4.2. Faire ressortir les détails

De nombreux photographes cherchent des moyens de traiter leurs photographies numériques de façon à faire ressortir les moindres détails de leurs images, parfois même jusqu’à l’exagération. On en croise notamment sur Pixls.us, site récent spécialisé dans les techniques de photographie utilisant uniquement des projets libres. Et c’est en collaboration avec ceux‐ci, que plusieurs nouveaux filtres de rehaussement de détails et de contraste ont été ajoutés dans G’MIC. On peut citer notamment les filtres Artistic / Illustration look et Artistic / Highlight bloom, ré‐implémentations directes des tutoriels et des scripts rédigés par Sébastien Guyader, ainsi que le filtre Light & Shadows / Pop shadows suggéré par Morgan Hardwood. Être immergé dans une telle communauté de photographes donne sans cesse des opportunités de création de nouveaux effets !
  Fig. 4.2.1 : Filtres « Illustration look » et « Highlight bloom » appliquées sur une image de portrait.

Dans la même veine, G’MIC se dote de sa propre implémentation de l’algorithme de Retinex multi‐échelle, dont une version était déjà présente dans GIMP, mais qui se trouve ici enrichie avec des possibilités de contrôle supplémentaires, pour améliorer la cohérence de la luminosité dans les images.
  Fig. 4.2.2 : Filtre « Retinex » pour uniformiser la luminosité dans une image.

Notre ami et grand contributeur de G’MIC, Jérome Boulanger, a également implémenté et ajouté un algorithme d’atténuation de l’effet de brouillard dans les images (Dehazing), basé sur la méthode du Dark Channel Prior. Le réglage des paramètres de ce filtre n’est pas toujours aisé, mais il donne parfois des résultats très intéressants.

  Fig. 4.2.3 : Filtre « DCP Dehaze » pour l’atténuation de l’effet de brouillard dans une image.

Pour terminer cette sous‐section, notons également l’implémentation dans G’MIC de l’algorithme de Rolling Guidance, qui permet de simplifier des images et qui est devenu une brique de base utilisée dans de nombreux filtres récemment ajoutés. C’est le cas notamment pour cette méthode épatante de rehaussement de contours (Sharpening), que vous pourrez trouver dans Details / Sharpen [texture], et qui se réalise en deux étapes successives. D’abord l’image est séparée en une composante texture + une composante couleur, puis on rehausse les détails de la composante texture uniquement, avant de recomposer l’image. Cette façon de procéder permet de bien faire ressortir tous les petits détails de l’image, tout en minimisant la création de halos disgracieux près des contours, problème récurent rencontré avec la plupart des méthodes de rehaussement de détails plus classiques (tel que le bien connu Unsharp Mask).
  Fig. 4.2.4 : Le filtre « Sharpen [texture] » illustré pour deux amplitudes différentes de rehaussement de détails.

4.3. Masquage par sélection de couleurs

Il existe une multitude de techniques de retouche numérique de photographies se basant sur la création au préalable d’un ou plusieurs « masques », c.‐à‐d. des zones spécifiques de l’image qui vont recevoir des traitements différenciés. Par exemple, la technique très courante des masques de luminosité permet de traiter différemment les zones d’ombre et de lumière dans une photographie. G’MIC 2.0 se dote d’un nouveau filtre Colors / Color mask [interactive], implémentant un algorithme relativement rusé (quoique coûteux en temps de calcul) d’aide à la création de masques. Ce filtre demande à l’utilisateur de passer sa souris au‐dessus de quelques points représentatifs des régions qu’il souhaite isoler. L’algorithme apprend en temps réel les couleurs ou les luminosités correspondantes et en déduit l’ensemble des pixels qu’il doit conserver dans l’image entière (par analyse en composante principale sur les échantillons RVB), pour la construction rapide d’un masque global.

Une fois le masque généré par ce filtre, l’utilisateur peut modifier les pixels correspondants avec tout type de traitement. L’exemple ci‐dessous illustre l’utilisation de ce filtre pour modifier radicalement la couleur d’une voiture (l’opération se réalise en moins d’une minute trente ! Voir la vidéo correspondante). Une autre vidéo expose une technique identique pour modifier la couleur du ciel dans un paysage.
  Fig. 4.3.1 : Modification de la couleur d’une voiture à l’aide du filtre « Color mask [interactive] ».

5. Et pour les autres…

Les dessinateurs et les photographes étant maintenant rassurés, passons à d’autres types de traitements, récemment ajoutés à G’MIC, à usage plus exotique, mais qui restent néanmoins intéressants !

5.1. Moyenne et médiane d’une série d’images

Vous êtes vous déjà demandé comment calculer facilement l’image moyenne ou médiane d’une série d’images d’entrée ? Le photographe Pat David, aficionado du Libre (il est le créateur du site Pixls.us), s’est, quant à lui, souvent posé la question. Tout d’abord pour tenter de débruiter ses images, en combinant plusieurs clichés d’une même scène. Puis, pour simuler un temps d’exposition plus long par moyennage de photographies prises à des instants successifs. Et enfin, en calculant des moyennes d’images diverses et variées à des fins artistiques (par exemple, des trames de clips vidéo musicaux, l’ensemble des couvertures de Playboy, ou encore des portraits de célébrités).

C’est donc avec sa bénédiction que nous avons ajouté les commandes -median_files, -median_videos, -average_files et -average_videos pour réaliser toutes ces choses très simplement, à partir de l’interface en ligne de commande gmic de G’MIC. L’exemple ci‐dessous illustre le résultat de ces commandes appliquées sur une portion de la vidéo de Big Buck Bunny. Nous avons tout simplement invoqué les commandes suivantes depuis Bash :

$ gmic -average_video bigbuckbunny.mp4 -normalize 0,255 -o average.jpg $ gmic -median_video bigbuckbunny.mp4 -normalize 0,255 -o median.jpg

  Fig. 5.1.1 : Portion de la vidéo de Big Buck Bunny, réalisée par la fondation Blender.

  Fig. 5.1.2 : Résultat : Image moyenne de la séquence de Big Buck Bunny ci‐dessus.

  Fig. 5.1.3 : Résultat : Image médiane de la séquence de Big Buck Bunny ci‐dessus.

En restant dans le domaine du traitement vidéo, remarquons également l’apparition des commandes -morph_files et -morph_video permettant de calculer des interpolations temporelles de séquences vidéo prenant en compte le mouvement des objets dans les séquences, grâce à un algorithme variationnel et multi‐échelle ’estimation de mouvement intra‐trames. La vidéo visible sur YouTube illustre la différence de rendu pour le recalage d’une séquence, entre une interpolation temporelle utilisant ou non l’estimation du mouvement.

5.2. Déformations et « Glitch Art »

Ceux qui aiment maltraiter leurs images encore plus agressivement seront ravis d’apprendre qu’un tas de nouveaux effets de déformations et de dégradations d’image sont apparus dans G’MIC.

Tout d’abord, le filtre Deformations / Conformal maps, qui permet de déformer vos images par des transformations conformes. Ces déformations ont la propriété de préserver localement les angles, et sont le plus souvent exprimées par des fonctions utilisant des nombres complexes. En plus de jouer avec des déformations prédéfinies, ce filtre permet aux matheux en herbe d’expérimenter en spécifiant leurs propres formules complexes, si besoin est.
  Fig. 5.2.1 : Filtre « Conformal maps » appliquant une transformation conforme à l’image de la Joconde.

Les amateurs de Glitch Art pourront être également concernés par plusieurs nouveaux traitements dont le rendu fait furieusement penser à des artefacts ou des bogues d’encodage ou de compression d’images. Tout d’abord, l’effet Degradations / Pixel sort qui se permet de trier les pixels d’une image par ligne ou par colonne suivant différents critères et sur des régions éventuellement masquées, tel que cela a été proposé et décrit sur cette page.
  Fig. 5.2.2 : Filtre « Pixel sort » pour un rendu de type « Glitch Art » du plus bel effet !

Mais aussi avec ses deux petits frères, les filtres Degradations / Flip & rotate blocs et Degradations / Warp by intensity. Le premier permet de diviser une image en blocs et de tourner ou inverser ces blocs (façon « mirroir ») en ne le faisant potentiellement que pour certaines caractéristiques couleur de l’image (teinte ou saturation par exemple).
  Fig. 5.2.3 : Filtre « Flip & rotate blocs » appliqué uniquement sur la teinte afin d’obtenir des artefacts de couleurs façon « Glitch Art ».

Le deuxième s’amuse à déformer localement une image plus ou moins fortement en fonction des informations données par sa géométrie locale et, là aussi, permet de générer des images étranges, mais pouvant être appréciées des amateurs de Glitch Art.
  Fig .5.2.4 : Filtre « Warp by intensity » appliqué sur l’image de la Joconde (pauvre Joconde !).

Il faut préciser que ces filtres‐là ont été très largement inspirés par le greffon Polyglitch disponible pour Paint.NET, et réalisés après une suggestion d’un sympathique utilisateur (oui, oui, on essaye d’écouter nos utilisateurs les plus sympathiques !).

5.3. Simplification d’image

Qu’avons‐nous d’autre en réserve ? Ah oui ! Un nouveau filtre d’abstraction d’image, baptisé Artistic / Sharp abstract et basé sur l’algorithme du Rolling Guidance déjà évoqué précédemment. Ce filtre applique un lissage à préservation de contours sur une image, et a pour effet principal de supprimer sa texture. La figure ci‐dessous illustre son utilisation pour générer plusieurs niveaux d’abstraction d’une même image, à différentes échelles de lissage.
  Fig. 5.3.1 : Abstraction d’images via le filtre « Sharp abstract ».

Dans le même genre, G’MIC_ voit également débarquer Artistic / Posterize, un effet de postérisation d’image. Contrairement au filtre de postérisation livré par défaut dans GIMP, qui essaye principalement de réduire le nombre de couleurs (et qui s’apparente donc plus à un processus de quantification, notre version ajoute des traitements de simplification des informations spatiales de l’image pour s’approcher un peu plus d’un rendu de type « vieux poster ».
  Fig. 5.3.2 : Filtre « Posterize » de G’MIC et comparaison avec le filtre du même nom disponible par défaut dans GIMP.

5.4. Et en vrac…

Si vous n’êtes toujours pas rassasiés (et dans ce cas, on peut dire que vous êtes sacrément gourmands !), nous finissons cette section en extirpant en vrac de nos cartons quelques autres effets nouvellement implémentés.

À commencer par ce filtre Artistic / Diffusion tensors, qui affiche un champ de tenseurs de diffusion, calculés à partir des tenseurs de structure d’une image (les tenseurs de structure étant des matrices symétriques et définies positives, classiquement utilisés pour l’estimation de la géométrie locale des structures). Pour être tout à fait honnête, cette fonctionnalité n’avait pas été développée originellement dans un but artistique, mais des utilisateurs du greffon sont tombés dessus un peu par hasard et nous ont demandé d’en faire un filtre pour GIMP, dont acte. Et ma foi, c’est vrai que c’est plutôt joli, non ?
  Fig. 5.4.1 : Le filtre « Diffusion tensors » et sa multitude d’ellipses multicolores.

D’un point de vue technique, ce filtre a été en réalité l’occasion d’introduire de nouvelles fonctionnalités de dessin de primitives à l’intérieur de l’évaluateur d’expressions mathématiques de G’MIC, et il est devenu maintenant assez facile de développer ses commandes de visualisation personnalisées pour des données image diverses et variées. C’est ce qui a été fait par exemple avec la commande -display_quiver, réimplémentée de zéro, et qui permet de générer ce type de rendu :
Fig. 5.4.2 : Rendu de champs de vecteurs par la commande -display_quiver.

Pour les amateurs de textures, nous pouvons mentionner l’arrivée de deux nouveaux effets amusants : D’abord, le filtre Patterns / Camouflage qui, comme son nom le suggère, produit une texture de type « camouflage » militaire.
  Fig. 5.4.3 : Le filtre « Camouflage », à imprimer sur vos T‐shirts pour passer inaperçu en soirée !

Et dans le même genre, le filtre Patterns / Crystal background superpose plusieurs polygones colorés aléatoires pour synthétiser une texture faisant vaguement penser à du cristal vu à la loupe. Plutôt sympa quand on veut obtenir rapidement des fonds d’images pas trop ternes.
  Fig. 5.4.4 : Le filtre « Crystal background » en action.

Et nous finirons ce tour d’horizon des nouveaux traitements apparus depuis l’an dernier avec l’effet Rendering / Barnsley fern, qui trace un rendu de la fractale Barnsley fern. Pour les curieux, notons que l’algorithme de génération de cette figure fractale notoire est disponible sur Rosetta Code, avec même une version du code écrite en langage de script G’MIC, à savoir :

# Put this into a new file 'fern.gmic' and invoke it from the command line, like this: # $ gmic fern.gmic -barnsley_fern barnsley_fern : 1024,2048 -skip {" f1 = [ 0,0,0,0.16 ]; g1 = [ 0,0 ]; f2 = [ 0.2,-0.26,0.23,0.22 ]; g2 = [ 0,1.6 ]; f3 = [ -0.15,0.28,0.26,0.24 ]; g3 = [ 0,0.44 ]; f4 = [ 0.85,0.04,-0.04,0.85 ]; g4 = [ 0,1.6 ]; xy = [ 0,0 ]; for (n = 0, n<2e6, ++n, r = u(100); xy = r<=1?((f1**xy)+=g1): r<=8?((f2**xy)+=g2): r<=15?((f3**xy)+=g3): ((f4**xy)+=g4); uv = xy*200 + [ 480,0 ]; uv[1] = h - uv[1]; I(uv) = 0.7*I(uv) + 0.3*255; )"} -r 40%,40%,1,1,2

Et voici le rendu que cette fonction génère :
  Fig. 5.4.5 : Rendu de la fractale « Barnsley fern » calculé par G’MIC.

6. Autres informations générales

Bien évidemment, les filtres qui ont été présentés tout au long de cette dépêche ne constituent que la partie émergée de l’iceberg G’MIC. Ils sont en réalité le résultat de nombreux développements et améliorations effectués « sous le capot », c.‐à‐d. directement sur le code de l’interpréteur du langage de script que G’MIC définit, et qui sert in fine de base à l’écriture de tous les filtres et commandes disponibles pour les utilisateurs. Durant cette année écoulée, un gros travail a donc été réalisé pour améliorer les performances et les possibilités de cet interpréteur :

  • l’évaluateur d’expressions mathématiques a été considérablement enrichi et optimisé, avec toujours plus de fonctions disponibles (particulièrement pour le calcul matriciel), la gestion des chaînes de caractères, l’introduction de variables const pour une plus grande rapidité d’évaluation, la possibilité d’écrire des macros variadiques, ou encore d’allouer des vecteurs de manière dynamique, etc. ;
  • de nouvelles optimisations ont également été introduites dans la bibliothèque CImg, avec notamment la parallélisation de nouvelles fonctions (via l’utilisation d’OpenMP). Cette bibliothèque C++ fournit les implémentations des traitements d’images « critiques » et son optimisation a donc des répercussions directes sur les performances de G’MIC (à ce propos, notons que CImg passe également en version majeure 2.0) ;
  • la compilation de G’MIC sous Windows utilise maintenant une version de g++ récente (la 6.2 plutôt que la 4.5), ce qui se traduit par un impact énorme sur les performances des exécutables compilés ; certains filtres s’exécutent jusqu’à 60 fois plus rapidement qu’avec les binaires générés précédemment (c’est le cas, par exemple, pour le filtre Deformations / Conformal Maps, évoqué en section 5.2) ;
  • la prise en compte des images .tiff de grande dimension (format BigTIFF, avec des fichiers dont la taille peut dépasser les 4 Gio) est maintenant opérationnelle en lecture et écriture, tout comme celle des images TIFF à valeurs flottantes sur 64 bits ;
  • le moteur de rendu d’objets 3D maillés intégré à G’MIC a également été amélioré, avec la prise en charge du bump mapping ; aucun filtre n’utilise actuellement cette fonctionnalité, mais sait‐on jamais, on se prépare pour la suite !

  Fig. 6.1 : Comparaison du rendu texturé avec (à droite) et sans « Bump mapping » (à gauche).

  • et comme il est toujours bon de se détendre après une dure journée de travail, nous avons ajouté le jeu du Puissance 4 à G’MIC ! Il est accessible via la commande shell gmic -x_connect4 ou en passant par le greffon, via le filtre Various / Games & demos / Connect-4. À noter qu’il est possible de jouer contre l’ordinateur, qui a un niveau décent mais pas imbattable non plus (l’IA, très simple, utilise l’algorithme Minimax avec un arbre de décisions à deux niveaux seulement). Fig. 6.2 : Le jeu du « Puissance 4 », jouable dans G’MIC.

Et pour en finir avec le rayon des nouveautés, mentionnons le travail en cours de refonte du service Web G’MIC Online, avec une version bêta en cours de développement. Ce re‐développement du site, réalisé par Christophe Couronne, chapeauté par Véronique Robert (tous deux également membres du laboratoire GREYC), a été étudié pour mieux s’adapter aux appareils mobiles, et les premiers tests sont plus qu’encourageants. N’hésitez pas à expérimenter et nous faire part de vos impressions !

7. La suite ?

Que retenir de cette looooooongue dépêche ?

D’abord que cette version 2.0 représente effectivement une étape importante dans la vie du projet G’MIC, et que les améliorations réalisées ces derniers mois sont de bon augure pour les développements futurs. Il semble que les utilisateurs soient de plus en plus nombreux (et apparemment satisfaits), et nous espérons que cela incitera d’autres développeurs à déployer notre nouvelle interface G’MIC-Qt comme greffon pour leurs propres logiciels libres. En particulier, on a bon espoir de voir tourner le nouveau G’MIC sous Krita prochainement, et ce serait déjà une étape formidable !

Ensuite, que ce projet libre continue d’être actif et d’évoluer au fil des rencontres et des discussions avec les membres des communautés d’artistes et de photographes, qui peuplent en particulier les forums et IRC de Pixls.us et de GimpChat. Vous avez de grandes chances de nous y retrouver si vous désirez de plus amples informations ou simplement discuter de choses relatives au traitement d’images (libre de préférence).

On tient, bien sûr, à remercier les contributeurs du projet, que l’on ne peut malheureusement pas tous citer ici, mais qui sont de plus en plus nombreux. Merci également à tous ceux qui payent leurs impôts en France sans ronchonner et qui font donc avancer indirectement le développement de ce projet libre, mis à disposition gracieusement — faut‐il le rappeler ? — par le GREYC, un laboratoire public de recherche en STIC — Sciences et technologies d’information et de communication — de Caen, et qui est développé par des fonctionnaires motivés et passionnés (et du coup quelquefois aussi fatigués ! :)).

Et en attendant une prochaine dépêche hypothétique sur une future version de G’MIC, vous pouvez toujours suivre l’avancement pas à pas du projet via notre fil Twitter.

D’ici là, vive le traitement d’images libre et la science reproductible !

Crédits images : Sauf mention contraire, les diverses images non synthétiques qui ont servi à illustrer cet article proviennent du site Pixabay.

Télécharger ce contenu au format Epub

Lire les commentaires

PyParis 2017 — fin des inscriptions dans 10 jours

1 juin, 2017 - 10:01

La conférence PyParis, qui fait suite à PyData Paris, aura lieu les 12 et 13 juin 2017 à La Défense. Plus de 300 personnes sont attendues. Si vous souhaitez participer, il est impératif de prendre vos billets avant le 9 juin. Le code promo LINUXFR4PY vous donnera 10 % de réduction.

Le programme est maintenant bouclé, avec trois cycles de présentations consacrés à l’analyse de données en Python :

  • Integrating and shaping data : gestion des données massives, intégration, analyses statistiques, exploration interactive, etc. ;
  • Learning, deep and wide : machine learning / deep learning ;
  • scikit-learn day : une journée entière consacrée à la bibliothèque scikit-learn dédiée au machine learning en Python, qui est développée en partie en France.

Et également :

  • quatre interventions plénières (keynotes) : les tendances du Web en Python, Jupyter, scikit-learn, Python dans l’éducation ;
  • Python Core : les dernières évolutions du langage Python et des outils qui vont bien autour ;
  • Web & Cloud : cadriciels et outils pour faire des applications Web en Python ;
  • Education : une journée de conférence sur l’utilisation de Python dans l’éducation (scolaire, universitaire ou hors système). Cette journée est gratuite pour les professionnels de l’enseignement et les membres des associations intervenant dans l’apprentissage du « code », sur présentation du code promo EPI4PY ;
  • 8 ateliers de 90 minutes ;
  • une session de lightning talks.
Télécharger ce contenu au format Epub

Lire les commentaires