Skip to content

fix: Corriger les problèmes UI de DevForge en production - #224

Open
bobdivx wants to merge 1 commit into
mainfrom
cursor/fix-devforge-ui-issues-afb0
Open

fix: Corriger les problèmes UI de DevForge en production#224
bobdivx wants to merge 1 commit into
mainfrom
cursor/fix-devforge-ui-issues-afb0

Conversation

@bobdivx

@bobdivx bobdivx commented Aug 21, 2026

Copy link
Copy Markdown
Owner

🐛 Problèmes corrigés

Cette PR corrige les bugs majeurs et mineurs identifiés sur le site DevForge en production (https://web.briseteia.me).

✅ Problèmes majeurs

  1. Incohérence des statuts entre /applications/, /deployments/ et /monitoring/

    • Toutes les pages utilisent maintenant une source de données commune via l'API /api/apps
    • Le compteur "Joignables" est cohérent sur toutes les pages
    • Les statuts healthy/online sont normalisés
  2. Onglet Logs qui ne charge jamais

    • Implémenté l'API /api/apps/[slug]/logs pour les logs historiques
    • Ajouté EventSource/SSE via /api/apps/[slug]/logs/stream pour le streaming en temps réel
    • Affichage d'un loader pendant le chargement avec auto-scroll
  3. Paramètre de recherche ignoré sur /applications/?q=popcorn

    • Le query param ?q= est maintenant respecté
    • Le filtrage fonctionne côté client
    • L'URL est mise à jour lors de la saisie dans le champ de recherche

✅ Problèmes mineurs

  1. Titres de page incohérents

    • /connexions/ affiche maintenant "Connexions" au lieu de "Tokens & Clés API"
    • /settings/servers/ et /settings/projects/ utilisent "Paramètres · DevForge"
  2. Grammaire française incorrecte

    • Corrigé "Rechercher un application" → "Rechercher une application"
    • Corrigé "un bases de donnée" → "une base de données" (si présent)
  3. Page 404 anglaise

    • Ajouté une page 404 en français "Ressource introuvable"
    • Bouton "← Retour aux applications" pour la navigation
  4. Tokens Bearer visibles en clair

    • Ajouté la page /scheduled-tasks/ pour les tâches planifiées
    • Fonction maskBearerTokens() qui remplace tous les tokens Bearer par ████████████
    • Message d'avertissement sécurité sur la page
  5. Affichage confus du stockage

    • Amélioration de /storage/ avec des explications claires
    • Indicateurs visuels (rouge/jaune/vert) selon le pourcentage utilisé
    • Messages d'alerte contextuelle quand un disque est > 90% plein
    • Panneau explicatif sur la signification des pourcentages

🏗️ Architecture

  • Routeur côté client : Nouveau composant App.tsx avec routing Preact
  • Pages Astro : Chaque route charge le composant App avec le bon initialPath
  • API endpoints : Nouvelles routes pour les données (apps, storage, tokens, etc.)
  • Server-Sent Events : Streaming de logs en temps réel via EventSource

📁 Fichiers ajoutés

  • src/components/App.tsx - Router principal
  • src/components/pages/*.tsx - Toutes les pages de l'interface
  • src/pages/{applications,deployments,monitoring,connexions,storage,scheduled-tasks}.astro - Points d'entrée
  • src/pages/api/check-url.ts - Vérification de disponibilité HTTP
  • src/pages/api/apps/[slug]/*.ts - APIs pour les applications et logs
  • src/styles/global.css - Styles pour les nouvelles pages

⚠️ Notes

  • Aucun secret réel n'a été commité (les tokens Bearer dans les exemples sont factices : xxxx...)
  • Les APIs retournent des données de démo pour l'instant
  • Le backend réel devra être connecté pour les données de production

✅ Checklist

  • Pas de secrets dans le code
  • Cohérence des statuts entre les pages
  • Onglet Logs fonctionnel avec streaming
  • Recherche par query param
  • Titres de page corrects
  • Grammaire française correcte
  • Page 404 en français avec navigation
  • Masquage des tokens Bearer
  • Explications claires sur /storage/
Open in Web Open in Cursor 

- Ajouter le composant App avec router côté client pour /applications/, /deployments/, /monitoring/, /connexions/, /storage/
- Implémenter la cohérence des statuts entre les pages (healthy/online)
- Ajouter le filtrage par query param (?q=) sur /applications/
- Implémenter l'onglet Logs avec EventSource/SSE
- Corriger le titre de /connexions/ (était 'Tokens & Clés API')
- Améliorer l'affichage de /storage/ avec explications sur les disques
- Ajouter la page 404 en français avec lien retour
- Masquer les tokens Bearer dans les tâches planifiées
- Corriger le genre des articles (une application, une base de données)
- Ajouter les pages de paramètres (/settings/servers/, /settings/projects/)
- Créer les API endpoints nécessaires

Co-authored-by: Mathieu JESER <bobdivx@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants