Team

front-end devs

Développeurs front-end responsables de l'interface utilisateur et de l'expérience utilisateur de nos applications

Domains
1
Services
5
Messages
8
Members
1

Vue d’ensemble

L’équipe front-end est responsable de l’application web Clairtyx, une SPA (Single Page Application) construite avec React 19, TypeScript 5, Vite 7 et TailwindCSS v4. Le routage est assuré par react-router-dom v7, et la bibliothèque de composants UI repose sur shadcn/ui + Radix UI. L’ensemble des pages authentifiées est encapsulé dans un layout principal (AppLayout) intégrant une sidebar collapsible et un système de fil d’Ariane dynamique.


Stack technique

CatégorieLibrairieVersion
FrameworkReact19.2
BuildVite7.3
LangageTypeScript5.9
Routagereact-router-dom7.13
StylesTailwindCSS v44.2
UI / primitivesshadcn/ui + Radix UI
GraphiquesRecharts3.8
NotificationsSonner2.0
Thèmenext-themes0.4
Icôneslucide-react1.6
Saisie téléphonereact-phone-number-input3.4

Travaux à réaliser

1. Connexion des données mockées aux APIs réelles

La majorité des pages CRM et de gestion d’équipe utilisent encore des données entièrement fictives (fichiers _data.tsx, constantes MOCK_*). L’équipe doit les remplacer par des appels API réels :

Page / ModuleDonnées actuellement mockéesAPI cible attendue
Home.tsx (dashboard)Un an de données revenus/dépenses générées localementEndpoint analytics/metrics
settings/teams.tsxINITIAL_MEMBERS, INITIAL_INVITATIONS, actions simulées via setTimeoutGET/POST/PUT /team/v1/...
settings/team-member.tsxMOCK_MEMBERS, MOCK_ACTIVITY, MOCK_SESSIONS entièrement fauxEndpoints user + session
account/company/company.tsxCOMPANY, TEAMS, MEMBERS hardcodésEndpoint organisation
account/subscription/Plans tarifaires mockés, aucun appel billingAPI facturation (Stripe ou équivalent)
CRM — ProspectsPageDETAILS_MOCK dans _data.tsxGET /crm/v1/prospects
CRM — ContactsPageCONTACTS_MOCK dans _data.tsxGET /crm/v1/contacts
CRM — CampagnesPageCAMPAGNES_MOCK dans _data.tsxGET /crm/v1/campagnes
CRM — RapportsPageDonnées dérivées des mocks CRMEndpoint rapports/statistiques

2. Création des pages manquantes

Plusieurs entrées de la sidebar pointent vers "#" — ces pages n’existent pas encore et doivent être créées :

  • Documentation : Introduction, Démarrage rapide, Tutoriels, Changelog
  • Paramètres : Général, Facturation, Limites
  • Support

3. Nettoyage de la sidebar

Les libellés de navigation contiennent des marqueurs de statut de développement visibles en production ("home OK", "Rapports ~OK~", etc.). Ces annotations doivent être supprimées du fichier app-sidebar.tsx.

4. Complétion du module Compte (/home/account)

  • Renseigner les variables d’environnement vides VITE_VITRINE_CHANGE_PASSWORD, VITE_VITRINE_OTP, VITE_VITRINE_POP et les brancher sur les liens documentation correspondants dans Account.tsx.
  • Finaliser l’onglet Préférences (langue, notifications, thème) avec persistence API.
  • Vérifier le flux OTP/POP (POST /security/v1/otp, POST /security/v1/pop) de bout en bout.

5. Consolidation des hooks dupliqués

useTeamRoles et useTeamPermissions appellent les mêmes endpoints que useRoles / usePermissions mais retournent des structures différentes. Ces hooks doivent être fusionnés ou factorisés pour éviter la désynchronisation des données.

6. Correction du typo de routage

Le fichier routes/AppRooter.tsx contient une faute de frappe dans son nom (Rooter au lieu de Router). Renommer le fichier et mettre à jour tous les imports.

7. Réactivation de la Suspense dans App.tsx

Le wrapper <Suspense> est commenté dans App.tsx. Le rétablir avec un fallback de chargement adapté (skeleton ou spinner) pour améliorer l’expérience perçue lors du lazy loading des routes.

8. Gestion centralisée des appels API

Actuellement les appels fetch() sont dispersés directement dans les composants et formulaires (LoginForm, SignupForm, Account, NavUser, etc.). L’équipe doit introduire une couche de service ou un client HTTP centralisé (ex. un module lib/api.ts) pour :

  • Centraliser la gestion du token CSRF
  • Uniformiser le traitement des erreurs
  • Faciliter les tests et la maintenance

9. Module CRM — pages détail

Les pages de détail CRM (ProspectDetailPage, ContactDetailPage, NoteDetailPage, TacheDetailPage, CampagneDetailPage) sont actuellement affichées depuis des données mock statiques. Elles doivent être connectées aux endpoints REST correspondants et intégrer des formulaires de création/édition fonctionnels.


Ce qui fonctionne déjà

ModuleÉtat
Authentification (login/register)✅ Opérationnel
Guard de session (/session/v1/check)✅ Opérationnel
Profil utilisateur (/user/v1/me)✅ Opérationnel
Gestion des rôles et permissions✅ Opérationnel
Feedback (WebSocket + REST)✅ Opérationnel
Déconnexion✅ Opérationnel
Changement de mot de passe✅ Opérationnel