❌

Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraĂźchir la page.
À partir d’avant-hierFlux principal

Des nouvelles de Unvanquished

La derniĂšre dĂ©pĂȘche sur le jeu Unvanquished a Ă©tĂ© publiĂ©e ici en 2023, pour son dixiĂšme anniversaire. La derniĂšre version annoncĂ©e ici Ă©tait la version 0.53, en 2022. Alors que nous sommes Ă  deux mois de 2025 et Ă  quelques jours de la prochaine version 0.55, c’est l’occasion de faire un point sur ce qui s’est passĂ© ces derniĂšres annĂ©es et d’ajouter un Ă©pisode Ă  la sĂ©rie « des nouvelles de [votre jeu prĂ©fĂ©rĂ©] » et de faire suite Ă  celui sur Xonotic.

Unvanquished

Laisse-moi sortir de là ! — rĂ©clame la version 0.55


Unvanquished est un jeu de stratĂ©gie en temps rĂ©el (RTS) Ă  la premiĂšre personne (FPS) oĂč des extraterrestres Ă©volutifs et des humains lourdement armĂ©s s’affrontent pour leur survie. Son dĂ©veloppement, basĂ© sur Tremulous, a commencĂ© en 2011.

Sommaire

Quelques nouvelles en vrac

Un nouveau lanceur

En prĂ©vision de la prochaine version 0.55 qui arrive (deux « release candidates » ont dĂ©jĂ  Ă©tĂ© publiĂ©es), le « lanceur » (aussi appelĂ© « updater ») a Ă©tĂ© mis Ă  jour en juillet dernier.

Le lanceur est le moyen recommandĂ© d’installer Unvanquished : il permet une intĂ©gration optimale avec le systĂšme (possibilitĂ© de cliquer sur des liens pour lancer une partie) et propose la mise Ă  jour du jeu quand une nouvelle version est disponible. Le lanceur sait aussi se mettre Ă  jour et c’est ce qui a Ă©tĂ© fait en juillet.

Des améliorations graphiques

L’annĂ©e derniĂšre le projet Unvanquished avait annoncĂ© ĂȘtre en recherche d’un dĂ©veloppeur spĂ©cialisĂ© dans les moteurs de rendus. Reaper a rejoint l’équipe et a rĂ©alisĂ© un gros travail : dĂ©bugage et finalisation des miroirs rĂ©cursifs et d’autres choses. Il fait aussi progresser le moteur pour tirer partie d’OpenGL 4.6 et autre techniques avancĂ©es (« bindless textures », etc.).

Un explorateur de serveur minimaliste

Viech a publiĂ© un explorateur de serveur de jeu minimaliste qui tient dans la barre de notification (tray browser). C’est Ă  la fois simple et pratique.

Des vidéos et un compte Mastodon

Diverses vidĂ©o montrant les avancĂ©es du dĂ©veloppement ont Ă©tĂ© publiĂ©es sur la chaĂźne Youtube d’Unvanquished, c’est l’occasion de rappeler l’existence de cette chaĂźne : https://www.youtube.com/@UNVofficial

Pour ceux qui prĂ©fĂšrent Peertube, qui permet aussi de s’abonner aux chaĂźnes Ă  travers Mastodon et plus globalement le FĂ©diverse, avec la publication de certaines parties : https://vdo.unvanquished.greboca.com/

Un compte Mastodon a Ă©tĂ© crĂ©Ă© sur l’instance idtech.space dĂ©diĂ©e aux technologies id Tech et projets associĂ©s (le moteur d’Unvanquished dĂ©rive d’id Tech 3) : https://idtech.space/users/UNVofficial

Ce compte Mastodon s’ajoute aux comptes X et Facebook. Le public libriste sera peut-ĂȘtre plus intĂ©ressĂ© par ce compte Mastodon.

Unvanquished, ARMĂ© et dangereux

De nouvelles architectures

La version 0.54 de Unvanquished sortie en janvier 2023 avait Ă©tĂ© la premiĂšre Ă  ĂȘtre jouable autrement que sur PC (x86 et x86-64), en proposant des binaires pour les processeurs ARM (sous Linux seulement pour l’instant).

CĂŽtĂ© moteur la version 0.54 avait reçu de nombreuses optimisations pour mieux tourner sur des machines moins performances, par exemple, Certaines ressources logiciels optionnelles comme les deluxemaps ne sont plus chargĂ©es si dĂ©sactivĂ©es, ceci Ă©conomise non seulement le calcul, mais aussi la mĂ©moire de la carte graphique. Les lightstyles peuvent ĂȘtre dĂ©sactivĂ©s, ce qui peut accĂ©lĂ©rer le rendu graphique, etc. La compatibilitĂ© matĂ©rielle sera encore Ă©tendue avec la version 0.55.

À partir de la version 0.54 tous les binaires pour toutes les architectures matĂ©rielles et systĂšmes d’exploitation sont compilĂ©s dans des containers Docker, y compris les binaires macOS compilĂ©s dans un container Linux en utilisant Darling, Darling Ă©tant Ă  macOS ce que Wine est Ă  Windows. La version 0.55 sera produite de la mĂȘme maniĂšre.

La version 0.55 apportera la compatibilitĂ© pour un nouveau systĂšme d’exploitation ! đŸ€«ïž

Interface, jouabilité et bots

Chargement de carte

Le nouvel Ă©cran de chargement des cartes.

L’interface avait Ă©tĂ© revue Ă  l’occasion de la version 0.54 :

  • Nouvelles icĂŽnes d’inventaire contribuĂ©es par Nanaa, Gireen et Bob Vador
    Ces icÎnes donnent un coup de fraßcheur, on distingue mieux les deux types de grenades et les armures ainsi que le mode de déplacement.
  • L’écran de chargement des cartes affiche le nom de la carte et des auteurs (si renseignĂ©) depuis les mĂ©tadonnĂ©es. Historiquement, les artistes inscrivaient ces informations sur l’image d’illustration de la carte avec un logiciel de dessin
 (!!!)
  • La version 0.55 apportera des modifications d’interface rĂ©alisĂ©es par Grise.

CĂŽtĂ© jouabilitĂ©, la version 0.54 avait corrigĂ© le momentum nĂ©gatif qui Ă©tait particuliĂšrement pĂ©nalisant. Le momentum, est gĂ©nĂ©rĂ© par les Leech (Alien) ou les Drills (Humain). Il faut qu’il y ait assez de momentum pour pouvoir construire d’autres Ă©lĂ©ments.

La version 0.54 a apportĂ© toute une sĂ©rie de nouveautĂ©s au niveau des bots (entitĂ©s qui remplacent les joueurs afin de complĂ©ter les Ă©quipes) :

  • AmĂ©lioration de l’évitement d’obstacles pour les bots.
  • Les bots peuvent viser des cibles situĂ©es sur des navmesh diffĂ©rents.
  • Certains bots n’hĂ©siteront pas Ă  sauter pour atteindre une cible en hauteur, d’autres se retiennent d’exĂ©cuter une attaque qui pourraient les blesser si la cible est trop proche


Depuis quelque temps, le dĂ©veloppement des bots suscite un regain d’intĂ©rĂȘt. La version 0.55 ne sera pas la plus riche Ă  ce sujet car elle apportera surtout des amĂ©liorations du moteur. Le dĂ©veloppement de gameplay ne s’est pas ralenti mais s’est surtout focalisĂ© sur des mods dont il faudra fusionner les avancĂ©es dans le tronc commun aprĂšs la sortie de la version 0.55. Ces amĂ©liorations de gameplay sont dĂ©jĂ  jouables sur des serveurs en ligne.

L’amĂ©lioration du comportement des bots Ă  permis un nouveau type de jeu : Le PVE. C’est Ă  dire que les joueurs peuvent jouer ensemble contre l’ennemi pilotĂ© par le serveur. Certaines cartes ont Ă©tĂ© crĂ©Ă©es spĂ©cifiquement pour ce type de jeu, et d’autres ont Ă©tĂ© adaptĂ©es Ă  l’aide de layout qui Ă©taient dĂ©jĂ  utilisĂ©s pour crĂ©er des variantes de parties.

La version 0.54.1 n’avait pas vraiment proposĂ© de modifications des donnĂ©es, il s’agissait surtout de publier des correctifs de bugs gĂȘnant du moteur. La version 0.55 viendra avec une mise Ă  jour des donnĂ©es et donc avec les corrections attendues. Par exemple un bug dans la chaĂźne logicielle de conversion d’images avait produit des artefacts dans certaines textures, ce sera corrigĂ© dans la version 0.55.

La danse des submodules

            _________________
           /                 \
          |         ✝         |  
          |                   |
          |      beloved      |
          |     submodule     |
          |                   |
          |    2017-12-30     |
          |     2023-04-11    |
          |                   |
          |       R.I.P.      |
          |                   |  đŸ„”
  (,,)Ă©   |                   |   ɘ̀(âčâč)  ɘ̀(âčâč)
////////////////////////////////////////////////

Press F to Pay Respects!

Tous ceux qui doivent traiter avec Git savent que les submodules sont trÚs pratiques mais parfois bien ennuyeux. Un travail de fond réalisé sur les outils de production des données a permis la réintégration du dossier source unvanquished_src.dpkdir. Le générateur de code CBSE qui produit la plomberie pour la logique de jeu a été réintégré aussi. Cela rend plus facile de travailler sur des mods en évitant de devoir gérer plusieurs dépÎts différents.

Contributions

Unvanquished recrute
Voulez-vous en savoir plus ?

Comme vous le voyez, ce cycle de dĂ©veloppement a aussi vu de nouveaux contributeurs apporter leur concours au projet. Certaines de leurs amĂ©liorations ont dĂ©jĂ  Ă©tĂ© publiĂ©es dans la version mineure 0.54.1, d’autres arriveront avec la version 0.55.

Récement, le développeur Slipher qui est un des développeurs Unvanquished les plus prolifiques et les plus fidÚles a étendu ses activités au moteur de rendu et a rejoint la petite élite de ceux qui savent comment le moteur fonctionne. Il a corrigé entre autre le rendu de vidéo sur des surfaces et une fonctionnalité de sprites.

La liste de rĂ©gressions depuis le dĂ©sormais lointain ancĂȘtre d’Unvanquished, Tremulous, est maintenant rĂ©duite Ă  peau de chagrin.

Des traductions !

La grosse nouveautĂ© de la version 0.54.1 publiĂ©e en dĂ©cembre 2023 a Ă©tĂ© de proposer Ă  nouveau des traductions intĂ©grĂ©es au jeu. L’outil de traduction est gracieuseuement hĂ©bergĂ© par Weblate.

L’interface Weblate

L’interface de traduction Weblate.

Il y a longtemps, le jeu Ă©tait traduit, mais suite Ă  de trĂšs profonds changements (par exemple le remplacement total de la technologie utilisĂ©e pour faire des menus, dĂ©sormais sous RmlUi), l’effort de traduction avait Ă©tĂ© interrompu.

La traduction francophone est bien avancĂ©e, mais la traduction en breton a besoin de plus de contributions. Si vous souhaitez contribuer votre langue rĂ©gionale, vous ĂȘtes les bienvenus, c’est ici que cela se passe !

La 0.55 arrive !

Préparez votre souris et votre clavier, la version 0.55 arrive trÚs bientÎt.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Visualisation d’imageries mĂ©dicales avec Invesalius

Nous allons parler ici des examens par imageries mĂ©dicales de type scanner ou IRM. Un scanner est une sĂ©rie d’images faites aux rayons X et pour une IRM c’est de la rĂ©sonance magnĂ©tique. Pour une IRM, vous passez dans un Ă©norme aimant extrĂȘmement puissant (attention aux objets mĂ©talliques). Quand vous passez l’un de ces examens, vous repartez avec un CD ou DVD que vous donnez Ă  votre mĂ©decin ou bien vous avez un code pour aller chercher vos images sur internet. Vous pouvez aussi parfois y accĂ©der avec votre smartphone. Il s’agit le plus souvent d’une sĂ©rie d’images en noir et blanc de type jpeg. Elles sont difficiles Ă  interprĂ©ter par des non-spĂ©cialistes. C’est lĂ  qu’intervient un logiciel dĂ©diĂ©. Vous pouvez parfois obtenir la sĂ©rie d’images sous un format dĂ©diĂ©, c’est le serveur qui fait la conversion sur demande, par exemple le format DICOM (« Digital Imaging and Communications in Medecine Â») qui est le standard de facto pour la gestion d’images mĂ©dicales, ou NIFTI. Gimp peut lire le format DICOM, mais ce n’est pas trĂšs pratique.

Dans le package Debian med-imaging des tas de logiciels sont fournis, comme des logiciels de traitement du signal (du cƓur par exemple). Pour lire le format DICOM, nous avons ITK-SNAP, mais nous nous attarderons aujourd’hui sur Invesalius. Il a Ă©tĂ© nommĂ© ainsi en honneur d’un docteur belge Andreas Vesalius (1514-1564) considĂ©rĂ© comme le pĂšre de l’anatomie moderne. InVesalius a Ă©tĂ© dĂ©veloppĂ© depuis 2001 par le Centre de Technologie de l’Information Renato Archer (CTI), une unitĂ© du MinistĂšre des Sciences et de la Technologie (MCT), du BrĂ©sil. Il est disponible pour Windows, GNU/Linux et Mac OS X. La licence est la GNU GPL (General Public License) version 2 et cerise sur le gĂąteau, il est disponible en français.

Invesalius 2

Une fois les donnĂ©es converties en DICOM et tĂ©lĂ©chargĂ©es, nous les importons dans Invesalius. C’est un peu long et il faut une bonne machine, car les donnĂ©es font 3 Go. Nous choisissons les donnĂ©es Ă  visualiser. Puis nous pouvons choisir un intervalle de nuance de gris et gĂ©nĂ©rer la surface 3D correspondante. On peut ainsi sĂ©lectionner les os, cartilagineux ou pas, les organes, les muscles ou la peau. On peut aussi avoir les vaisseaux puisqu’ils injectent de l’iode, un produit de contraste. Les vaisseaux apparaissent alors comme les os. Pour finir, on peut affecter des couleurs Ă  chaque surface crĂ©Ă©e. On peut alors exporter le tout sous les formats STL, OBJ ou PLY. C’est donc alors bien entendu lisible sous FreeCAD ou Blender.

Invesalius 1

Commentaires : voir le flux Atom ouvrir dans le navigateur

Les langues peu documentées et le libre : quelques enjeux scientifiques

Comme beaucoup de domaines scientifiques, la documentation de la diversitĂ© linguistique entretient une relation forte avec les mondes du Libre. Dans cette dĂ©pĂȘche, je vous propose de dĂ©couvrir ce domaine Ă  travers la prĂ©sentation de plusieurs logiciels et ressources libres ou en accĂšs ouvert. La documentation des langues Ă©tant un thĂšme peu courant sur LinuxFr.org, on commencera par une prĂ©sentation de cette problĂ©matique. Nous continuerons par une description des deux ressources principales existantes pour cataloguer et se repĂ©rer au sein de cette diversitĂ© linguistique. Je parlerai ensuite d’ELAN et de FLEX, deux logiciels utilisĂ©s pour annoter des enregistrements audio-visuels, une Ă©tape clef dans l’analyse linguistique, et qui permet le partage et la rĂ©utilisation de ces enregistrements. Enfin, aprĂšs un court passage sur la question de l’archivage, je prĂ©senterai deux compilations de corpus de documentation en accĂšs libre, une pratique rĂ©cente qui permet de nouveaux questionnements quantitatifs sur les langues orales peu documentĂ©es, et qui contribue Ă©galement Ă  la transparence et la traçabilitĂ© des analyses linguistiques.

    Sommaire

    L’étude des langues Ă  travers le monde

    Actuellement, environ 7000 langues ont Ă©tĂ© recensĂ©es Ă  travers le monde. Ce chiffre ne peut ĂȘtre qu’une approximation car, il n’y a pas de consensus sur la dĂ©finition de ce qu’est une langue. Une difficultĂ© par exemple est de dĂ©finir Ă  quel moment une langue est distincte d’une autre. Lorsqu’il y a variation, mais intercomprĂ©hension, de nombreux linguistes s’accordent Ă  dire qu’il s’agit alors de dialectes d’une mĂȘme langue, et donc, lorsqu’il n’y a pas intercomprĂ©hension, alors il s’agit diffĂ©rentes langues. Cette perspective considĂšre que tout le monde parle un dialecte (que ce soit celui de rĂ©fĂ©rence, ou un plus rĂ©gional comme celui de Paris, de Marseille, du QuĂ©bec), la langue n’étant qu’une abstraction permettant de regrouper les diverses pratiques langagiĂšres. En ce qui concerne l’intercomprĂ©hension, ce critĂšre n’est malheureusement pas absolu car elle peut varier selon les personnes et leur parcours personnel. Et lorsqu’on considĂšre l’évolution d’une langue Ă  travers le temps, sa diachronie, dĂ©finir ce qu’est une mĂȘme langue Ă  travers ses Ă©volutions temporelles se complexifie d’autant plus.

    Si certaines langues ont Ă©mergĂ© rĂ©cemment, on pense assez souvent aux langues dites crĂ©oles (le Bichelamar, les crĂ©oles malais, Ă  Madagascar ou au Cap Vert), ou Ă©galement lorsque certains dialectes se distinguent suffisamment pour ne plus ĂȘtre intercomprĂ©hensibles, la tendance actuelle est surtout Ă  la disparition massive des langues. Cette disparition est souvent rapportĂ©e Ă  travers la mort des derniers locuteurs et locutrices, on peut aussi considĂ©rer qu’une langue meurt lorsqu’elle n’est plus parlĂ©e d’une part, et qu’elle disparait si elle n’est pas documentĂ©e. Si certains aujourd’hui se questionnent sur la corrĂ©lation entre la diversitĂ© culturelle et la diversitĂ© Ă©cologique, il est Ă©vident que la disparition des langues correspond Ă©galement Ă  des inĂ©galitĂ©s et des tensions socio-politiques.

    Bref, la documentation des langues, c’est un sujet actuel, et d’un point de vue scientifique, la perte de cette diversitĂ© aura de tristes consĂ©quences sur la connaissance des langues et de l’univers des possibles languagiers, encore souvent sous-estimĂ© :

    • l’article The myth of language universals : Language diversity and its importance for cognitive science d’Evans donne un bel aperçu du dĂ©bat qui existe entre les linguistes fonctionnalistes, notamment les approches gĂ©nĂ©rativistes telles que proposĂ©es par Noam Chomsky. Pourtant, rĂ©guliĂšrement Ă  travers la documentation des langues, des catĂ©gories cognitives jusque-lĂ  non-soupçonnĂ©s, voire rejetĂ©es car non-observĂ©es, sont identifiĂ©s. Nous nous sommes rendu compte rĂ©cemment qu’un quart des langues grammaticalisaient l’emploi d’évidentiels, ces morphĂšmes qui indiquent la source d’une information. Au niveau de l’odorat, des neurologistes pensaient que si nous n’avions pas de termes abstraits pour catĂ©goriser les odeurs, c’était liĂ© au fait que notre cerveau ne le permettait pas. La description des termes liĂ©s Ă  l’odorat en Jahai (par ici si vous souhaitez Ă©couter du Jahai), qui possĂšde donc des termes spĂ©cifiques pour catĂ©goriser les odeurs, a montrĂ© le contraire.
    • accĂ©der Ă  des facettes non-matĂ©rielles de la prĂ©histoire, non-accessibles Ă  travers l’archĂ©ologie. La documentation des langues nous permet d’accĂ©der, dans une certaine mesure, aux termes et aux concepts utilisĂ©s durant les diffĂ©rentes prĂ©histoires Ă  travers la comparaison des langues et de leurs structures. Les travaux sont nombreux et anciens en ce qui concerne les langues europĂ©ennes, mais les recherches en linguistique historique (ou comparĂ©e) portent Ă©galement sur toutes les langues connues Ă  travers le monde. Les chercheurs et chercheuses de ce domaine collaborent assez rĂ©guliĂšrement avec les archĂ©ologues pour retracer les mouvements de population.
    • mettre au point des systĂšmes d’écriture pour les langues orales, ou simplement des traitements de texte adaptĂ© aux Ă©critures existantes. Parfois, certaines personnes savent Ă©crire dans la ou les langues officielles du pays, mais ne connaissent pas d’écriture pour une de leurs langues rĂ©gionales. C’est ainsi souvent le cas pour les personnes au Vanuatu. Le pays reconnait mĂȘme le droit d’enseigner les langues locales Ă  l’école, mais il n’existe que trĂšs rarement des ressources (que ce soit les personnes ou les manuels) pour cela. Parfois, les gens ne connaissent tout simplement pas de systĂšme d’écriture.

    Quelques concepts et termes liés à la documentation des langues

    Comme tout domaine de recherche, la terminologie et les concepts linguistiques Ă©voluent au grĂ© des discussions et peut se distinguer de l’usage attendu des termes. Une Ă©tape importante dans la documentation d’une langue est la production d’une grammaire dĂ©crivant les structures linguistiques de cette langue. De nombreux linguistes estiment alors qu’on peut dire que cette langue est dĂ©crite. Il ne faut pas se tromper cependant, aucun linguiste ne considĂšre qu’une langue est alors complĂštement dĂ©crite. Une grammaire ne contient que quelques aspects estimĂ©s actuellement essentielles par les linguistes de terrain. Ces points sont, le plus souvent, une description du systĂšme phonologique d’une langue (c’est-Ă -dire comment les sons d’une langue sont organisĂ©s les uns vis-Ă -vis des autres), des morphĂšmes et des processus morphologiques associĂ©s (la conjugaison, l’expression de la possession, les dĂ©clinaisons, les genres, les classifications, etc.) d’une langue et souvent un dĂ©but de description des processus syntaxiques. Il existe de nombreuses approches pour dĂ©crire les faits linguistiques, et la description d’une langue se fait souvent en dialogue avec les pratiques et terminologies qui ont Ă©tĂ© employĂ©es dans l'aire linguistique concernĂ©e.

    Depuis l’article Documentary and descriptive linguistics de Nicholaus Himmelman, qui a promu la distinction entre la documentation linguistique et la description linguistique, on accorde beaucoup plus d’importance Ă  la production d’un corpus d’enregistrements annotĂ©s. On dit alors d’une langue qu’elle est documentĂ©e si des enregistrements annotĂ©s, de prĂ©fĂ©rences audio-visuels, de cette langue existe. Enfin, il existe la problĂ©matique de l’outillage d’une langue, c’est-Ă -dire si ses locuteurs et locutrices ont accĂšs ou non aux outils informatisĂ©s, du traitement texte aux dictionnaires informatisĂ©s en passant par la reconnaissance vocale, la transcription automatique, voire aujourd’hui aux modĂšles de langues et autres ressources nĂ©cessitant des corpus beaucoup plus grands.

    Les catalogues et base de donnĂ©es pour l’identification des langues

    Une problĂ©matique rĂ©currente dans le domaine des langues est de clairement identifier la langue sur laquelle on travaille. Cependant, identifier une langue, ce qui relĂšve ou non de cette langue, oĂč elle est parlĂ©e, est l’enjeu de nombreux dĂ©bats, souvent politique, et n’est pas une tĂąche simple. Quoi qu’il en soit, il existe des ressources, bases de donnĂ©es, qui proposent d’associer Ă  des noms de langues, endonymes ou exonymes, des codes pour rendre leur identification univoque.

    L’Ethnologue et l’ISO 639 : une norme gĂ©rĂ©e par le Summer Institute of Linguistics (SIL)

    Ethnologue, Languages of the World, ou plus simplement l’Ethnologue, est une base de donnĂ©es dĂ©veloppĂ©e et maintenu par l’organisme Ă©vangĂ©lique SIL, Summer Institute of Linguistic depuis 1951. Elle vise Ă  recenser toutes les langues du monde. L’ISO 639 est une norme issue de ce catalogue, Ă©galement maintenue par le SIL. Cet organisme est trĂšs actif au niveau de la documentation des langues et de la crĂ©ation d’écritures, car un de ses objectifs est de traduire la Bible dans toutes les langues du monde. Historiquement, l’Ethnologue est un des premiers catalogues dont l’objet a Ă©tĂ© de recenser les langues. Si cette norme semble le plus souvent suffisamment exhaustive pour les besoins liĂ©s Ă  l’informatique, aprĂšs tout, les internautes consultent Internet en trĂšs peu de langue, d’un point de vue linguistique, il possĂšde de nombreuses lacunes.

    La liste SIL des langues

    Un premier souci est la nĂ©cessitĂ© d’avoir une granularitĂ© plus importante que simplement la langue. Les linguistes travaillent sur des dialectes et des variĂ©tĂ©s, sur des familles de langues, et parfois ont travaillĂ© sur des distinctions qui n’ont parfois plus cours. Afin de pouvoir associer ces ressources Ă  des langues, ou des entitĂ©s linguistiques particuliĂšres, l’approche du SIL ne suffit pas.

    Enfin, la gestion du catalogue par un organisme religieux, donc avec parfois d’autres enjeux qu’uniquement scientifiques, le fait qu’il s’agisse d’une norme, donc la nĂ©cessitĂ© de collaborer avec l’ISO, et le fait que seule une partie du catalogue est accessible (il faut un abonnement pour accĂ©der Ă  la totalitĂ© de la ressource) rend la ressource moins pertinente pour de nombreux linguistes. Ces limites ont poussĂ© des linguistes Ă  proposer une ressource alternative.

    Glottocode : par le Max Planck Institute for Evolutionary Anthropology.

    Le projet Glottolog, initialement dĂ©veloppĂ© par Sebastian Nordhoff et Harald Hammarström, catalogue non seulement les langues du monde actuelles et passĂ©s, les familles de langues et leurs diffĂ©rentes branches, mais Ă©galement « les restes Â» des hypothĂšses de langues ou de regroupements historiques. Cette granularitĂ© permet de retrouver les documents associĂ©s Ă  chacun de ces objets. Si le catalogue est dĂ©diĂ© aux langues moins connues, les langues les plus centrales sont elles aussi rĂ©pertoriĂ©es. Il s’agit actuellement du catalogue mis en avant par les linguistes documentant les langues Ă  travers le monde. L’application Glottolog est disponible via la licence MIT.

    Aperçu du Glottolog à travers la liste des langues

    Si aux premiers abords, la liste des langues du Glottolog ne se distingue pas franchement de celle de l’ISO 639, c’est parce qu’il faut regarder plus en dĂ©tail pour comprendre les diffĂ©rences essentielles entre les deux ressources. Notons tout de mĂȘme la colonne « Child dialects » : « Dialectes enfants », et les champs vides au niveau des colonnes Top-level-family et pour la langue Abai Tubu-Abai Sembuak dans la colonne « ISO-639-3 Â». La colonne « Child dialects » reprĂ©sente une information qui n’est pas documentĂ© dans l’ISO 639, ce n’est pas son objet aprĂšs tout, mais qui est intĂ©ressant pour les linguistes travaillant sur cette langue, indiquant qu’un minimum de donnĂ©es sociolinguistiques sont disponibles. Les champs vides dans la colonne « Top-level family » sont dus au fait que ces langues sont des isolats, c’est-Ă -dire que la linguistique comparĂ©e ne trouve pas de correspondances significatives entre cette langue et d’autres langues qui permettraient de les regrouper en une famille. Enfin, le vide dans la colonne ISO-963-3 rĂ©vĂšle que la langue Abai Tubu-Abai Sembuak ne possĂšde pas d’entrĂ©e dĂ©diĂ©e dans la norme.

    Ainsi, lorsque l’on consulte une langue en particuliĂšre, ici le Nisvai, on voit apparaitre tous les embranchements existants associĂ©s Ă  cette langue :

    La langue Nisvai dans le Glottolog

    Cette vue de l’arborescence associĂ©e Ă  une langue particuliĂšre rĂ©vĂšle tous les embranchements auxquels peut⁻ĂȘtre associĂ©e une langue. Et Ă  chacun de ces embranchements, si des ressources linguistiques ont Ă©tĂ© identifiĂ©es par les mainteneurs du Glottolog, celles peuvent ĂȘtre proposĂ©es. Cette fonction permet aux linguistes de trouver des ressources sur les langues proches, non pas gĂ©ographiquement (mĂȘme si en pratique c’est le plus souvent le cas), mais d’un point de vue gĂ©nĂ©alogique.

    Les autres

    Il existe d’autres initiatives pour cataloguer les langues du monde, que ce soit la liste proposĂ©e par Wikipedia, la liste de la CIA ou encore The Linguasphere Register, mais ces initiatives ne sont pas aussi pertinentes du point de vue de la documentation des langues.

    Documenter les langues

    ELAN : des schĂ©mas d’annotation flexibles

    ELAN est un des logiciels libres (GPL3) les plus utilisĂ©s par les linguistes pour annoter des enregistrements audio et vidĂ©o. Il permet d’élaborer des structures d’annotation complexes permettant ainsi de rendre compte des analyses que les linguistes souhaitent associer Ă  un enregistrement. Ces couches d’annotation sont reliĂ©es les unes aux autres par des relations logiques, avec le plus souvent une couche de rĂ©fĂ©rence indexĂ©e temporellement Ă  l’enregistrement. Les annotations les plus courantes sont une transcription, une traduction et une annotation morphologique. Mais des nombreuses autres analyses peuvent ĂȘtre incluses, que ce soit les parties du discours, les rĂ©fĂ©rences et anaphores, l'animĂ©itĂ©, mais aussi les gestes, la structuration du discours, les signes pour les sourds et malentendants.

    Extrait d’une narration prĂ©sente dans DoReCo, et vue sur les diffĂ©rentes couches d’annotation pouvant ĂȘtre associĂ©s Ă  un enregistrement.

    Dans cette capture d’écran issu d’un texte de DoReCo retravaillĂ© par l’auteur, on aperçoit un extrait de quelques secondes d’une narration nisvaie. Il s’agit d’un des modes de visualisation des annotations proposĂ©es par ELAN pour reprĂ©senter les diffĂ©rentes couches d’annotation. Certaines de ces annotations ont Ă©tĂ© rĂ©alisĂ©es Ă  la main par l’auteur, d’autres ont Ă©tĂ© retravaillĂ©es par les algorithmes mis en place par DoReCo, puis manuellement corrigĂ©s. Enfin, il y a Ă©galement des couches d’annotation de la prosodie par le biais de SLAM+.

    FLEX : gĂ©rer un projet de documentation

    FLEX est un logiciel dĂ©veloppĂ© par le SIL et dont le code source est rĂ©gie par la licence LGPL 2.1. Il est conçu davantage pour coordonner l’ensemble d’une documentation linguistique, de la gestion des textes Ă  l’élaboration d’un dictionnaire, en passant par les analyses linguistiques. En revanche, il ne gĂšre pas rĂ©ellement l’annotation d’enregistrements. De nombreux linguistes l’utilisent en complĂ©ment d’ELAN.

    Si le logiciel est prometteur sur le papier, Ă  chaque fois que je l’ai essayĂ©, j’ai Ă©tĂ© rebutĂ© par son cĂŽtĂ© usine Ă  gaz, et surtout ses nombreux plantages notamment lorsqu’on essaie de gĂ©rer des fichiers multimĂ©dia avec. Et il en est de mĂȘme pour les autres logiciels dĂ©veloppĂ© par le SIL, tel que SayMore pour gĂ©rer les mĂ©tadonnĂ©es des enregistrements, WeSay pour faire des dictionnaires en collaboration avec les locuteurs et locutrices, Ă  chaque fois que je les ai essayĂ©s, enthousiasmĂ© par leurs fonctionnalitĂ©s, j’ai Ă©tĂ© déçu par le fait qu’ils ne fonctionnaient pas correctement sur mon ordinateur.

    Aperçu de Flex

    Cette capture d’écran illustre un des modes de saisie de FLEX, ici la vue tabulaire du lexique, qui permet de rentrer et gĂ©rer les dĂ©finitions des lexĂšmes (les entrĂ©es du dictionnaire) de maniĂšre assez rapide. On aperçoit dans la partie en haut Ă  gauche les autres modes d’édition du lexique, et en dessous les autres catĂ©gories liĂ©es Ă  la gestion d’un projet de documentation : Texts & Words, Grammar, Notebook et Lists. C’est Ă  travers la catĂ©gorie Texts & Words que l’on peut par exemple importer des textes transcrits, voire des fichiers ELAN pour peupler la base de donnĂ©es lexicales. Grammar permet de dĂ©crire les paradigmes grammaticaux, FLEX propose d’ailleurs quelques algorithmes qui aident Ă  la construction des paradigmes grammaticaux. Notebook et Lists servent Ă  la gestion du projet, le premier pour prendre des notes diverses, et le second pour crĂ©er des listes, en particulier des tĂąches encore Ă  rĂ©aliser.

    Et il y en a bien d’autres encore

    Il existe de nombreux autres logiciels similaires, tels qu’EXmaralda pour l’annotation des enregistrements (surtout utilisĂ© en Allemagne Ă  ma connaissance), Sonal (non libre, et dont le dĂ©veloppement semble arrĂȘtĂ©) qui est utilisĂ© par les sociologues et les anthropologues pour une annotation thĂ©matique de leurs entretiens, Anvil, qui semble intĂ©ressant mais que je n’ai jamais rĂ©ellement vu utilisĂ©, ou enfin le vieux Transcriber qui lui Ă©tait encore employĂ© par certains projets il y a quelques annĂ©es. Rentrer dans le dĂ©tail de tous ces logiciels dĂ©passerait le cadre d’une dĂ©pĂȘche comme celle-ci, mais Ă©numĂ©rer la diversitĂ© logicielle montre qu’il s’agit d’un secteur un minimum dynamique, d’ailleurs la question de la transcription et de l’annotation des enregistrements ne se limite pas du tout qu’au domaine de la documentation des langues du monde.

    L’archivage et la compilation de corpus

    Afin de conserver et partager les corpus et donnée enregistrées par les linguistes, chercheurs voire simplement les personnes ayant documenté une langue, il existe des archives, le plus souvent en ligne. Il y a en France par exemple Pangloss, géré par le LACITO, dédié aux langues orales, ou ORTOLANG, plus générique, pour les corpus de langue. En Océanie, il y a Paradisec. Il y a aussi ELAR, autrefois à Londres, et qui a déménagé récemment à Berlin récemment.

    Ces archives proposent diverses interfaces pour dĂ©poser, gĂ©rer et parfois mĂȘme consulter les enregistrements et les annotations rĂ©alisĂ©s par les linguistes et leurs collaborateurs·e·s. À noter que pour ces archives, Ortolang dĂ©crit son architecture logicielle qui repose sur des briques ouvertes, en revanche concernant Paradisec et Pangloss, bien que leur statuts soient sĂ»rement similaires du fait de la dĂ©marche gĂ©nĂ©rale de ses ingĂ©nieurs, je n’ai pas trouvĂ© de liens vers les logiciels employĂ©s. Quant Ă  ELAR, le logiciel utilisĂ© est Preservica, une solution propriĂ©taire qui, quand on a le malheur de devoir l’utiliser, fonctionne bien lentement.

    La compilation de corpus, si elle se rapproche de l’archivage en ce qu’il s’agit Ă©galement de recueillir, conserver et publier les corpus des linguistes, correspond Ă©galement Ă  une Ă©dition particuliĂšre de ces corpus. La compilation de corpus est rĂ©alisĂ© Ă  travers la mise en place de processus de qualitĂ©, d’annotations et de conventions particuliĂšres. Les deux compilations de corpus prĂ©sentĂ©es ici sont des compilations de corpus de documentation de langues orales. Les enregistrements ont Ă©tĂ© systĂ©matiquement annotĂ©s en utilisant une convention nommĂ©e les gloses interlinaires (le nom fait en fait rĂ©fĂ©rence Ă  la pratique ancienne d’insĂ©rer des explications entre les lignes d’un texte. En pratique aujourd’hui, ce n’est plus vraiment ce que font les linguistes, puisque le travail est informatisĂ© et les annotations ne sont plus entre les lignes, mais, le terme a cependant Ă©tĂ© conservĂ©).

    DoReCo

    DoReCo est une compilation de 52 corpus en accĂšs ouvert (NdR : auquelle l’auteur a contribuĂ©). La compilation a nĂ©cessitĂ© la mise en place de processus de qualitĂ© afin d’assurer la cohĂ©rence de l’ensemble et de fournir un certain nombre de garanties quant aux qualitĂ©s du corpus.

    Les langues dans DoReCo

    Une premiĂšre qualitĂ©, et l’une des originalitĂ©s de DoReCo, est de proposer un alignement temporel est trĂšs fin. La durĂ©e de chaque phonĂšme, de chaque morphĂšmes, de chaque mot (ici suivant la dĂ©finition de la personne Ă  l’origine du corpus, car la dĂ©finition d’un mot n’a rien d’une Ă©vidence) et enfin de chaque groupe de souffle est fournie. Une deuxiĂšme qualitĂ© a Ă©tĂ© de s’assurer que pour l’ensemble des retranscriptions, chacun des termes et des morphĂšmes possĂšde une glose, c’est-Ă -dire qu’ils possĂšdent une explication linguistique.

    La compilation totalise une centaine d’heures d’enregistrements audio, en grande majoritĂ© des narrations monologiques. À noter que les corpus de la compilation sont accĂšs ouvert, via une licence Creative Commons, mais que les droits d’utilisation varient d’un corpus Ă  l’autre. Les donnĂ©es sont accessibles aux formats d’ELAN : .eaf, de Praat : . TextGrid, TEI.xml, et.csv.

    Multi-CAST

    Multi-CAST est Ă©galement une compilation de 18 corpus de documentation de langues diffĂ©rentes. Les textes annotĂ©s via le logiciel ELAN. Contrairement Ă  DoReCo, l’alignement temporel des annotations n’est pas rĂ©alisĂ© de maniĂšre prĂ©cise, mais manuellement, par les personnes Ă  l’origine du corpus, Ă  l’échelle de l’énoncĂ©. Les textes sont Ă©galement en grande majoritĂ© des narrations monologiques. L’originalitĂ© de cette compilation de corpus vient du fait que les textes contiennent trois couches d’annotation particuliĂšres : GRAID, Grammatical Relations and Animacy in Discourse, (voir), puis RefIND et ISNRef (Referent Indexing in Natural Language Discourse, voir Schiborr et al. 2018).

    La page d’accueil de Multi-Cast

    Cette compilation de corpus est aussi disponible dans plusieurs formats. XML Ă©videmment, puisque c’est le format natif d’ELAN, mais aussi TSV et il existe Ă©galement un paquet pour R. Tout cela est disponible via la licence CC-BY 4.0.

    Conclusion

    J’espĂšre que vous avez apprĂ©ciĂ© cette introduction Ă  la documentation des langues Ă  travers les logiciels libres. L’idĂ©e est surtout d’attiser la curiositĂ©, car il reste Ă©videmment encore de nombreux aspects ou points Ă  discuter et Ă  approfondir. La prochaine fois que j’aborderai le thĂšme de la documentation linguistique ici, j’espĂšre que ça sera pour prĂ©senter mon application basĂ©e sur Django pour faire de la lexicographie.

    Il y a Ă©galement un autre sujet sur lequel j’aimerais bien Ă©changer ici prochainement : la question des licences des donnĂ©es collectĂ©s et la nĂ©gociation lorsque l’on travaille avec des personnes Ă  tradition orale. Si ouvrir l’accĂšs aux donnĂ©es de recherche et aux corpus peut sembler ĂȘtre une Ă©vidence pour certains, il ne faut pas oublier que souvent, les chercheurs et chercheuses de terrain collectent des informations personnelles, que la connaissance n’est pas forcĂ©ment considĂ©rĂ©e comme un bien public et les enregistrements, notamment les narrations, qui ne sont pas forcĂ©ment perçues comme des fictions, sont souvent couverts par des droits locaux. Enfin, ouvrir ses donnĂ©es de recherche, si c’est permettre Ă  d’autres de rĂ©utiliser ses donnĂ©es, requiert beaucoup de travail de la part des linguistes, c’est une tĂąche longue, ingrate et surtout peu valorisĂ©e. Alors qu’il est de plus en plus prĂ©caire d’ĂȘtre chercheur en sciences humaines, il est aussi difficile de demander Ă  ces chercheurs et chercheuses de consacrer une grande partie de leur temps Ă  des tĂąches qui ne leur permettront pas de se constituer un CV, nĂ©cessaire si l’on souhaite avoir un poste stable (c’est-Ă -dire plus de deux ans).

    Label sans IA : ce texte a Ă©tĂ© rĂ©digĂ© sans aucun aide de la part d’une LLM.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Degate : espionner un CPU depuis les waters

    Degate est un logiciel libre pour faire de l'ingénierie inverse sur les processeurs.

    Pour le présenter, Dorian Bachelot, mainteneur du projet, a accepté de répondre à nos questions.

    Logo Degate

    Sommaire

    Présentation

    Entretien avec Dorian Bachelot

    Présentation

    Qui ĂȘtes-vous ? Quel est votre parcours ?

    C’est sĂ»rement trĂšs « bateau Â», mais comme beaucoup je suis avant tout un passionnĂ© d’informatique et d’électronique. J’ai commencĂ© Ă  programmer dans mes annĂ©es collĂšge (dĂ©but des annĂ©es 2010) et suis rapidement arrivĂ© Ă  dĂ©couvrir Linux ainsi que d’autres galaxies (C++, git, virtualisation, reverse engineering
). Par la suite j’ai eu la chance de rĂ©aliser un diplĂŽme d’ingĂ©nieur Ă  l’ESIEA (Ă©cole d’ingĂ©nieur gĂ©nĂ©raliste sur Laval) qui m’a permis de dĂ©couvrir de nombreux domaines comme l’électronique embarquĂ©e, la cybersĂ©curitĂ© et l’intelligence artificielle. Comme beaucoup, j’ai un faible pour les domaines complexes et devoir me limiter Ă  une seule spĂ©cialitĂ© pour mes Ă©tudes ne m’allait pas trop. C’est sur ce dernier point que dĂ©marre l’aventure Degate au cĂŽtĂ© du laboratoire de recherche en cybersĂ©curitĂ© de mon Ă©cole. Cette derniĂšre proposait en effet un format « espoir recherche Â» permettant de creuser un sujet de recherche en plus des cours. Mon sujet a justement portĂ© sur Degate, puisque comme nous allons le voir la rĂ©tro-ingĂ©nierie matĂ©rielle a l’avantage de toucher autant Ă  l’électronique, qu’à la physique, la cybersĂ©curitĂ© et l’intelligence artificielle !

    Quant Ă  aujourd’hui, aprĂšs avoir travaillĂ© sur le sujet de la rĂ©tro-ingĂ©nierie matĂ©rielle pendant presque 3 ans (en publiant 5 articles dans Hackable et en travaillant sur Degate) et avoir obtenu mon diplĂŽme, je suis Tech Lead R&D Cyber/IA chez Neverhack (on vient de lever 100 millions d’euros). J’ai pu en effet garder une dualitĂ© de spĂ©cialitĂ©, Ă  travers la cybersĂ©curitĂ© et l’intelligence artificielle, principalement grĂące Ă  cette aventure d’espoir recherche (et donc en partie de Degate) 1.

    Est-ce que vous ĂȘtes parent de Roselyne ?

    Et non, du tout, mais bien vu ;)

    Qu’est-ce que Degate ?

    En une phrase : Degate est un logiciel open source (GPL-3.0) et multiplateforme aidant ses utilisateurs à effectuer de la rétro-ingénierie sur des puces de silicium 2.

    Maintenant, pour donner un peu de contexte, le dĂ©veloppement de Degate a commencĂ© dĂšs 2008 avec la thĂšse de master de Martin Schobert 3. Jusqu’à la fin de cette derniĂšre en 2011, Martin a pu faire Ă©voluer la solution et collaborer avec d’autres chercheurs pour l’utiliser sur des sujets de cybersĂ©curitĂ©. Par exemple, Degate a pu ĂȘtre utilisĂ© 4 pour aider Ă  la rĂ©tro-ingĂ©nierie de la puce RFID MIFARE Classic de NXP (le dĂ©veloppement de Degate a d’ailleurs pour source ce cas prĂ©cis). Par la suite, les chercheurs Karsten Nohl et Starbug ont pu trouver une faille cryptographique dans la puce permettant d’outrepasser toutes les sĂ©curitĂ©s (on parle ici d’un impact Ă©conomique Ă©norme pour NXP) 5.

    Degate est donc un logiciel avec une histoire riche de plus de 10 ans, qui a dĂ©jĂ  permis d’avoir un impact dans l’industrie (et, suite au cas MIFARE Classic, dans la sociĂ©tĂ©). Il est aujourd’hui le seul bastion permettant Ă  n’importe qui (ou presque) d’effectuer de la rĂ©tro-ingĂ©nierie matĂ©rielle sur des puces.

    Pourquoi dis-tu que c’est le seul bastion ?

    On peut voir ça sous diffĂ©rents angles, mais je parle d’unique bastion car Degate est le seul logiciel disponible Ă  la fois gratuit, accessible (traduction de l’interface, documentation, etc.) et extensible (car open source). Or, les alternatives payantes sont gĂ©nĂ©ralement vendues sous conditions et donc difficilement accessibles. Seulement, comme je l’ai expliquĂ© (modulo une dĂ©formation par mon parcours), la sĂ©curitĂ© d’aujourd’hui passe, pour moi, forcĂ©ment par une utilisation de la rĂ©tro-ingĂ©nierie matĂ©rielle beaucoup plus massive pour valider tout matĂ©riel critique. Et Degate n’est pas qu’un logiciel (surtout Ă  sa crĂ©ation en 2008, c’était plus un outil ou un dĂ©monstrateur), c’est aussi une preuve d’importance (MIFARE Classic) et des ressources en ligne (wiki, articles, thĂšse, etc.). Il ne faut pas seulement voir le logiciel (avec ses dĂ©fauts), mais plutĂŽt l’approche : essayer de rendre plus accessible la rĂ©tro-ingĂ©nierie matĂ©rielle. Je ne clame pas que Degate rĂ©ussit Ă  remplir cette vision, mais je crois que nous sommes quasiment les seuls Ă  essayer depuis maintenant plus de 10 ans (outre les projets visant Ă  « rĂ©tro-ingĂ©nierier Â» certaines puces en particulier, sans prendre le prisme de la sĂ©curitĂ© et de l’accessibilitĂ©).

    Comment ça fonctionne ?

    Avant tout il faut comprendre les contraintes et mĂ©thodes permettant d’effectuer de la rĂ©tro-ingĂ©nierie sur un objet aussi petit et complexe qu’une puce de silicium. Quand on parle d’une puce, on parle d’un agencement de milliards de transistors sur quelques millimĂštres et de leurs liens rĂ©partis sur plusieurs couches. La premiĂšre Ă©tape est alors de dĂ©finir un objectif, pouvant ĂȘtre la reconstruction d’un algorithme implĂ©mentĂ© matĂ©riellement (et donc dans une zone rĂ©duite de la puce) ou encore la reconstitution complĂšte du fonctionnement de la puce, par exemple pour construire un simulateur. Ensuite, il faut rĂ©ussir Ă  rĂ©cupĂ©rer des images de la puce et de toutes ses couches (images en 2D ou 3D, un de mes articles dans Hackable aborde le sujet 6). Toutes les mĂ©thodes permettant d’obtenir ces images impliquent un processus destructeur pour la puce. Cela passe par exemple par un processus de polissage itĂ©ratif et la prise de photographies (attention, on parle d’un exercice trĂšs complexe puisqu’une couche de silicium c’est extrĂȘmement fin, et trop polir implique de devoir recommencer sur une nouvelle puce). On peut aussi prendre une approche chimique (utilisation d’acide pour attaquer couche par couche) ou laser. Sans dĂ©velopper beaucoup plus, ce processus est le plus important, car c’est avec ces photos trĂšs hautes rĂ©solutions que l’on va pouvoir dĂ©buter l’analyse de la puce.

    C’est lĂ  que Degate rentre en jeu, son objectif est de permettre d’utiliser les images obtenues, de les importer dans le logiciel (on parle gĂ©nĂ©ralement d’images de plusieurs Giga, voire Tera, tellement la rĂ©solution et leur taille sont grandes) puis de commencer l’analyse. Ensuite, l’utilisateur peut analyser les parties de la puce en partant de la couche la plus basse, celle avec les transistors, et ainsi reconstruire les portes logiques (c’est ici que des connaissances en physique et en Ă©lectronique sont importantes, il faut savoir lire Ă  travers les transistors !). Comme vous vous en doutez, effectuer l’analyse de chaque transistor quand il peut y en avoir des milliards serait trop fastidieux, et Degate facilite le processus. Ce dernier propose en effet de construire une bibliothĂšque de portes logiques reconstituĂ©e depuis une zone de l’image de la puce, et puisque l’agencement des transistors ne change pas pour chaque porte logique, on peut alors automatiser la recherche et reconstitution de ces portes via des algorithmes de reconnaissance d’images. Il ne reste alors Ă  l’utilisateur qu’à analyser les connexions entre les portes logiques toujours grĂące aux images de la puce (couches supĂ©rieures, les liaisons entre couches sont appelĂ©es des « Via Â») et ainsi reconstituer les algorithmes utilisĂ©s par la puce. Degate permet lĂ  encore d’automatiser une partie du processus en aidant Ă  la reconnaissance des connexions et en proposant d’exporter toute l’analyse dans un langage type VHDL (permettant de simuler le fonctionnement de la puce, si l’analyse a Ă©tĂ© rĂ©ussie).

    Degate ne permet donc pas d’automatiser tout le processus de rĂ©tro-ingĂ©nierie, et une expertise humaine reste nĂ©cessaire (dĂ©capage de la puce, prise des photos, analyses des portes logiques puis des connexions), mais il permet de gagner un temps non nĂ©gligeable sur l’analyse en automatisant plusieurs Ă©tapes. Pour cela, Degate implĂ©mente des algorithmes de reconnaissances d’images, supporte l’importation d’images extrĂȘmement grandes (plusieurs millions de pixels de large), vous aide dans la navigation des images et couches, vous permet d’identifier les portes logiques formĂ©es par des transistors et bien plus.

    Si le sujet vous intĂ©resse, je peux vous donner les rĂ©fĂ©rences suivantes : on peut citer Ken Shirriff qui est LA personne Ă  suivre sur le sujet (auteur de beaucoup d’analyses sur des puces historiques 7, comme la Intel 8086 ou la fameuse Z80), ou encore la communautĂ© Visual 6502 8 qui ont rĂ©tro-ingĂ©nieriĂ© plusieurs puces (en partant de simples images pour finir par la crĂ©ation de simulateurs complets) ! Vous pourrez Ă©galement explorer le super site Silicon Pr0n 9. Enfin, pour trouver une liste plus complĂšte n’hĂ©sitez pas Ă  vous rendre directement sur le dĂ©pĂŽt de Degate 10.

    Il existe des protections contre ceci ? J’imagine que certaines entreprises n’aimeraient pas qu’on fasse de la retro-ingĂ©nierie sur leur puce, il me semble que certaines puces possĂšdent un genre de grillage.

    En effet, il existe beaucoup de mĂ©thodes pour essayer de s’en protĂ©ger. On parle de deux grandes catĂ©gories : les protections passives et actives. Les protections passives peuvent par exemple prendre la forme de rĂ©sine que l’on “coule” sur les puces pour complexifier leurs rĂ©cupĂ©rations (et aussi empĂȘcher la rĂ©cupĂ©ration des rĂ©fĂ©rences), ou d’une couche directement dans le silicium pour bloquer l’analyse visuelle de surface. D’autres mĂ©thodes existent, mais gĂ©nĂ©ralement de l’huile de coude et du bon matĂ©riel permettent de passer outre. Les mĂ©thodes actives sont plus recherchĂ©es et protĂšgent contre d’autres approches de la rĂ©tro-ingĂ©nierie matĂ©rielle. Comme citĂ© dans la question, l’ajout d’un grillage actif est une solution assez rĂ©pandue dans les puces de cartes bleues par exemple. L’idĂ©e est Ă  la fois de bloquer une analyse visuelle de surface de la puce, mais aussi d’empĂȘcher le “probing” (essayer d’utiliser une sonde directement sur un “circuit” de la puce) ou la modification de la puce (par exemple en connectant deux “circuits” de la puce). Cela passe par un maillage avec des formes complexes (on peut voir ça comme un labyrinthe) alimentĂ© par un courant qui, en cas de modification du circuit, peut rendre la puce non fonctionnelle. Il est alors compliquĂ© d’aller voir et manipuler les couches infĂ©rieures en laissant la puce fonctionnelle. 11

    Est-ce que les diffĂ©rentes façons de gravure qui utilise diffĂ©rent MOSFET (CMOS, FinFET, MBCFET, FD-SOI etc) ne demandent pas des analyses diffĂ©rentes ? Est-ce que ça sera fiable avec les derniers types de gravure avec des transistors imbriquĂ©s 3D ?

    À tout problĂšme sa solution : les mĂ©thodes d’analyses 3D de puces de silicium se dĂ©veloppent Ă©galement 6. Si le matĂ©riel nĂ©cessaire pour crĂ©er les donnĂ©es 3D venait Ă  ĂȘtre plus accessible, je prĂ©vois dĂ©jĂ  l’ajout d’un mode d’analyse Ă  Degate permettant de les exploiter. Je ne doute cependant pas que les mĂ©thodes d’analyses actuelles fonctionnent pour la majoritĂ© des cas, mĂȘme si le problĂšme est dĂ©jĂ  suffisamment complexe pour ne pas rajouter ces spĂ©cificitĂ©s. Je n’ai personnellement pas pu couvrir toutes les mĂ©thodes de gravures dans mes analyses ni les nouvelles approches en 3D. Seulement, ces mĂ©thodes s’appliquent pour l’instant majoritairement Ă  la mĂ©moire, ce qui n’est pas forcĂ©ment la cible des analyses.

    Qui se sert de Degate ? Est-ce une communautĂ© de fans de consoles ou des professionnels confrontĂ©s Ă  des puces qui ne sont plus documentĂ©es ou des gens du logiciel libre, etc. ?

    DĂšs ses premiers jours, Degate a Ă©tĂ© pensĂ© pour la cybersĂ©curitĂ©. L’idĂ©e Ă©tait de pouvoir faciliter l’analyse d’algorithmes implĂ©mentĂ©s directement dans les puces de silicium, Ă  la fois pour essayer d’identifier des failles, mais aussi pour vĂ©rifier la prĂ©sence de portes dĂ©robĂ©es. En effet, d’un point de vue sĂ©curitĂ© trop peu de personnes vont voir ces puces alors que tout dĂ©pend d’elles. Comment faire confiance Ă  un systĂšme si l’on ne peut pas vĂ©rifier la sĂ©curitĂ© de son composant le plus important et bas niveau ? Permettre Ă  des chercheurs et passionnĂ©s d’attaquer le sujet est ma principale motivation quand je travaille sur Degate, le sujet est pour moi majeur. On a trop tendance Ă  s’arrĂȘter Ă  la rĂ©tro-ingĂ©nierie logicielle, et c’est malheureusement un risque que l’on oublie trop.
    Je sais aujourd’hui que Degate est utilisĂ© (ou a Ă©tĂ© Ă©tudiĂ©) par des entreprises amĂ©ricaines dans le cadre de l’analyse de puces (je ne sais pas pour quel objectif), par la police allemande et par une universitĂ©.

    Malheureusement le domaine n’encourage pas beaucoup la communication et Degate pourrait ĂȘtre utilisĂ© ailleurs. J’ai d’ailleurs de gros doutes sur son utilisation par une entreprise amĂ©ricaine sous forme de fork non-partagĂ© (ne respectant alors pas la licence GPL qui est copyleft
). Mais ça, c’est un combat classique du monde libre (pour dire, on m’avait mĂȘme proposĂ© de me payer pour travailler dessus
).

    Mais autrement, le logiciel peut ĂȘtre utilisĂ© par d’autres communautĂ©s, comme pour les fans de vieux systĂšmes. Je sais que la communautĂ© qui s’occupe de rĂ©tro-ingĂ©nierer la PlayStation s’est dĂ©jĂ  intĂ©ressĂ©e Ă  Degate 12.

    Concernant la sĂ©curitĂ©, quels types de puces sont concernĂ©es ? J’imagine qu’il ne s’agit pas d’analyser les processeurs gĂ©nĂ©ralistes de nos ordinateurs
 Ce sont des puces qu’on trouve dans quels matĂ©riels ?

    C’est trĂšs large, gĂ©nĂ©ralement on parle de puces avec des missions/parties critiques. Par exemple (comme pour le cas MIFARE Classic), des puces implĂ©mentant des algorithmes cryptographiques sont importantes Ă  regarder : au niveau logiciel on recommande (et c’est un euphĂ©misme) de ne jamais rĂ©implĂ©menter ses propres primitives cryptographiques, pourtant beaucoup de puces le font (mĂ©thode simple pour booster les performances, aujourd’hui tout utilise de la cryptographie). Maintenant, on parle gĂ©nĂ©ralement de certaines parties/fonctions d’une puce plus que des puces entiĂšres. On peut par exemple citer en plus de la cryptographie tout ce qui concerne le stockage de donnĂ©es critiques (comme les clĂ©s de chiffrement). Aujourd’hui, je pense que l’on retrouve ces fonctionnalitĂ©s dans tout type de matĂ©riel.

    Comment en ĂȘtes-vous devenu le mainteneur ?

    Comme je l’ai expliquĂ© prĂ©cĂ©demment, c’est via un programme proposĂ© par mon Ă©cole d’ingĂ©nieur que j’ai Ă©tĂ© amenĂ© Ă  travailler sur le sujet de la rĂ©tro-ingĂ©nierie matĂ©rielle Ă  partir de fin 2018. Et comme Degate Ă©tait le seul programme gratuit et open source permettant d’automatiser une partie du processus (indispensable pour arriver Ă  des rĂ©sultats sans y passer 10 ans), j’ai rapidement eu l’occasion de pouvoir l’utiliser. Malheureusement l’auteur originel du logiciel ne contribuait plus au projet depuis quasiment 8 ans Ă  l’époque, et j’ai rapidement rencontrĂ© des difficultĂ©s pour l’utiliser plus largement dans mes recherches.

    AprĂšs quelques mois de travail et un refactor Ă  70 % du projet (j’ai par exemple refait toute la GUI en Qt5 + OpenGL moderne) pour repartir sur de bonnes bases, j’ai publiĂ© mon fork sur Github. Par la suite Martin (l’auteur originel de Degate) a prĂ©fĂ©rĂ© mettre le projet initial en archive sur Github, et faire une redirection vers cette nouvelle version (aujourd’hui refaite Ă  quasiment 80 % par moi-mĂȘme). L’idĂ©e Ă©tait de garder le nom et la communautĂ© mĂȘme si la grande majoritĂ© du logiciel a Ă©tĂ© refait.

    Maintenant, suite Ă  la fin de mes Ă©tudes, je dispose de moins de temps qu’avant et je suis forcĂ©ment moins actif. Mais j’essaie de traiter toutes les issues et pull request, tout en continuant Ă  travailler sur de nouvelles fonctionnalitĂ©s. Je cherche Ă©galement Ă  faire pĂ©renniser le projet en proposant Ă  des Ă©tudiants comme moi (Ă  l’époque) un financement pour travailler sur le sujet (et surtout Degate). Reste maintenant Ă  trouver des personnes motivĂ©es, car le sujet est vraiment complexe.

    Tu n’utiliseras donc pas Degate dans le cadre de ton travail ?

    Aujourd’hui non, mais je sais que la question se pose pour des collĂšgues. Le test d’intrusion matĂ©riel se dĂ©veloppe, et le sujet se pose de plus en plus. Maintenant les compĂ©tences nĂ©cessaires pour s’attaquer Ă  la rĂ©tro-ingĂ©nierie de puces de silicium sont un frein pour descendre aussi bas, sans compter le problĂšme du matĂ©riel (faut-il encore pouvoir dĂ©caper/dĂ©stratifier les puces avant de pouvoir commencer l’analyse). La solution actuelle est de pouvoir accĂ©der au design des puces (test en white box), mais les limites sont dĂ©jĂ  visibles (un matĂ©riel est gĂ©nĂ©ralement composĂ© de nombreuses puces de constructeurs diffĂ©rents).

    Quelle est ta motivation ? Qu’est ce qui t’anime avec Degate ? Puisque tu as commencĂ© l’informatique assez jeune, tu jouais peut-ĂȘtre avec des consoles ; est-ce que Degate te permet aussi d’imaginer recrĂ©er les puces de ton enfance ?

    Étant aujourd’hui un ingĂ©nieur chercheur portĂ© sur la cybersĂ©curitĂ©, cela me force Ă  voir Degate et la rĂ©tro-ingĂ©nierie matĂ©rielle Ă  travers ce prisme. Pouvoir permettre Ă  des chercheurs d’analyser des puces utilisĂ©es dans des millions de matĂ©riels Ă  travers la planĂšte est ce qui m’anime, mĂȘme si je ne doute pas que bien d’autres cas d’utilisations peuvent ĂȘtre tout aussi intĂ©ressants. Je suis par exemple aussi trĂšs portĂ© sur l’histoire, et la rĂ©tro-ingĂ©nierie matĂ©rielle est aussi un moyen de ne pas perdre certaines piĂšces de notre histoire.

    Est-ce que vous tirez un revenu de ce travail ? Est-ce une bonne wafer ?

    Je suis actuellement financĂ© 100$/mois par le mainteneur principal de Rizin/Cutter (logiciel de rĂ©tro-ingĂ©nierie software) et j’ai dĂ©jĂ  eu plusieurs autres propositions de financement. Ayant Ă©galement publiĂ© des articles sur le sujet, j’ai quand mĂȘme pu ĂȘtre rĂ©munĂ©rĂ© pour ce travail, mais on est trĂšs loin de quelque chose me permettant de vivre (et ce n’est pas l’objectif).

    Pour finir

    Que dire sur vos autres projets ?

    Au niveau personnel je travaille (quand j’ai le temps) sur une nouvelle approche IA au service de la cybersĂ©curitĂ© dĂ©fensive. Malheureusement mon temps est trĂšs limitĂ©, et j’évite de trop m’éparpiller. Au niveau professionnel je suis aujourd’hui Tech Lead et Team Leader sur un projet d’automatisation de cybersĂ©curitĂ© offensive. L’idĂ©e Ă©tant de crĂ©er un outil entiĂšrement automatisĂ© par IA permettant de jouer des attaques avec le mĂȘme niveau de sophistication que les vrais acteurs (gĂ©nĂ©ralement quand je parle du projet on me parle de Skynet, pour ceux ayant la rĂ©fĂ©rence). Un produit devrait sortir dans les deux ans, nous avons dĂ©jĂ  fait de nombreuses avancĂ©es scientifiques mais la route est encore longue. C’est aujourd’hui ce qui occupe le plus clair de mon temps !

    Que pensez-vous de la directive NIS 2 sur la cybersĂ©curitĂ© ?

    La France a Ă©tĂ© pionniĂšre en matiĂšre de rĂ©glementation dans le domaine de la cybersĂ©curitĂ©, et je pense que la directive NIS 2 se place dans le mĂȘme esprit que ce que l’on fait dĂ©jĂ  depuis plusieurs annĂ©es (avec la LPM de 2013 par exemple). Je sais que ces rĂ©glementations peuvent aussi faire peur, et l’accompagnement sera une condition nĂ©cessaire pour rĂ©ussir son application. Malheureusement je pense qu’il est nĂ©cessaire d’agir au plus vite, les rĂ©cents Ă©vĂšnements gĂ©opolitiques ainsi que les (trĂšs) nombreuses attaques observĂ©es chaque semaine imposent d’investir dans la sĂ©curitĂ© de nos entreprises. Je pense Ă©galement que comme la NIS 1, la NIS 2 n’est qu’une Ă©tape, et que des Ă©volutions seront nĂ©cessaires dans la prochaine dĂ©cennie pour Ă©tendre les attentes concernant la sĂ©curitĂ© des entreprises europĂ©ennes.

    Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?

    J’utilise depuis maintenant quatre ans Manjaro, venant de Debian/Ubuntu, et je suis trùs satisfait (le modùle rolling release me plaüt beaucoup à l’usage).

    Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?

    Au niveau professionnel je tourne sur du Ubuntu 22.04, et j’utilise principalement du VS Code.

    Quelle est votre distribution GNU/Linux prĂ©fĂ©rĂ©e et pourquoi, quels sont vos logiciels libres prĂ©fĂ©rĂ©s ?

    Manjaro et Ubuntu sont les distributions que j’utilise dans la vie de tous les jours. Concernant les logiciels, la question est difficile puisque j’en utilise tellement. En ce moment je ne pourrais plus me passer de Joplin ou Signal, mais je pourrais en citer beaucoup (Virtual box, Kali linux, VSCode, Zotero
).

    Références

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    ❌
    ❌