# Sheets : Outil open source pour travailler avec des tableurs dans le terminal, développé en Go
Sheets est un projet multiplateforme écrit en Go pour manipuler des tableurs directement dans le terminal. Le développeur Maas Lalani a publié le code source sur GitHub sous licence MIT. L'outil cible les développeurs qui préfèrent les solutions CLI sans interface graphique. Des binaires précompilés sont disponibles pour Windows, macOS et Linux, le rendant polyvalent dans différents environnements de développement.
Le projet résout le défi du traitement de données tabulaires dans un environnement textuel, s'intégrant parfaitement aux scripts shell et aux flux d'automatisation. Les utilisateurs peuvent effectuer des éditions, des filtrages et des calculs sans avoir besoin d'ouvrir un navigateur ou des applications de bureau.
Fonctionnalités principales
Sheets offre des fonctionnalités similaires aux applications de tableur traditionnelles, mais optimisées pour le terminal :
- Édition de cellules : Naviguez dans le tableau à l'aide de raccourcis clavier, entrez et modifiez les valeurs.
- Formules et calculs : Prise en charge des opérations mathématiques de base et des fonctions.
- Import/export : Gestion des formats CSV, TSV et autres formats texte.
- Filtrage et tri : Recherche rapide et organisation des données.
- Visualisation : Codage par couleurs et formatage pour améliorer la lisibilité dans le terminal.
L'interface propose une TUI (interface utilisateur textuelle) en plein écran construite avec la bibliothèque tview ou une bibliothèque Go similaire. Cela permet une gestion efficace de grands tableaux sans sacrifier les performances.
Installation et utilisation
Pour commencer, téléchargez un binaire précompilé depuis les releases GitHub ou compilez depuis la source :
go install github.com/mjl-/sheets@latest
Une fois installé, lancez-le avec :
sheets file.csv
Le projet nécessite Go 1.21+ pour compiler. Il a des dépendances minimales, ce qui le rend facile à déployer dans des conteneurs ou des pipelines CI/CD.
Applications en développement
Sheets s'intègre parfaitement dans les workflows DevOps :
- Traitement de logs en temps réel.
- Analyse de métriques d'outils de monitoring (Prometheus, exports Grafana).
- Génération de rapports via scripts.
- Processus ETL pour données de base de données (SQLite, PostgreSQL via csvdump).
Exemple : Parsing de logs JSON en tableau pour analyse d'erreurs.
# Exemple de script
sheets -i logs.json -o analysis.tsv | sheets --sort column2
C'est particulièrement pratique pour les développeurs seniors travaillant dans des environnements sans interface graphique ou sur des serveurs sans GUI.
Comparaison avec les alternatives
| Outil | Plateformes | Licence | TUI | Formules |
|-----------|----------------|---------|-----|--------------|
| Sheets | Win/Mac/Linux | MIT | Oui | Oui |
| visidata | *nix | GPL | Oui | Partiellement|
| csvkit | *nix | MIT | Non | Non |
Sheets se distingue par son support multiplateforme complet et ses capacités de formules en terminal.
Points forts
- Code source open source en Go : Facile à étendre et personnaliser selon les besoins spécifiques.
- Multiplateforme : Binaires pour tous les OS majeurs sans aucune dépendance.
- Interface TUI : Capacités complètes de navigation et d'édition dans le terminal.
- Licence MIT : Libre d'utilisation dans des projets commerciaux.
- Design minimaliste : Orienté performance sans fioritures d'interface inutiles.
— Editorial Team
Aucun commentaire pour le moment.