FreeDatas2HTML

Parser, afficher, paginer, filtrer, classer des données… à l’aide de TypeScript/JavaScript

Parser des données JSON, CSV ou HTML

FreeDatas2HTML vous permet de parser des données listées dans une page internet ou encore une ressource distante. Les formats de données possibles sont le JSON, le CSV ou encore le HTML, pour peu que les données y soient listées de manière rigoureuse.

Testez ici avec votre propre fichier CSV.

Le parseur retourne de manière distincte une liste des champs trouvés, une liste des « enregistrements », ainsi que les éventuelles anomalies rencontrées durant le traitement. Vous pouvez utiliser votre propre parseur, par exemple pour gérer d’autres formats de données (XML…).

Une fois les données parsées, tous les traitements se font côté client, sans nouvel appel nécessaire à l’éventuelle source de données distante.

Afficher les données dans votre page web

FreeDatas2HTML vous permet d’afficher les données dans votre page web, par défaut sous forme de tableau. Mais il est possible de paramèter d’autres formats, par exemple une liste HTML ou encore d’utiliser son propre moteur de rendu, tout en bénéficiant du reste du code de FreeDatas2HTML.

Vous pouvez choisir de ne pas afficher tous les champs trouvés par le parseur, tout en les gardant disponibles pour les filtres. En option, un compteur d’enregistrements peut être affiché.

Classer les données

Certains champs peuvent être proposés pour permettre de classer les données affichées.

Par défaut, le classement se fait de manière alphabétique et « naturelle », c’est-à-dire qu’en ordre ascendant « 20 » sera devant « 100 », malgré le fait que « 1 » se trouve devant « 2 »…

Mais il est possible de fournir des fonctions spécifiques de classement pour certains champs, pour peu qu’elles soient compatibles avec la fonction sort() de JavaScript.

Filtrer les données

Il peut être proposé à l’utilisateur de filtrer les données, via des listes <SELECT> reprenant les valeurs distinctes d’un champ, classées de la même manière que vu précédemment.

Si plusieurs filtres sont ainsi proposés, leurs actions s’additionnent, c’est-à-dire que seuls les enregistrements validant tous les filtres sélectionnés seront fournis en résultat.

Moteur de recherche

Un moteur de recherche peut aussi être proposé à l’utilisateur.
Il agit comme les filtres précédents, si ce n’est que la saisie est libre et que la recherche se fait sur plusieurs champs.

Il est possible de définir les champs sur lesquels effectuer la recherche ou les garder tous (par défaut).

La recherche peut être lancée dès la saisie d’un certain nombre de caractères, ou attendre un clic sur le bouton d’envoi.

Pagination

Une valeur de pagination peut être définie et/ou plusieurs options de pagination proposées aux utilisateurs finaux.

Adaptable à vos besoins

Toutes les fonctionnalités de FreeDatas2HTML sont proposées en option.

Vous pouvez très bien n’utiliser FreeDatas2HTML que pour parser les données et en faire ensuite ce que bon vous semble…

Vous pouvez écrire vos propres scripts pour remplacer n’importe quelle classe du projet, pour peu qu’il respecte son interface. Cela peut être assez simple, en vous inspirant de l’existant.

FreeDatas2HTML est partagé sous licence AGPL, ce qui vous donne le droit de modifier et partager son code, mais en gardant les mêmes droits (copyleft).

N’hésitez pas à me contacter pour me signaler un bug ou me demander de l’aide pour une intégration. Pas forcément gratuitement, dans le deuxième cas :-)

Code et dépendances

FreeDatas2HTML est écrit en TypeScript, les tests étant réalisés via Karma et Jasmine dans environnement Node/Webpack. Deux modules externes sont utilisés : Papa Parse pour parser les données CSV et natural-orderby pour optimiser le classement par défaut des données.

Accéder au dépôt GIT du projet.