veza/report_qa_e2e_blocked.md

3.4 KiB

Rapport Audit QA E2E Frontend - Veza

Date: 7 Décembre 2025 Statut: CRITIQUE (Flux Auth Bloqué) Testeur: Antigravity AI Agent

1. Résumé Exécutif

L'audit E2E complet n'a pas pu être mené à terme en raison d'un blocage critique et persistant sur le flux d'authentification (Inscription & Connexion). Malgré plusieurs interventions correctives sur le backend et la base de données, l'accès au tableau de bord (Dashboard) reste impossible.

État Global: 🔴 NON FONCTIONNEL Blocage Principal: Erreur 500 silencieuse sur /api/v1/auth/register et /api/v1/auth/login.


2. Résultats Authentification

Action Tentative Résultat Analyse Technique
Inscription UI Web Échec Erreur générique "Failed to create user". Logs backend initiaux indiquaient violation de contrainte idx_users_slug. Correctif appliqué, mais erreur persiste sans logs.
Inscription SQL Direct Succès Injection manuelle via psql réussie (qa_test_user_01). Hash Bcrypt généré via outil Go compatible (cmd/tools/hash_gen).
Login UI Web Échec Erreur "Erreur de connexion" / "Failed to authenticate".
Diagnostic Login Logs Backend ⚠️ Critique Erreur détectée: pq: null value in column "token" of relation "refresh_tokens". La table DB attendait une colonne token NOT NULL, alors que le code Go ne remplit que token_hash.
Correctif Login Hotfix DB Appliqué ALTER TABLE refresh_tokens ALTER COLUMN token DROP NOT NULL.
Retest Login UI Web Échec Malgré le hotfix et restart backend, le login échoue toujours. Aucun log d'erreur n'apparaît désormais dans backend.log, suggérant une erreur silencieuse ou une défaillance en amont (HAProxy/Network) ou aval (Parsing frontend).

3. Navigation & Features (Non Testables)

En raison de l'impossibilité de se connecter, l'audit des fonctionnalités suivantes est BLOQUÉ :

  • 🔒 Tableau de bord
  • 🔒 Upload de fichiers
  • 🔒 Bibliothèque / Playlist
  • 🔒 Profil Utilisateur
  • 🔒 Chat en temps réel

Les pages publiques (/login, /register) s'affichent correctement, validant le fonctionnement de base du routage Frontend et du serveur Web.


4. Recommandations & Plan d'Action

P0 - Résoudre le Login (Blocant)

  1. Alignment Modèle/DB: Le code Go internal/services/refresh_token_service.go doit être révisé pour supprimer toute référence implicite à la colonne token ou la DB doit être migrée proprement pour supprimer cette colonne héritée.
  2. Logging: Activer un niveau de log plus verbeux (DEBUG/TRACE) sur le serveur de production/lab pour comprendre l'échec silencieux post-hotfix.
  3. Validation Token: Vérifier si la génération du JWT (authService.Login) n'échoue pas silencieusement (ex: secret key manquante).

P1 - Fixer l'Inscription

  1. Tests Unitaires: Écrire un test unitaire Go focalisé sur authService.Register pour isoler la logique de création (Slug, Password, DB) du contexte HTTP.

P2 - Nettoyage

  1. Process Management: Cesser d'utiliser nohup pour le développement. Privilégier un exécuteur de tâches qui capture stdout/stderr proprement.

5. Conclusion

Le module Authentification est actuellement instable et empêche toute qualification fonctionnelle du produit. Une intervention développeur Backend est requise immédiatement pour rétablir le service de Login.