# Page home bloquée par l'initialisation au démarrage **Auteur** : Équipe 4NK **Date** : 2026-01-26 **Version** : 1.0 ## Problème La page home rame et ne s'affiche pas. Les requêtes API (blockchain/info, utxo/count, anchor/count, etc.) timeout. ## Symptômes - La page home ne se charge pas ou reste blanche - Erreurs "Failed to fetch" dans la console - Les appels `curl` vers les APIs timeout (10s+) ## Root causes 1. **Initialisation au démarrage** : Le serveur appelle `initializeFiles()` au démarrage, qui exécute `getHashList()` et `getUtxoList()` en parallèle. 2. **Cache UTXO obsolète** : Si `utxo_list_cache.txt` a l'ancien format (1 partie au lieu de 2), une mise à jour complète est déclenchée (37k+ UTXOs). 3. **Blocage du serveur** : Ces opérations (lectures/écritures sync, nombreux appels RPC) saturent la boucle d’événements Node.js. Le serveur ne peut plus traiter les requêtes HTTP. ## Correctifs 1. **Suppression de l’initialisation au démarrage** : Ne plus appeler `initializeFiles()` au démarrage du serveur. 2. **Suppression de la fonction `initializeFiles`** : Code mort supprimé. 3. **Mise à jour à la demande** : Les fichiers sont mis à jour lors des appels à `/api/hash/list` et `/api/utxo/list` (pages Liste des Hash, Liste des UTXO). ## Impact - La home utilise `/api/blockchain/info`, `/api/anchor/count`, `/api/utxo/count`, etc., qui lisent les fichiers existants ou font des appels RPC légers. Aucune mise à jour complète n’est déclenchée au chargement de la home. - Les pages Liste des Hash et Liste des UTXO peuvent être lentes au premier chargement (mise à jour des fichiers), mais le serveur reste réactif pour les autres requêtes. ## Modalités de déploiement 1. Redémarrer le service : `sudo systemctl restart signet-dashboard.service` 2. Vérifier que les APIs répondent : `curl -s -o /dev/null -w "%{http_code}\n" http://localhost:3020/api/blockchain/info` (attendu : 200) ## Modalités d'analyse - Vérifier les logs : `sudo journalctl -u signet-dashboard.service -f` - Tester les APIs : `curl http://localhost:3020/api/blockchain/info`, `curl http://localhost:3020/api/utxo/count`, `curl http://localhost:3020/api/anchor/count` ## Pages affectées - `signet-dashboard/src/server.js` : suppression de `initializeFiles` et de son appel au démarrage