DoBuKe : une clef USB amorçable orientée données

Posté par (page perso) . Édité par Davy Defaud, Xavier Teyssier, palm123, BAud et Yvan Munoz. Modéré par Xavier Teyssier. Licence CC by-sa
27
23
jan.
2018
Distribution

DoBuKe est une clef USB amorçable, basée sur Xubuntu, orientée données. Elle contient une grande quantité d’outils utiles au la récupération (scraping), au nettoyage et à l’enrichissement de données, à la datavisualisation et à la recherche en sources ouvertes (OSINT).

Ce projet est parti d’un constat de formateur : dans la plupart des lieux où j’enseigne, les machines sont gérées par un administrateur qui voit souvent d’un mauvais œil l’installation de logiciels non prévus à son palier technique.
Parfois, il n’y a aucune machine dédiée à la formation, et les stagiaires viennent alors avec leur machine personnelle. Dans ce cas, le formateur doit gérer une situation complexe, avec un parc hétérogène : système d’exploitation, mais aussi version logicielle. Et travailler avec des machines virtuelles (VM) n’est pas toujours possible.
Enfin, il peut arriver de vouloir traiter un jeu de données en mobilité ou en vacances, depuis une machine qui ne nous appartient pas (le PC de maman ou un cybercafé…) et réinstaller rapidement son environnement de travail peut s’avérer très compliqué et contre‐productif.
C’est là qu’intervient DoBuKe.

DoBuKe : distribution GNU/Linux amorçable sur clef USB orientée données

Comment est créée DoBuKe

L’idée de base de DoBuKe était de créer une « machine idéale » ex‐abrupto dans une machine virtuelle, puis de la transformer en une clef USB amorçable. Pour cela, on utilise on utilise une distribution Xubuntu à jour (17.10, à la date de rédaction de cette dépêche), sur laquelle on applique un script de téléchargement (script Bash) et d’installation des paquets et des logiciels, puis on exporte cette machine au format ISO, à l’aide de Pinguy Builder.
Pourquoi ce choix ? Tout simplement parce que plusieurs outils présents dans DoBuKe ne sont pas des paquets .deb, mais parfois des exécutables Java ou encore des outils utilisant Node.js et nécessitant une compilation en amont.
Pinguy Builder permet, sous certaines conditions, de transformer votre machine de rêve en ISO prête à amorcer.

La clef est générée à l’aide d’UNetbootin (sous macOS et GNU/Linux) ou LiLi (sous Windows) avec une partition persistante, pour conserver ses données personnelles.
Il est également possible d’utiliser DoBuKe comme base de machine virtuelle dans VirtualBox ou QEMU. Enfin, DoBuKe est installable sur une machine en dur, une option du démarrage permet cette utilisation.

Ça ressemble à quoi, DoBuKe ?

L’interface de DoBuKe
Le public pour lequel est destinée DoBuKe n’est pas forcément un public de geeks ou de férus d’informatique. Il semblait important de garder une esthétique proche de celle d’un Mac ou d’un PC, pour ne pas perdre l’utilisateur en route.
Un dock, des icônes facilement identifiables, un fond d’écran connu… Tout est fait pour rendre l’outil rapide à prendre en main, sans sacrifier à l’esthétique.
L’utilisation de Plank et Compton vient compléter et enjoliver Xfce 4, retenu pour son empreinte légère en mémoire vive.
DoBuKe tourne facilement sur un Core 2 Duo, avec 4 Gio de mémoire vive. Bien sûr, si vous disposez d’une machine plus puissante, c’est encore mieux. Elle est amorçable sur un PC mais également sur un Mac.

Qu’y a‐t‐il sous le capot de DoBuKe ?

Les outils de DoBuke cherchent à couvrir l’essentiel d’un data‐workflow : acquisition (scraping), nettoyage et enrichissement (datacleansing), visualisation (cartographie, schémas), mais aussi post‐production (édition de SVG).

Acquisition

R, Python, et Selenium (geckodriver) pour « scraper » les données. R est livré avec Rstudio, son EDI, mais également ses paquets les plus courants : Tidyverse, lubridate, Rvest, notamment. Pour Python, outre certains paquets préinstallés, on retrouve également mini-conda, un framework permettant d’y installer facilement plein d’autres outils. Enfin, pour extraire des données tabulaires depuis des PDF, Tabula est préinstallé.

Nettoyage et enrichissement des données

À côté de Rstudio, qui se voit doté de ses principaux paquets pour cette tâche et, bien évidemment, Python, on trouve OpenRefine et des greffons très utiles : Vib-bits (tableau croisé dynamique) et jointure de tables et refinestats.
Csvkit et data-tools vous permettront en ligne de commande de manipuler et convertir des fichiers CSV.

Visualisation de données

Qgis et Gephi (et ses greffons) sont évidemment de la partie. Mais DoBuKe intègre également Khartis 2.0, la très belle application de création de cartes de l’atelier de cartographie de Sciences Po. Enfin, Raw, en local, permet de prototyper très rapidement une dataviz sans transmettre de données confidentielles en ligne.

Bases de données

Difficile de faire l’impasse sur les bases de données. DoBuKe ouvre un espace à Apache Drill, qui permet de facilement effectuer des requêtes en SQL sur du NoSQL (du CSV par exemple…), mais également à MySQL Workbench.

Chiffrement et transmission de données

Enfin, et parce qu’on a finalement toujours besoin de transmettre et d’échanger des données, Veracrypt s’occupera à merveille de l’espace de stockage persistant de la clef USB, tandis que Magic-wormhole vous permettra de transférer des fichiers aisément d’une machine à une autre.

Cette liste d’outils n’est pas exhaustive ! On y trouve également LibreOffice et VLC, par exemple. Il reste un petit gigaoctet d’espace disque sur DoBuKe et cette liste va encore s’enrichir, au gré des besoins, des trouvailles et des suggestions.

Vous voulez aider DoBuKe ? C’est possible !

DoBuKe est empaquetée sur mon temps libre et le moins que l’on puisse dire, c’est que je n’y connais pas grand’chose, en création d’outils ! Le script Bash qui installe les paquets est totalement séquentiel et n’est absolument pas optimisé : on pourrait sans doute paralléliser par exemple l’installation des fichiers .deb et la compilation des fichiers .npm. Le paramétrage de Xfce en ligne de commande peut lui aussi être largement amélioré…

Le site Internet est très moche, pas bilingue, alors même que DoBuke pourrait largement être utilisée à l’étranger, et intéressera sans doute des « datajournalistes » ailleurs qu’en francophonie.

  • # Même pas peur...

    Posté par . Évalué à 1 (+2/-2).

    …de piquer le fond d'écran de Mac OS Sierra…

    • [^] # Re:

      Posté par . Évalué à -2 (+1/-3).

      Quitte à faciliter l'accès avec une interface qui a marqué des générations d'adultes prend plutôt celle de Windows 7, XP, à la rigueur.

      C'est une distro plus orienté data scientist que BI/décisionnel si je comprends bien ?

      • [^] # Re:

        Posté par (page perso) . Évalué à 3 (+3/-1).

        Data scientist est peut-être un peu too much, mais oui, c'est plus le public.
        Des enquêteurs, les journalistes… des gens qui manipulent des données au quotidien, en somme.

        Requêter sur le fichier SIRENE, par exemple, qui est un gros csv de millions de lignes et plusieurs dizaines de colonnes depuis le passage à l'opendata, peut se faire avec Python ou R, mais aussi avec Drill, sur cette clef.

        Pour le fond d'écran, il vient de là: git clone https://github.com/B00merang-Project/macOS-Sierra.git
        Pour l'instant, c'est un peu le cadet de mon souci. Mais je note la remarque. Je mettrai des clichés perso pour le prochaine version.

        • [^] # Re:

          Posté par . Évalué à 2 (+2/-0).

          Ok, merci pour les précisions.

          HS: mais c'est que ça moinsse sur ce thread :o

  • # retour vers le futur...

    Posté par . Évalué à -10 (+1/-11).

    heu … ça fait 15ans que j'ai ça dans la poche…
    une grosse clé bootable, une partittion .debian., une partition framakey et une dernière data chiffrée que les 2 1ere utilisent avec un script de sync avant chiffrement…et j'ai aussi les profil de FF et TB sur data…et je peux vous dire que ça dépote depuis l'USB 3.0 …
    bref présenter ça comme une innovation me parait un peu … has been!

    • [^] # Re: retour vers le futur...

      Posté par (page perso) . Évalué à 10 (+9/-0).

      La clef USB bootable n'est pas une innovation. J'en utilise en forensic depuis des années également.
      Par contre, aucune n'était pré-packagée avec des outils "traitement de données".

    • [^] # Re: retour vers le futur...

      Posté par (page perso) . Évalué à 8 (+7/-0).

      Pas d’accord du tout.

      J’ai également ce type de clef depuis bien longtemps. Mais là, on peut saluer le pragmatisme et l’astuce de l’auteur, pour avoir trouvé un processus de création du média adapté aux contraintes des logiciels installés. La démarche est efficace et semble bien ciblée, avec :

      • un vrai besoin (je connais un formateur qui rêverais d’utiliser ça !) ;
      • un résultat bien pensé, notamment sur l’ergonomie, qui a l’air bien équilibrée, entre modernisme et économie des ressources.

      Bravo !

    • [^] # Re: retour vers le futur...

      Posté par . Évalué à 5 (+4/-0).

      Comment peut on passer à côté du sujet présenté à ce point ?
      Il n'est pas question de "clef bootable" chiffrée: il est clairement (de ma compréhension) question de rassembler l'ensemble des outils actuels relatifs aux traitements de données.

      Je ne suis pas concerné par la formation, cependant intéressé par le sujet de traitement des données je trouve l'idée vraiment bonne car l'auteur ayant déjà exploré les besoins, j'en ait découvert pleins qui me seront utiles.

      Donc pour moi: quelque chose d'utile car pratique

  • # Saisie de données ?

    Posté par . Évalué à 3 (+2/-0).

    Bonjour,

    Cela semble intéressant et m'a déjà fait connaître des logiciels…
    Puisque j'ai sous la main, semble-t-il, des spécialistes des données, auriez-vous connaissance de logiciels d'aide à la saisie de données (de génération de masque de saisie de données, avec vérification de types, valeurs autorisés, listes de valeurs possibles, etc…) qui ne soit pas un clicodrôme ou une usine à gaz?

    Merci !

    • [^] # Re: Saisie de données ?

      Posté par (page perso) . Évalué à 5 (+4/-0).

      Bonjour,

      De ce que je comprends de ta demande, plusieurs options en fonction de ce que tu cherches précisément :

      • Des choses pour LibreOffice comme celle-ci.
      • Kexi l'outil de base de données (bdd) de KDE
      • Du CRUD en python avec une petite bdd sqlite.
      • Du CRUD en php : Grocery CRUD

      Ce n'est pas libre, mais pour faire ça à #LeTravail à la CoGip, j'utilise appgini, qui me permet d'administrer facilement un formulaire, une bdd avec une interface sympa.

      • [^] # Re: Saisie de données ?

        Posté par . Évalué à 5 (+3/-0). Dernière modification le 25/01/18 à 10:31.

        C'est une remarque générale que je me suis faite il y'a quelque jour en cherchant un thème plymouth pour remplace celui par défaut de ma distrib, il semble que dans le monde du themeing, même libre, les gens ne semblent avoir que faire du copyright et des licences. Les logos sont repris tels quels, parfois des images entières., c'est le bronx.

        C'est très perturbant. Après comment demander à des grandes entreprises de respecter les licences libres si les sites comme kde-look, gnome-lookk, opendesktop et autres ne font pas le ménage dans les thèmes proposés?

        Alors dans ce cas précis je n'ai aucune idée d'où provient l'image, si c'est la même ou pas que celle de MacOSX, ni quelle est sa licence donc je ne vais t'accuser de rien mais si je devais publier quelque chose comme cela je ne m'appuierait pas sur des thèmes trouvé au bonheur la chance et irait chercher directement des photos chez son auteur pour en connaitre la source et la licence exacte.

  • # Reboot de machine qui prennent en charge le démarrage USB ?

    Posté par (page perso) . Évalué à 4 (+3/-0).

    Hello,

    je ne sais pas vous, mais j'ai rarement pu redémarrer un PC dans un cybercafé… je veux dire, on ne me l'autorise pas…
    ensuite sur les PC des entreprises désormais il est impossible de rebooter sur une clé USB sans avoir le pass admin de l'UEFI…

    bref j'aime ce genre de clés mais c'est de plus en plus dur de les utiliser "en mobilité" justement.

    Tiens… question… en forenscis, les experts demandent les clés admin de l'uefi pour faire leurs investigations ?

    • [^] # Re: Reboot de machine qui prennent en charge le démarrage USB ?

      Posté par (page perso) . Évalué à 5 (+3/-0).

      en forenscis, les experts demandent les clés admin de l'uefi pour faire leurs investigations ?

      1 - faire une copie du disque-dur (généralement vers un disque virtuel)
      2 - faire une seconde copie. La première reste « au placard » et sert de source en cas de besoin de re-copie. la seconde sert à travailler dessus
      3 - travailler exclusivement sur la copie (généralement dans une machine virtuelle)
      Donc pas besoin de clef UEFI la plupart du temps. Et dans les quelques cas qui restent… ça dépend :-)

  • # Suggestions pour l'ajout de nouveaux outils

    Posté par . Évalué à 9 (+9/-0).

    Bravo ! Super projet !
    J'étais justement en train de chercher une solution comme celle-ci pour assurer des formations.

    Voici une série d'outils qu'il serait intéressant d'intégrer.

    Divers outils en ligne de commande :

    Pour le scraping et le web-mining :

    Pour la fouille de textes :

    Pour la fouille de données :

    Pour la recherche dans les publications scientifiques :

    A compléter peut-être aussi avec d'autres outils développés par le Médialab de Sciences-Po:
    http://tools.medialab.sciences-po.fr/

    Et sur cette page on trouvera également une série de petits utilitaires, avec interface graphique, utiles pour la fouille de textes:
    http://www.laurenceanthony.net/software.html

  • # Même argument que : L'anglais ça vend!

    Posté par . Évalué à -10 (+1/-14).

    C'est du barratin cette histoire de GUI, une vérité sans données (:)) pour appuyer l'argument.

    Vos datascientistes c'est pas des Michu, hein! Et pour en avoir fréquenté pas mal dont des scientifiques (chimie, bio), ils n'ont pas du tout peur de l'UI inconnu. Et y en a qui vont plus loin qui font le taff d'un service IT qui a baissé les bras - j'ai connu 2 entreprises dans le domaines chimie et pharma.
    Donc, faire une clé Ubuntu avec un stockage persistent, ils savent faire. Et pour des "chercheurs", ils savent chercher sur Internet.

    Que les universitaires qui n'ont jamais touché un solaris, linux ces 25 dernières années me jetent la première pierre.

    Bref, ça ressemble à de l'ajout de lignes sur C.V. pour faire genre "je produis", le faux petit plus pour se démarquer.

    "2017 - Creator of a portable Operating System with data analysis/visualization solutions included."

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.