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 :
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
Recherche de 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.
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
Numé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.
Les 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 !