Aller au contenu principal

Assistant IA

Posez des questions sur votre code en langage naturel.

Vue d'Ensemble

L'Assistant IA ArchiCore comprend votre code et peut répondre à des questions comme :

  • "Comment fonctionne le système d'authentification ?"
  • "Qu'est-ce qui casserait si je modifiais UserService ?"
  • "Où est la logique de traitement des paiements ?"
  • "Explique le flux de données pour la création de commandes"

Utiliser l'Assistant

Interface Web

  1. Sélectionnez un projet
  2. Tapez votre question dans le panneau de chat
  3. Obtenez une réponse avec des références au code

CLI

Tapez simplement votre question en mode interactif :

> Comment fonctionne l'authentification des utilisateurs ?

Le système d'authentification dans ce projet utilise des tokens JWT.
Voici comment ça fonctionne :

1. **Flux de Login** (src/auth/login.ts)
- L'utilisateur soumet email/mot de passe
- Identifiants validés contre la base de données
- Token JWT généré avec l'ID utilisateur

2. **Validation du Token** (src/middleware/auth.ts)
- authMiddleware() extrait le token du header
- Token vérifié avec JWT_SECRET
- Utilisateur attaché à l'objet request

3. **Gestion des Sessions** (src/services/session.ts)
- Sessions stockées dans Redis
- Expiration de 7 jours par défaut
- Support du refresh token

Fichiers clés :
- src/auth/login.ts:45-78
- src/middleware/auth.ts:12-34
- src/services/session.ts:23-56

API

curl -X POST https://api.archicore.io/api/v1/projects/:id/ask \
-H "Authorization: Bearer VOTRE_API_KEY" \
-d '{"question": "Comment fonctionne l'authentification ?"}'

Types de Questions

Questions d'Architecture

> Quelle est l'architecture globale de ce projet ?
> Comment les modules sont-ils organisés ?
> Quels design patterns sont utilisés ?

Questions de Flux de Code

> Que se passe-t-il quand un utilisateur passe une commande ?
> Comment les données circulent-elles de l'API à la base de données ?
> Trace le cycle de vie de la requête pour /api/users

Questions d'Impact

> Qu'est-ce qui casserait si je modifiais UserService ?
> Quels fichiers dépendent du module de base de données ?
> Quels tests couvrent la logique de paiement ?

Questions de Localisation

> Où est la logique d'envoi d'emails ?
> Quel fichier gère l'inscription des utilisateurs ?
> Trouve le middleware de rate limiting

Questions d'Explication

> Explique ce que fait processOrder()
> Pourquoi cette fonction utilise-t-elle la récursion ?
> Quel est le but de la couche de cache ?

Conseils pour de Meilleures Réponses

Soyez Spécifique

❌ "Comment ça fonctionne ?"
✓ "Comment fonctionne le processus d'inscription des utilisateurs ?"

Fournissez du Contexte

❌ "Pourquoi c'est lent ?"
✓ "Pourquoi la fonction getProducts() dans src/api/products.ts pourrait-elle être lente ?"

Posez des Questions de Suivi

> Comment fonctionne l'authentification ?
[Réponse sur les tokens JWT...]

> Peux-tu me montrer le code pour la validation du token ?
[Montre le code spécifique...]

> Que se passe-t-il si le token est expiré ?
[Explique le flux de refresh token...]

Support des Langues

L'assistant répond dans la même langue que votre question :

> Comment fonctionne l'authentification ?

Le système d'authentification utilise des tokens JWT...

Limitations

L'assistant IA :

  • Ne connaît que le code indexé - Exécutez /index d'abord
  • Ne peut pas exécuter de code - Analyse uniquement le code statique
  • Peut avoir des infos obsolètes - Ré-indexez après les modifications
  • Se concentre sur votre projet - Ne discutera pas des bibliothèques externes en détail

Confidentialité

  • Les questions sont traitées par des modèles IA
  • Le contexte de votre code est envoyé pour analyse
  • Aucun code n'est stocké de façon permanente
  • Voir Politique de Confidentialité pour les détails