Greboca  

DLFP - Dépêches  -  Illico Editor : rétrospective 2017-2018

 -  8 janvier - 

En quelques mots, Illico Editor est un couteau suisse de la qualification de données qui :

  • s’adresse à tous et à toutes (pas uniquement à des experts en informatique) ;
  • simplifie le nettoyage de données (corriger, restructurer des données issues d’un tableur, d’une base de données, d’une application métier) ;
  • simplifie leur exploitation (indicateurs statistiques simples ou complexes, lister, filtrer, enrichir ou croiser avec d’autres sources, etc.).

L’application a été entièrement revisitée en 2017 et 2018 pour créer une nouvelle expérience utilisateur…

Sommaire

Philosophie

Illico…

  • suit la philosophie ASAP (As Simple As Possible) ;
  • mixe HTML 5, JS, CSS 3 ;
  • ne requiert ni installation, ni code tiers, ni serveur Web ou de base de données ;
  • est publié sous licence GPL.

et s’utilise :

  • en ligne sur le site officiel : http://illico.tuxfamily.org ;
  • en local, en téléchargeant un ZIP (qui contient la copie du site Web).

Les nouveautés

Depuis la précédente dépêche d’avril 2017, plus de vingt versions d’Illico ont été publiées.

Les améliorations portent sur trois aspects majeurs :

  • l’interface utilisateur ;
  • la performance et accessibilité (couverture documentaire) du code ;
  • l’aide aux utilisateurs : qualité de la documentation utilisateur et des tutoriels.

En plus du périmètre fonctionnel :

  • nouvelles fonctionnalités ou transformations de données ;
  • corrections ;
  • nouvelles options et paramètres.

Les aspects majeurs et les nouvelles fonctionnalités sont présentés ci‐dessous.

1. Interface utilisateur

1.1 Concepts

L’interface utilisateur a été réécrite pour :

  • s’adapter à la généralisation des écrans de plus grande taille : présentation plus claire des paramètres :
    • libellés des paramètres,
    • positionnement des champs et paramètres ;
  • regrouper les fonctionnalités de manière cohérente :
    • chargements de données,
    • transformations et fonctions d’analyse,
    • préférences utilisateur ;
  • préférer des mécanismes standards HTML/JS/CSS pour alléger le code et simplifier la maintenance :
    • info-bulles,
    • règles CSS,
    • réduire l’usage des tableaux HTML ;
  • faciliter la navigation de l’IHM vers la documentation :
    • pour chaque groupe de transformation, un lien pointe vers la documentation correspondante ;
  • utiliser un thème visuel plus agréable.

1.2 Pour illustrer

Menu et chargement de CSV

Menu et chargement de CSV

Recherche de doublons

rechercher des doublons

1.3 Exportations

Les exportations — nom de l’onglet ou nom du fichier — sont désormais systématiquement horodatées.

1.4 Journal de bord

Le journal de bord consigne toutes les transformations avec leurs paramètres et les résultats : nombre de valeurs modifiées, nouveau nombre de colonnes, etc.

Désormais, le journal de bord consigne également le nom des exportations CSV, ce qui permet d’un coup d’œil d’évaluer l’état des données de telle ou telle exportation ou sauvegarde.

Journal de bord

1.5 Restitutions dans de nouveaux onglets

Le visuel a été retravaillé pour :

  • le journal de bord ;
  • les exportations de données ;
  • les exportations de tableaux de synthèse.

Exportation de données

Exportation de donnéesNumérotation des lignes et colonnes + guide visuel sous le curseur (ligne grisée)

Tableaux de synthèse

Ce module est équivalent au fait d’enchaîner plusieurs tableaux croisés dynamiques.

exploration de donnéesLes boutons (=>) permettent de récupérer le tableau de synthèse (données agrégées) ou les données détaillées.

2. Accessibilité du code source

Plusieurs revues de code ont permis d’améliorer :

  • la documentation JSDoc : en moyenne 100 lignes d’instructions strictes (sans compter les lignes vides) sont expliquées par 24 lignes de commentaires ; soit en moyenne une ligne de commentaire toutes les quatre LOC ;
  • les algorithmes : simplification ;
  • les conventions de nommage : noms de variables et des fonctions ;
  • l’empreinte mémoire : minimisation la taille des variables intermédiaires ;
  • l’utilisation de mécanismes natifs CSS : remplacement de code JS par du code CSS lorsque c’était possible ;
  • la gestion de jeu de données volumineux : exportations de données via l’objet JS Blob.

Pour rappel, les indicateurs de qualité (JSLint, longueurs des fonctions, etc.) sont recalculés à chaque version et consultables au chapitre Architecture.

3. Documentation utilisateur et tutoriels

Les textes et captures d’écran de la documentation utilisateur ont été revus et corrigés en cohérence avec la nouvelle interface graphique. Les tutoriels ont été relus/réécrits/corrigés.

4. Nouvelles transformations

Colonnes

Recréer une filiation (relation parent‐enfant)

Dans un jeu de données avec deux colonnes parent‐enfant : retrace une filiation parent, grands‐parents, etc., pour chaque enfant.

Lignes

Compacter les lignes (agrégats : calculs, listes)

Résume à une seule ligne plusieurs lignes qui ont un même identifiant. En fonction des options, les données sont soit écrasées (celles de la première occurrence prévaut) soit agrégées (somme, liste de valeurs, etc.).

Décaler vers le haut ou le bas

Décale toutes les valeurs d’une colonne vers le haut ou le bas, en suivant (selon l’option sélectionnée) une autre colonne d’identifiants. Comportement proche de la fonction LAG du logiciel SAS.

Valeurs en liste : agrégats et combinaisons

Calculer un ratio de similarité entre deux listes de valeurs

Pour deux colonnes décrivant à chaque ligne des listes de valeurs (séparées par un espace, une virgule, etc.), indique le ratio de similarité. Par exemple, « 4/6 » indique que sur six éléments, quatre éléments sont en communs, indépendamment de leur ordre.

Agrégats

Conversion dans un système de comptage mixte

Convertit les valeurs d’une colonne dans un système de comptage (jusqu’à sept niveaux). Par exemple :

  • convertir des secondes en : nombre de semaines + nombre de jours + nombre d’heures, etc. ;
  • convertir un stock en : nombre de palettes, de caisses, de camions, etc.

Intervalles

Recherche d’une valeur dans un intervalle

Pour deux colonnes décrivant un intervalle et une colonne de données, indique à chaque ligne si la donnée est située avant, après ou incluse dans l’intervalle.

Combiner deux intervalles

Produit une combinaison de deux intervalles :

  • union : intervalle englobant les deux ;
  • intersection : plus petit intervalle commun.

Autre nouveauté : nouvelle année…

Bonne et heureuse année 2019 !

Commentaires : voir le flux atom ouvrir dans le navigateur

par asky, Davy Defaud, palm123, Pierre Jarillon

DLFP - Dépêches

LinuxFr.org

Installer LineageOS sur son appareil Android

 -  25 juin - 

Lorsque j’ai installé LineageOS sur mon smartphone, j’ai suivi des tutoriels sans réellement comprendre ce que je faisais. Je voulais donc écrire (...)


Firefox 67.0.1 : version mineure ou majeure ?

 -  23 juin - 

La version 67.0.1 de Firefox a été publiée le 4 juin 2019. De manière un peu étrange et inhabituelle, Mozilla a lancé une nouvelle fonctionnalité à (...)


L’enjeu de la bataille du Libre : la réappropriation des savoir‐faire

 -  22 juin - 

« Leur terre est morte et ils ne la possèdent même plus, ils sont endettés auprès de banques. Il faut des engrais sinon rien ne pousse. Les graines (...)


Un ASIC conçu intégralement avec des logiciels libres

 -  17 juin - 

Un ASIC (application‐specific integrated circuit, en anglais) est un circuit intégré d’électronique numérique conçu pour une application spécifique et (...)


Interview de Bastien Guerry, référent logiciels libres à la DINSIC

 -  9 juin - 

Bastien Guerry est, depuis décembre 2018, le référent logiciels libres de la DINSIC (Direction interministérielle du Numérique et du Système (...)