Greboca  

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

DLFP - Dépêches  -  mat2 0.4.0

 -  Octobre 2018 - 

mat2 est la nouvelle itération du défunt MAT, une suite logicielle pour nettoyer les métadonnées d’une multitude de formats de fichiers.

La récente sortie de la version 0.4.0 (3 octobre 2018) est l’occasion de faire découvrir ce projet, en deuxième partie de dépêche.

Logo de mat2

Sommaire

Une bonne histoire…

Un bon article commence souvent par une bonne histoire. Notre histoire parle d’un petit malin et de sa bande, CabinCr3w, qui ont cru bon d’aller pirater des sites Internet de forces de l’ordre aux États‐Unis. Le tout, afin de laisser fuiter des informations personnelles (identité, adresses et numéros de téléphones) de policiers, mais également de défigurer le site afin de signer leurs forfaits, avec une image d’une femme ne montrant que le haut de son bikini, sous lequel on peut lire « PwNd by w0rmer & CabinCr3w <3 u BiTch’s! ».

Le souci pour nos larrons, c’est que la police a regardé les métadonnées contenues dans la photo, prise avec un iPhone, et y a trouvé des coordonnées GPS, lui permettant d’aller rendre visite au domicile de la femme et d’attraper le malandrin, qui est maintenant en prison.

Historique

La plupart des fichiers contiennent des métadonnées : images, vidéos, documents bureautiques, torrents, audio, etc., et parfois, on aimerait bien que ça ne soit pas le cas.

C’est pourquoi le projet Tails a proposé à un étudiant, dans le cadre du Google Summer of Code 2011, d’écrire un outil permettant de « nettoyer » les fichiers de leurs métadonnées. Le GSoC a été une réussite, donnant naissance au logiciel MAT, pour Metadata Anonymisation Toolkit, empaqueté dans Debian, présent dans Tails, maintenu et utilisé… jusqu’en octobre 2016, où il a été annoncé la fin de sa maintenance.

Mais en juin 2018 est apparu mat2, le sujet de cet article !

mat2 ?

Écrit en Python 3, utilisant des outils d’analyse statique comme mypy et pylint, et avec une couverture de tests unitaires de 100 %, mat2 est résolument mieux codé et plus robuste que son ancêtre. Tout comme lui, il est disponible sous licence LGPL v3, prend en charge un grand nombre de formats de fichiers (audio, vidéo, bureautique, images, torrent…) et s’échine à en ôter un maximum de métadonnées.

Le format PDF

Par exemple, prenons le format PDF. Avec ses spécifications à rallonge, c’est une horreur à gérer : il est possible d’y embarquer du JavaScript, des images, des vidéos, des rendus 3D, de compresser les données, d’en chiffrer d’autres… C’est pour ça que mat2 utilise Cairo et Poppler, afin d’effectuer un rendu, page par page, du fichier PDF, sur une surface PNG, pour ensuite rassembler le tout, dans un nouveau fichier. Ainsi, plus aucune métadonnée ne sera présente dans le fichier de sortie. Le côté négatif, c’est qu’il n’est plus possible de sélectionner du texte, le PDF étant maintenant composé d’images. Mais mat2 fournit un mode de nettoyage plus léger, pouvant laisser des métadonnées, mais permettant de sélectionner du texte.

Le format OOXML

Un autre exemple serait le format Office Open XML de Microsoft, qui est également un enfer à part entière : bien qu’il y ait le terme Open dedans, personne (pas même Microsoft, dans sa suite Office) ne l’implémente dans sa version stricte. Il s’agit d’un gros tas de fichiers XML, entassés dans une archive ZIP, avec plein de balises, d’attributs, de paramètres, de fichiers, et d’options dans tous les sens, pouvant embarquer une quantité invraisemblable de formats de fichier différents : images, audio, vidéo, polices…

Dans ce cas‐ci, mat2 ne peut pas tricher en demandant à une bibliothèque de faire le rendu pour lui, donc, tout est géré à la main :

  • certains fichiers sont supprimés de manière systématique, comme par exemple word/people.xml ;
  • certains attributs et balises, comme les rsid, sont supprimés ;
  • les attributs XML sont ordonnés lexicographiquement, car les différents outils permettant de consulter des OOXML (MS Office, Abiword, LibreOffice, OpenOffice…) ont tendance à les écrire dans un ordre bien spécifique ;
  • les fichiers sont eux aussi ordonnés lexicographiquement dans l’archive ZIP, pour la même raison que ci‐dessus ;
  • certains fichiers sont conservés ou supprimés suivant leur type MIME interne, comme défini dans un des fichiers de l’archive faisant office de dictionnaire ;
  • les révisions sont supprimées ;
  • les métadonnées propres au format ZIP sont également supprimées ;
  • certains fichiers ne peuvent pas être supprimés, et doivent contenir du XML valide, pour éviter que la suite Office de Microsoft n’affiche un avertissement lors de l’ouverture du document, ils sont donc réécrits pour ne contenir que le strict minimum.

Le reste

Les fichiers torrents utilisent le format Bencode, pour lequel il est plus facile d’écrire son propre analyseur XML plutôt que d’en utiliser un déjà disponible en Python 3. Les fichiers audio sont gérés par la ô combien formidable bibliothèque mutagen, et les images via GDK-PixBuf.

Interface utilisateur

Pour les personnes habituées à la ligne de commande, mat2 propose… une interface en ligne de commande. Mais mat2 est avant tout écrit pour les « gens normaux ». Après le succès mitigé des multiples réécritures d’interfaces graphiques pour la première itération de mat (les seules personnes en ayant dit du bien étaient des personnes malvoyantes), mat2 propose une extension à Fichiers (anciennement Nautilus), le gestionnaire de fichiers du projet GNOME : il suffit maintenant d’un simple clic droit, puis nettoyer, pour supprimer les métadonnées des fichiers sélectionnés !

Exemple d’utilisation de l’extension pour Nautilus

La suite ?

Pour la suite, il est probable que d’autres gestionnaires de fichiers bénéficient d’une extension, et que d’autres formats de fichiers soient ajoutés, comme les vidéos ou encore les archives. Les formats de fichiers sont également régulièrement passés au crible, afin de voir s’il subsiste des métadonnées.

Commentaires : voir le flux atom ouvrir dans le navigateur

par jvoisin, Nils Ratusznik, palm123, ZeroHeure, Davy Defaud, Trollnad Dump

DLFP - Dépêches

LinuxFr.org

Codeberg, la forge en devenir pour les projets libres ?

 -  25 avril - 

Face aux risques que fait peser GitHub sur le monde des logiciels libres suite à son rachat par Microsoft en 2018, une alternative semble avoir (...)


L’informatique sans écran

 -  21 avril - 

Lors d’un Noël de ma tendre jeunesse pré-adolescente est arrivé un « ordinateur » dans le foyer. Ce PC (Intel 386) a été installé dans le bureau et a (...)


Entretien avec GValiente à propos de Butano

 -  16 avril - 

GValiente développe un SDK pour créer des jeux pour la console Game Boy Advance : Butano.Cet entretien revient sur son parcours et les raisons (...)


Nouveautés d'avril 2024 de la communauté Scenari

 -  11 avril - 

Scenari est un ensemble de logiciels open source dédiés à la production collaborative, publication et diffusion de documents multi-support. Vous (...)


Annuaire de projets libres (mais pas de logiciels)

 -  9 avril - 

Les communs sont une source énorme de partage !S’il est plutôt facile dans le monde francophone de trouver des ressources logicielles (Merci (...)