1. Présentation des fonctionnalités et de l'architecture
DevDash est un tableau de bord pour terminal entièrement configurable, conçu pour agréger des données de développement. Il permet d'intégrer des informations provenant de diverses sources — données locales, serveurs distants, services en ligne comme GitHub, Travis CI ou Google Analytics — dans une interface unifiée et personnalisable via des fichiers de configuration YAML ou JSON.
Ses avantages principaux incluent une modularité poussée :
- Sélection libre des composants d'affichage (widgets).
- Personnalisation complète de la disposition et de la mise en page.
- Contrôle sur le contenu des données, les couleurs et les styles.
- Prise en charge d'un nombre illimité de configurations de tableaux de bord.
- Options de rafraîchissement automatique ou manuel des données.
2. Construction et installation à partir des sources
Pour compiler et installer l'outil manuellement, procédez comme suit.
2.1 Récupération du code source
Clonez le dépôt à l'aide de la commande suivante :
git clone https://github.com/Phantas0s/devdash.git
cd devdash
2.2 Compilation manuelle
Assurez-vous d'avoir un environnement Go (version 1.16 ou supérieure) installé. Compilez le projet depuis la racine :
go build -o devdash-app main.go
Cette commande génère un binaire nommé devdash-app. Pour le rendre accessible globalement, déplacez-le dans un répertoire du PATH système :
sudo mv devdash-app /usr/local/bin/devdash
2.3 Script d'installation alternatif
Un script automatisé peut simplifier l'installation sur les systèmes Linux :
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Phantas0s/devdash/master/install/install.sh)"
Ce script télécharge la version stable adaptée à votre architecture et installe l'exécutable.
3. Configuraton et personnalisation du tableau de bord
La puissance de DevDash réside dans son système de configuration par fichiers YAML. Un fichier de configuration typique se structure en plusieurs sections.
3.1 Structure du fichier de configuration
- global : Paramètres généraux du tableau de bord.
- data_sources : Définition des connexions aux services (GitHub, etc.).
- widgets : Liste des composants d'affichage à afficher.
- layout : Définition des lignes et colonnes pour organiser les widgets.
- dimensions : Taille des colonnes (valeurs proportionnelles ou tailles prédéfinies).
- widget_config : Configuration spécifique à chaque widget (métrique, couleur, etc.).
3.2 Exemple de configuration et lancement
Des exemples sont fournis dans le répertoire config/examples. Pour lancer DevDash avec une configuration spécifique, utilisez le flag -c :
devdash -c config/examples/github-monitor.yml
Cette commande lance un tableau de bord affichant des métriques provenant d'un dépôt GitHub configuré dans le fichier.
4. Fonctionnalités avancées
4.1 Surveillance en temps réel
En configurant des widgets de type "status" ou "progress", DevDash peut servir d'outil de monitoring pour des services ou des systèmes, affichnat des indicateurs de santé en direct.
4.2 Personnalisation des widgets
L'outil propose plusieurs types de widgets : tableaux, graphiques simples, jauges. Chacun peut être paramétré pour adapter son apparence et la fréquence de mise à jour des données.
4.3 Gestion de multiples tableaux de bord
Créez différents fichiers de configuration pour des contextes distincts. Basculez facilement entre eux en ligne de commande :
devdash -c ~/.config/devdash/prod-monitor.yml
devdash -c ~/.config/devdash/personal-projects.yml
5. Bonnes pratiques et dépannage
5.1 Organisation des fichiers
Stockez vos configurations personnalisées dans ~/.config/devdash/. L'outil les détecte automatiquement, ce qui évite de devoir spécifier le chemin complet à chaque lancement.
5.2 Optimisation des performances
- Ajustez l'intervalle de rafraîchissement pour les données qui changent fréquemment.
- Limitez le nombre de widgets par tableau de bord pour maintenir une réactivité.
- Pour les sources de données distantes, vérifiez la mise en place de mécanismes de cache pour réduire les appels réseau.
5.3 Résolution des problèmes courants
En cas de données non affichées :
- Vérifiez la syntaxe de votre fichier de configuration YAML.
- Assurez-vous que les identifiants d'accès aux services (clés API, tokens) sont valides et correctement configurés.
- Lancez l'outil avec un mode de verbosité plus élevé, si disponible, pour obtenir des journaux d'erreur détaillés.