À propos du projet

Huey est une application web statique libre et open-source dédiée à l'exploration et à l'analyse de données directement dans le navigateur. Elle s'appuie sur DuckDB compilé en WebAssembly (DuckDB-WASM) pour offrir des analyses de données rapides et sans serveur. ## Fonctionnalités principales - **Support des fichiers** : Lit les bases de données `.csv`, `.parquet`, `.json`, `.xlsx` et `.duckdb`, que ce soit par téléchargement local ou chargement via des URLs. - **Tables croisées** : Interface intuitive pour créer des tableaux croisés avec projection, agrégation, filtrage et sous-totaux. - **Attributs dérivés** : Décomposition automatique des colonnes date/heure en hiérarchies temporelles (année, mois, trimestre, etc.) et support des manipulations de chaînes comme la normalisation des majuscules/minuscules ou l'indexation par première lettre. - **Analyse de données imbriquées** : Support étendu des tableaux JSON et des types STRUCT, permettant l'analyse ad hoc de jeux de données complexes et imbriqués sans prétraitement. - **Export** : Export des résultats et des requêtes SQL générées vers un fichier ou le presse-papiers. - **Confidentialité maximale** : En tant qu'application web statique, tout le traitement des données s'effectue localement dans le navigateur de l'utilisateur. Aucune donnée n'est téléchargée sur un serveur. - **Progressive Web App (PWA)** : Peut être installée sur les appareils comme une application native et fonctionne hors ligne grâce au cache du navigateur. - **Léger** : Dépendances minimales (DuckDB-WASM et Tabler Icons). - **Accessible** : Utilise du HTML sémantique et des rôles ARIA. ## Limitations - **Performance** : Bien que rapide pour un outil basé sur le navigateur, DuckDB-WASM est limité par le runtime WebAssembly (limite mémoire théorique de 4 Go, monothread), ce qui peut affecter les très grands jeux de données par rapport à DuckDB natif. - **Accès distant** : Les sources de données via URL peuvent être bloquées par les politiques same-origin ou l'absence d'en-têtes CORS, sauf si elles sont servies depuis un serveur HTTP. - **Plateforme** : Expérience optimale sur desktop ; le support tablette est fonctionnel, mais le support mobile n'est pas prévu en raison des contraintes de taille d'écran. - **Extensions** : Certaines extensions avancées de DuckDB (par exemple, l'accès à MySQL, PostgreSQL, Unity Catalog) ne sont pas disponibles dans la version WASM. ## Démarrage Les utilisateurs peuvent essayer Huey immédiatement via la démo en ligne sur https://rpbouman.github.io/huey/src/index.html sans rien télécharger. Des rapports d'exemple sont disponibles pour : - **CSV** : opérations aéroportuaires, benchmark énergétique urbain et ventes au détail. - **JSON** : événements publics GitHub, démontrant l'extraction d'objets imbriqués. - **Parquet** : services ferroviaires néerlandais, illustrant l'indexation alphabétique et le regroupement normalisé en casse. Pour une exécution locale, les utilisateurs peuvent télécharger l'arbre source et ouvrir `src/index.html` dans leur navigateur, ou installer la PWA depuis le site de démonstration pour une utilisation hors ligne.