Files
gitea-dashboard/README.md
2026-03-12 19:54:38 +01:00

138 lines
4.3 KiB
Markdown

# gitea-dashboard
Dashboard CLI affichant en une commande l'état de tous les repos d'une instance Gitea : issues ouvertes, dernières releases et progression des milestones.
## Prérequis
- Python >= 3.10
- Accès à une instance Gitea avec un token API
## Installation
```bash
pip install -e .
```
## Configuration
Le dashboard se configure via deux variables d'environnement :
| Variable | Description | Défaut |
|----------|-------------|--------|
| `GITEA_URL` | URL de l'instance Gitea | `http://192.168.0.106:3000` |
| `GITEA_TOKEN` | Token API Gitea (requis) | — |
Pour créer un token : Gitea > Settings > Applications > Generate Token.
Exemple de configuration dans votre shell :
```bash
export GITEA_URL=https://gitea.tsmse.fr
# Définir GITEA_TOKEN avec la valeur obtenue depuis Gitea > Settings > Applications
```
## Usage
```bash
gitea-dashboard
# ou
python -m gitea_dashboard
```
### Vérification de la connexion
L'option `--health` vérifie que l'instance Gitea est accessible et affiche sa version ainsi que le nombre de repos disponibles. Exit code 0 si la connexion réussit, 1 sinon.
```bash
gitea-dashboard --health
# Gitea 1.21.4 — 12 repos accessibles
```
### Filtrage des repos
L'option `--repo`/`-r` filtre les repos à afficher (sous-chaîne, insensible à la casse).
L'option `--exclude`/`-x` exclut des repos de l'affichage.
Les deux options sont cumulables et répétables.
```bash
# Afficher uniquement les repos contenant "api"
gitea-dashboard --repo api
# Afficher les repos contenant "dashboard" ou "monitor"
gitea-dashboard -r dashboard -r monitor
# Exclure les repos contenant "archive" ou "test"
gitea-dashboard --exclude archive --exclude test
# Combiner inclusion et exclusion
gitea-dashboard --repo projet --exclude archive
```
### Tri des repos
L'option `--sort`/`-s` trie les repos selon un critère :
| Valeur | Description |
|--------|-------------|
| `name` | Ordre alphabétique (défaut) |
| `issues` | Nombre d'issues décroissant |
| `release` | Date de release décroissante |
| `activity` | Date du dernier commit décroissante |
```bash
# Trier par nombre d'issues (les plus actifs en premier)
gitea-dashboard --sort issues
# Trier par activité récente
gitea-dashboard -s activity
```
### Colonne Description
Le tableau affiche par défaut une colonne "Description" (tronquée à 40 caractères). Pour la masquer :
```bash
gitea-dashboard --no-desc
```
### Export JSON
L'option `--format json` exporte les données du dashboard au format JSON au lieu de l'affichage tabulaire. Utile pour intégrer le dashboard dans d'autres outils.
```bash
gitea-dashboard --format json
gitea-dashboard --format json > export.json
```
### Exemple de sortie
```
Gitea Dashboard
┏━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Repo ┃ Issues ┃ Release ┃ Dernier commit ┃ Description ┃
┡━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ mon-projet │ 3 │ v1.3.0 (il y a 2j) │ il y a 3h │ Mon super projet de dashboard │
│ autre-repo │ 0 │ — │ il y a 5j │ — │
└─────────────────┴────────┴──────────────────────┴────────────────┴──────────────────────────────────────────┘
Milestones
mon-projet / v2.0 : 3/5 (60%) [échéance dépassée]
```
## Développement
```bash
# Installer avec les dépendances de développement
pip install -e ".[dev]"
# Lancer les tests
pytest
# Vérifier le style
ruff check src/ tests/
```
## Licence
Usage personnel.