ncantu 26a53327a4 Enhance: Complete dashboard documentation and new services integration
**Motivations:**
- Complete documentation for dashboard, domains, ports and environment configuration
- Add new services (ClamAV API, Watermark API) to the infrastructure
- Enhance dashboard with new pages and improved functionality
- Improve deployment scripts and service configurations

**Root causes:**
- Missing comprehensive documentation for infrastructure setup
- Need for antivirus scanning service integration
- Need for watermark service integration
- Dashboard required additional pages and features

**Correctifs:**
- Added comprehensive documentation in docs/ (DASHBOARD.md, DOMAINS_AND_PORTS.md, ENVIRONMENT.md)
- Updated systemd service files with proper environment variables
- Enhanced nginx proxy configuration script
- Updated maintenance documentation

**Evolutions:**
- Added new ClamAV API service (api-clamav) for file scanning
- Added new Watermark API service (api-filigrane) for document watermarking
- Enhanced signet-dashboard with new learn.html page
- Improved dashboard UI with better styles and navigation
- Enhanced app.js with new functionality and better error handling
- Updated API documentation page with complete endpoint descriptions
- Added deployment scripts for watermark and nginx configuration
- Updated hash and UTXO lists with latest data
- Enhanced server.js with new routes and improved Bitcoin RPC integration

**Pages affectées:**
- docs/DASHBOARD.md: New comprehensive dashboard documentation
- docs/DOMAINS_AND_PORTS.md: New infrastructure domains and ports documentation
- docs/ENVIRONMENT.md: New environment variables documentation
- docs/MAINTENANCE.md: Updated maintenance procedures
- docs/README.md: Updated main documentation
- signet-dashboard/public/app.js: Enhanced with new features
- signet-dashboard/public/styles.css: Improved styling
- signet-dashboard/public/index.html: Enhanced main page
- signet-dashboard/public/learn.html: New educational page
- signet-dashboard/public/api-docs.html: Enhanced API documentation
- signet-dashboard/public/hash-list.html: Updated hash list page
- signet-dashboard/public/utxo-list.html: Updated UTXO list page
- signet-dashboard/public/join-signet.html: Updated join signet page
- signet-dashboard/src/server.js: Enhanced server with new routes
- signet-dashboard/start.sh: Updated startup script
- signet-dashboard/signet-dashboard.service: Updated systemd service
- api-anchorage/anchorage-api.service: Updated systemd service
- api-faucet/faucet-api.service: Updated systemd service
- configure-nginx-proxy.sh: Enhanced nginx configuration script
- add-watermark-certificate.sh: New watermark certificate script
- deploy-watermark-nginx.sh: New deployment script
- api-clamav/: New ClamAV API service
- api-filigrane/: New Watermark API service
- hash_list.txt, utxo_list.txt: Updated with latest data
- anchor_count.txt: Updated anchor count
2026-01-25 17:43:05 +01:00

294 lines
7.9 KiB
Markdown

# Dashboard - Pages et Fonctionnalités
**Auteur** : Équipe 4NK
**Date** : 2026-01-24
**Version** : 1.0
## Vue d'Ensemble
Le Dashboard Bitcoin Signet est une interface web de supervision et de test accessible à l'adresse `https://dashboard.certificator.4nkweb.com`.
**Port local :** 3020 (fixe, défini dans le service systemd)
## Pages Disponibles
### 1. Page Principale (`/` ou `/index.html`)
**Fichier :** `signet-dashboard/public/index.html`
**Fonctionnalités :**
#### Section Supervision
- **État de la Blockchain**
- Hauteur de bloc (mise à jour automatique)
- Dernier bloc miné (timestamp)
- Transactions dans le dernier bloc
- Taille du dernier bloc
- Hash du dernier bloc
- Difficulté de mining
- Taux de hash moyen
- **Statistiques du Réseau**
- Nombre de pairs connectés
- Taille totale de la blockchain
- Taux de transactions par seconde
- Frais moyens des transactions
- Montant moyen des transactions
- **État du Wallet**
- Solde mature
- Solde immature
- Solde non confirmé
- Solde total
- Nombre d'UTXO
- **Statistiques d'Ancrage**
- Nombre total d'ancrages
- Nombre d'ancrages aujourd'hui
- Nombre d'ancrages cette semaine
- Nombre d'ancrages ce mois
#### Section Test de l'API d'Ancrage
- **Saisie de Texte**
- Champ texte pour saisir du contenu
- Génération automatique du hash SHA256
- Vérification du hash sur la blockchain
- Ancrage du document
- **Sélection de Fichier**
- Upload de fichier
- Génération automatique du hash SHA256
- Vérification du hash sur la blockchain
- Ancrage du document
- **Options de Filigrane**
- Activation/désactivation du filigrane
- Texte libre du filigrane
- Signature cryptographique
- Nom du dépositaire
- Options de date (UTC, locale)
- Options blockchain (numéro de bloc, hash du bloc, hash du document)
- Noms de fichiers personnalisables
- **Résultats**
- Affichage des hash (original et filigrané)
- Liens cliquables vers mempool.4nkweb.com pour les TXID
- Statut des transactions
- Confirmations
- Téléchargement automatique des fichiers :
1. Document original
2. Document filigrané
3. Certificat PDF
4. Document fusionné (filigrané + certificat)
#### Section Faucet
- **Demande de Sats**
- Champ pour saisir une adresse Bitcoin Signet
- Distribution de 50 000 sats (0.0005 BTC)
- Affichage du TXID et du statut
### 2. Page Liste des Hash (`/hash-list`)
**Fichier :** `signet-dashboard/public/hash-list.html`
**Fonctionnalités :**
- Liste de tous les hash ancrés sur la blockchain
- Informations pour chaque hash :
- Hash SHA256
- TXID de la transaction
- Hauteur de bloc
- Nombre de confirmations
- Timestamp
- Liens vers mempool.4nkweb.com
- Recherche et filtrage
- Pagination
### 3. Page Liste des UTXO (`/utxo-list`)
**Fichier :** `signet-dashboard/public/utxo-list.html`
**Fonctionnalités :**
- Liste de tous les UTXO du wallet
- Informations pour chaque UTXO :
- TXID
- Index de sortie (vout)
- Montant
- Adresse
- Confirmations
- Type de script
- Filtrage par montant, confirmations, etc.
- Export des données
### 4. Page Rejoindre le Réseau (`/join-signet`)
**Fichier :** `signet-dashboard/public/join-signet.html`
**Fonctionnalités :**
- Instructions pour rejoindre le réseau Signet
- Informations de connexion :
- Adresse IP du nœud
- Port P2P (38333)
- Challenge du signet
- Magic number
- Commandes pour configurer un nouveau nœud
- Liens vers la documentation
### 5. Page Documentation API (`/api-docs`)
**Fichier :** `signet-dashboard/public/api-docs.html`
**Fonctionnalités :**
- Documentation complète de toutes les APIs
- Endpoints documentés :
- API d'Ancrage (`/api/anchor/document`, `/api/anchor/verify`)
- API Faucet (`/api/faucet/request`)
- API Filigrane (`/api/watermark/document`)
- API ClamAV (`/api/scan/buffer`)
- Exemples de requêtes curl
- Codes de statut HTTP
- Authentification et clés API
- Format des réponses
### 6. Page Apprendre Bitcoin (`/learn`)
**Fichier :** `signet-dashboard/public/learn.html`
**Fonctionnalités :**
- Ressources éducatives sur Bitcoin
- Concepts de base :
- Blockchain
- Transactions
- Mining
- Wallets
- Signet vs Testnet
- Liens vers des ressources externes
- Glossaire des termes
## Navigation
### Menu Principal
Le menu principal est accessible depuis toutes les pages :
- **Dashboard** : Retour à la page principale
- **Explorer Mempool** : Lien vers mempool.4nkweb.com
- **Liste des Hash** : Page de liste des hash
- **Liste des UTXO** : Page de liste des UTXO
- **Rejoindre le Réseau** : Instructions pour rejoindre
- **Documentation API** : Documentation complète
- **Apprendre Bitcoin** : Ressources éducatives
## Mise à Jour Automatique
### Rafraîchissement des Données
- **Métriques principales** : Toutes les 30 secondes
- **Détection de nouveaux blocs** : Polling toutes les 5 secondes
- **Actualisation des métriques** : Automatique lors de la détection d'un nouveau bloc
### Notifications
- Affichage des résultats d'ancrage en temps réel
- Messages d'erreur clairs et détaillés
- Indicateurs de chargement pour les opérations asynchrones
## Fonctionnalités Avancées
### Test de l'API d'Ancrage avec Filigrane
1. **Saisie ou Upload**
- Texte ou fichier
- Génération automatique du hash
2. **Configuration du Filigrane**
- Options personnalisables
- Avertissement de sécurité affiché
3. **Traitement**
- Scan antivirus automatique (ClamAV)
- Conversion en PDF si nécessaire
- Ajout du filigrane
- Ancrage sur la blockchain (2 transactions : original + filigrané)
- Génération du certificat PDF
- Fusion du PDF filigrané et du certificat
4. **Résultats**
- Affichage des hash et TXID avec liens
- Téléchargement automatique de 4 fichiers PDF
- Résultat du scan antivirus inclus
### Intégration avec Mempool
- Liens cliquables vers mempool.4nkweb.com pour chaque TXID
- Liens également présents dans les PDFs de certificat
## API Endpoints Utilisés
Le dashboard utilise les endpoints suivants :
### Endpoints Internes
- `GET /api/blockchain/info` : Informations sur la blockchain
- `GET /api/blockchain/latest-block` : Dernier bloc miné
- `GET /api/wallet/balance` : Solde du wallet
- `GET /api/wallet/utxos` : Liste des UTXO
- `GET /api/network/peers` : Nombre de pairs
- `GET /api/anchor/count` : Nombre d'ancrages
- `GET /api/hash/list` : Liste des hash ancrés
- `POST /api/anchor/test` : Test d'ancrage (via le dashboard)
- `POST /api/watermark/document` : Ancrage avec filigrane (via le dashboard)
### Endpoints Externes
- `https://certificator.4nkweb.com/api/anchor/document` : API d'ancrage
- `https://watermark.certificator.4nkweb.com/api/watermark/document` : API filigrane
- `https://faucet.certificator.4nkweb.com/api/faucet/request` : API faucet
- `https://mempool.4nkweb.com/fr/tx/{txid}` : Explorateur de transactions
## Styles et Thème
**Fichier CSS :** `signet-dashboard/public/styles.css`
- Design moderne et responsive
- Thème sombre/clair selon les préférences
- Couleurs cohérentes avec l'identité visuelle
- Accessibilité (ARIA, clavier, contraste)
## JavaScript
**Fichier principal :** `signet-dashboard/public/app.js`
- Gestion de toutes les interactions
- Appels API asynchrones
- Mise à jour automatique des données
- Gestion des erreurs
- Téléchargement de fichiers
## Maintenance
### Vérifier que le dashboard fonctionne
```bash
# Vérifier le service
sudo systemctl status signet-dashboard
# Vérifier les logs
sudo journalctl -u signet-dashboard -f
# Tester l'accès
curl http://localhost:3020/health
```
### Redémarrer le dashboard
```bash
sudo systemctl restart signet-dashboard
```
## Références
- [Documentation Domaines et Ports](./DOMAINS_AND_PORTS.md)
- [Documentation Environnement](./ENVIRONMENT.md)
- [Documentation Maintenance](./MAINTENANCE.md)
- [Documentation API](../signet-dashboard/public/api-docs.html)