{"title":"FAQ dépannage","slug":"troubleshooting","category":"faq","summary":"Solutions aux problèmes courants de Synapse — auth, réseau, données, déploiement.","audience":["human","llm"],"tags":["faq","troubleshooting","problems","solutions"],"difficulty":"beginner","updated":"2026-06-27","word_count":790,"read_minutes":4,"lang":"fr","translated":true,"requested_lang":"fr","content_markdown":"\n# FAQ dépannage\n\nSolutions aux problèmes courants de Synapse.\n\n## Je ne peux pas me connecter\n\n### Symptômes\n\n- `POST /login` renvoie 401\n- \"Invalid email or password\"\n\n### Solutions\n\n1. **Vérifiez que l'email est correct** — sensible à la casse\n2. **Vérifiez le mot de passe** — minimum 6 caractères\n3. **Inscrivez-vous d'abord** si vous n'avez pas de compte : `POST /register`\n4. **Réinitialisez le mot de passe** (si SMTP configuré) via l'interface web\n\n## J'ai perdu ma Mind Key\n\n### Symptômes\n\n- Impossible d'accéder aux mémoires\n- La Mind Key a été supprimée/perdue\n\n### Solutions\n\nLes Mind Keys ne peuvent pas être récupérées. Vous devez :\n\n1. Vous connecter pour obtenir un JWT : `POST /login`\n2. Lister les minds : `GET /minds` (avec JWT)\n3. Créer un nouveau mind : `POST /minds`\n4. Sauvegarder la nouvelle Mind Key\n5. (Optionnel) Supprimer l'ancien mind : `DELETE /minds/:id`\n\n**Les données dans l'ancien mind sont perdues** sauf si vous retrouvez la Mind Key.\n\n## Les appels API renvoient 401\n\n### Symptômes\n\n- Tous les appels API renvoient 401 Unauthorized\n- \"Mind Key fehlt oder ungültig\"\n\n### Solutions\n\n1. **Vérifiez le format de l'en-tête** : `Authorization: Bearer mk_...`\n2. **Vérifiez que la Mind Key commence par `mk_`** (pas `eyJ` qui est un JWT)\n3. **Testez directement** :\n   ```bash\n   curl -H \"Authorization: Bearer mk_YOUR_KEY\" \\\n        https://synapse.schaefer.zone/memory/recall\n   ```\n4. **La Mind Key est peut-être révoquée** — créez un nouveau mind\n\nVoir [Authentification](/docs/getting-started/authentication).\n\n## Les appels API renvoient 404\n\n### Symptômes\n\n- 404 Not Found\n- \"Route not found\"\n\n### Solutions\n\n> [!CRITICAL]\n> Ne devinez pas les chemins d'endpoints. Seuls les chemins dans `GET /endpoints`\n> existent.\n\n1. **Vérifiez les endpoints valides** : `curl https://synapse.schaefer.zone/endpoints`\n2. **Comparez l'URL exactement** — sensible à la casse, pas de barre oblique finale\n3. **Vérifiez la méthode HTTP** — `GET /memory` vs `POST /memory` sont différents\n\n## Les appels API renvoient 429\n\n### Symptômes\n\n- 429 Too Many Requests\n- \"Rate limit exceeded\"\n\n### Solutions\n\n1. **Passez à l'auth par en-tête** (sans limite de débit) :\n   ```bash\n   # À éviter\n   curl \".../memory/recall?key=mk_...\"\n   \n   # À faire\n   curl -H \"Authorization: Bearer mk_...\" .../memory/recall\n   ```\n2. **Attendez `Retry-After` secondes** si vous devez utiliser `?key=`\n\nVoir [Limites de débit](/docs/api/rate-limits).\n\n## La recherche mémoire ne renvoie aucun résultat\n\n### Symptômes\n\n- `GET /memory/search?q=...` renvoie vide\n- Vous savez que des mémoires existent\n\n### Solutions\n\n1. **Vérifiez que les mémoires existent** : `GET /memory/recall`\n2. **Vérifiez la syntaxe de recherche** — FTS5 a une syntaxe spécifique\n3. **Essayez une requête plus simple** — `?q=docker` au lieu de `?q=docker+swarm+deployment`\n4. **Utilisez la recherche sémantique** pour les requêtes conceptuelles : `GET /memory/semantic-search?q=...`\n\nVoir [Recherche FTS5](/docs/concepts/fts5-search).\n\n## Les mémoires ne persistent pas\n\n### Symptômes\n\n- POST /memory renvoie un succès\n- GET /memory/recall ne les affiche pas\n\n### Solutions\n\n1. **Vérifiez que vous utilisez la même Mind Key** — des clés différentes = des minds différents\n2. **Vérifiez la réponse** — POST renvoie `{ \"id\": \"mem_...\", \"status\": \"stored\" }`\n3. **Essayez GET /memory** (liste JSON) au lieu de /memory/recall (texte)\n4. **Vérifiez le filtre** — `?category=` ou `?tag=` peut les masquer\n\n## Les outils n'apparaissent pas dans Claude Desktop\n\n### Symptômes\n\n- Claude Desktop affiche 0 outils\n- Pas d'icône 🔌\n\n### Solutions\n\n1. **Redémarrez Claude Desktop complètement** (Cmd+Q)\n2. **Vérifiez que le fichier de config est du JSON valide**\n3. **Vérifiez Node.js 18+** installé\n4. **Exécutez MCP manuellement** : `npx -y synapse-mcp-api@latest`\n5. **Consultez les logs** : `~/Library/Logs/Claude/mcp.log`\n\nVoir [Dépannage MCP](/docs/mcp/troubleshooting).\n\n## Synapse est hors ligne\n\n### Symptômes\n\n- Impossible d'atteindre synapse.schaefer.zone\n- curl expire\n\n### Solutions\n\n1. **Vérifiez votre internet** — essayez un autre site\n2. **Vérifiez la santé de Synapse** : `curl https://synapse.schaefer.zone/health`\n3. **Attendez** — peut être une panne temporaire ou un déploiement\n4. **Vérifiez la page de statut** (si disponible)\n\nPour l'auto-hébergement : vérifiez le statut du conteneur Docker, la connexion à la\nbase de données.\n\n## Erreurs de base de données\n\n### Symptômes\n\n- 500 Internal Server Error\n- \"Database connection failed\"\n\n### Solutions\n\nPour l'auto-hébergement :\n\n1. **Vérifiez que PostgreSQL fonctionne** : `docker ps | grep postgres`\n2. **Vérifiez DATABASE_URL** dans l'environnement\n3. **Vérifiez les migrations** : `npm run migrate:check`\n4. **Vérifiez l'espace disque** : `df -h`\n\nPour l'hébergement : signalez au support.\n\n## Le webhook ne se déclenche pas\n\n### Symptômes\n\n- Webhook enregistré mais pas de rappels reçus\n- Pas de POST vers votre URL\n\n### Solutions\n\n1. **Vérifiez que l'URL est accessible** : `curl -X POST your-url -d '{}'`\n2. **Vérifiez le filtre d'événements** — `memory.*` correspond à tous les événements de mémoire\n3. **Testez le webhook** : `POST /webhooks/:id/test`\n4. **Vérifiez que le webhook est activé** : `GET /webhooks/:id`\n5. **Vérifiez le SSL** — Synapse requiert un HTTPS valide pour les URLs de webhook\n\nVoir [API Webhooks](/docs/api/webhooks).\n\n## La tâche cron ne s'exécute pas\n\n### Symptômes\n\n- Tâche cron créée mais ne se déclenche pas\n- `next_run` ne se met pas à jour\n\n### Solutions\n\n1. **Vérifiez la syntaxe de planification** — doit être un cron à 5 champs valide OU un entier en secondes\n2. **Vérifiez que l'endpoint est autorisé** — doit être http(s), pas d'IP privées\n3. **Vérifiez que la tâche est activée** : `GET /cron`\n4. **Attendez la prochaine heure planifiée** — cron n'est pas instantané\n\nVoir [Cron & Scheduler](/docs/api/cron).\n\n## Besoin d'aide supplémentaire ?\n\n1. **Consultez la documentation existante** : <https://synapse.schaefer.zone/docs>\n2. **Recherchez dans les docs** : `GET /docs/search?q=your+question`\n3. **Ouvrez un ticket** : <https://gitlab.com/schaefer-services/synapse/-/issues>\n4. **Contact** : voir la page `/support`\n\n## Prochaines étapes\n\n- [Erreurs & gestion des erreurs](/docs/api/errors)\n- [FAQ API](/docs/faq/api-faq)\n- [Dépannage MCP](/docs/mcp/troubleshooting)\n","content_html":"<h1>FAQ dépannage</h1>\n<p>Solutions aux problèmes courants de Synapse.</p>\n<h2>Je ne peux pas me connecter</h2>\n<h3>Symptômes</h3>\n<ul>\n<li><code>POST /login</code> renvoie 401</li>\n<li>&quot;Invalid email or password&quot;</li>\n</ul>\n<h3>Solutions</h3>\n<ol>\n<li><strong>Vérifiez que l&#39;email est correct</strong> — sensible à la casse</li>\n<li><strong>Vérifiez le mot de passe</strong> — minimum 6 caractères</li>\n<li><strong>Inscrivez-vous d&#39;abord</strong> si vous n&#39;avez pas de compte : <code>POST /register</code></li>\n<li><strong>Réinitialisez le mot de passe</strong> (si SMTP configuré) via l&#39;interface web</li>\n</ol>\n<h2>J&#39;ai perdu ma Mind Key</h2>\n<h3>Symptômes</h3>\n<ul>\n<li>Impossible d&#39;accéder aux mémoires</li>\n<li>La Mind Key a été supprimée/perdue</li>\n</ul>\n<h3>Solutions</h3>\n<p>Les Mind Keys ne peuvent pas être récupérées. Vous devez :</p>\n<ol>\n<li>Vous connecter pour obtenir un JWT : <code>POST /login</code></li>\n<li>Lister les minds : <code>GET /minds</code> (avec JWT)</li>\n<li>Créer un nouveau mind : <code>POST /minds</code></li>\n<li>Sauvegarder la nouvelle Mind Key</li>\n<li>(Optionnel) Supprimer l&#39;ancien mind : <code>DELETE /minds/:id</code></li>\n</ol>\n<p><strong>Les données dans l&#39;ancien mind sont perdues</strong> sauf si vous retrouvez la Mind Key.</p>\n<h2>Les appels API renvoient 401</h2>\n<h3>Symptômes</h3>\n<ul>\n<li>Tous les appels API renvoient 401 Unauthorized</li>\n<li>&quot;Mind Key fehlt oder ungültig&quot;</li>\n</ul>\n<h3>Solutions</h3>\n<ol>\n<li><strong>Vérifiez le format de l&#39;en-tête</strong> : <code>Authorization: Bearer mk_...</code></li>\n<li><strong>Vérifiez que la Mind Key commence par <code>mk_</code></strong> (pas <code>eyJ</code> qui est un JWT)</li>\n<li><strong>Testez directement</strong> :<pre><code class=\"hljs language-bash\">curl -H <span class=\"hljs-string\">&quot;Authorization: Bearer mk_YOUR_KEY&quot;</span> \\\n     https://synapse.schaefer.zone/memory/recall</code></pre></li>\n<li><strong>La Mind Key est peut-être révoquée</strong> — créez un nouveau mind</li>\n</ol>\n<p>Voir <a href=\"/docs/getting-started/authentication\">Authentification</a>.</p>\n<h2>Les appels API renvoient 404</h2>\n<h3>Symptômes</h3>\n<ul>\n<li>404 Not Found</li>\n<li>&quot;Route not found&quot;</li>\n</ul>\n<h3>Solutions</h3>\n<div class=\"callout callout-critical\">Ne devinez pas les chemins d'endpoints. Seuls les chemins dans `GET /endpoints`\nexistent.</div><ol>\n<li><strong>Vérifiez les endpoints valides</strong> : <code>curl https://synapse.schaefer.zone/endpoints</code></li>\n<li><strong>Comparez l&#39;URL exactement</strong> — sensible à la casse, pas de barre oblique finale</li>\n<li><strong>Vérifiez la méthode HTTP</strong> — <code>GET /memory</code> vs <code>POST /memory</code> sont différents</li>\n</ol>\n<h2>Les appels API renvoient 429</h2>\n<h3>Symptômes</h3>\n<ul>\n<li>429 Too Many Requests</li>\n<li>&quot;Rate limit exceeded&quot;</li>\n</ul>\n<h3>Solutions</h3>\n<ol>\n<li><strong>Passez à l&#39;auth par en-tête</strong> (sans limite de débit) :<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># À éviter</span>\ncurl <span class=\"hljs-string\">&quot;.../memory/recall?key=mk_...&quot;</span>\n\n<span class=\"hljs-comment\"># À faire</span>\ncurl -H <span class=\"hljs-string\">&quot;Authorization: Bearer mk_...&quot;</span> .../memory/recall</code></pre></li>\n<li><strong>Attendez <code>Retry-After</code> secondes</strong> si vous devez utiliser <code>?key=</code></li>\n</ol>\n<p>Voir <a href=\"/docs/api/rate-limits\">Limites de débit</a>.</p>\n<h2>La recherche mémoire ne renvoie aucun résultat</h2>\n<h3>Symptômes</h3>\n<ul>\n<li><code>GET /memory/search?q=...</code> renvoie vide</li>\n<li>Vous savez que des mémoires existent</li>\n</ul>\n<h3>Solutions</h3>\n<ol>\n<li><strong>Vérifiez que les mémoires existent</strong> : <code>GET /memory/recall</code></li>\n<li><strong>Vérifiez la syntaxe de recherche</strong> — FTS5 a une syntaxe spécifique</li>\n<li><strong>Essayez une requête plus simple</strong> — <code>?q=docker</code> au lieu de <code>?q=docker+swarm+deployment</code></li>\n<li><strong>Utilisez la recherche sémantique</strong> pour les requêtes conceptuelles : <code>GET /memory/semantic-search?q=...</code></li>\n</ol>\n<p>Voir <a href=\"/docs/concepts/fts5-search\">Recherche FTS5</a>.</p>\n<h2>Les mémoires ne persistent pas</h2>\n<h3>Symptômes</h3>\n<ul>\n<li>POST /memory renvoie un succès</li>\n<li>GET /memory/recall ne les affiche pas</li>\n</ul>\n<h3>Solutions</h3>\n<ol>\n<li><strong>Vérifiez que vous utilisez la même Mind Key</strong> — des clés différentes = des minds différents</li>\n<li><strong>Vérifiez la réponse</strong> — POST renvoie <code>{ &quot;id&quot;: &quot;mem_...&quot;, &quot;status&quot;: &quot;stored&quot; }</code></li>\n<li><strong>Essayez GET /memory</strong> (liste JSON) au lieu de /memory/recall (texte)</li>\n<li><strong>Vérifiez le filtre</strong> — <code>?category=</code> ou <code>?tag=</code> peut les masquer</li>\n</ol>\n<h2>Les outils n&#39;apparaissent pas dans Claude Desktop</h2>\n<h3>Symptômes</h3>\n<ul>\n<li>Claude Desktop affiche 0 outils</li>\n<li>Pas d&#39;icône 🔌</li>\n</ul>\n<h3>Solutions</h3>\n<ol>\n<li><strong>Redémarrez Claude Desktop complètement</strong> (Cmd+Q)</li>\n<li><strong>Vérifiez que le fichier de config est du JSON valide</strong></li>\n<li><strong>Vérifiez Node.js 18+</strong> installé</li>\n<li><strong>Exécutez MCP manuellement</strong> : <code>npx -y synapse-mcp-api@latest</code></li>\n<li><strong>Consultez les logs</strong> : <code>~/Library/Logs/Claude/mcp.log</code></li>\n</ol>\n<p>Voir <a href=\"/docs/mcp/troubleshooting\">Dépannage MCP</a>.</p>\n<h2>Synapse est hors ligne</h2>\n<h3>Symptômes</h3>\n<ul>\n<li>Impossible d&#39;atteindre synapse.schaefer.zone</li>\n<li>curl expire</li>\n</ul>\n<h3>Solutions</h3>\n<ol>\n<li><strong>Vérifiez votre internet</strong> — essayez un autre site</li>\n<li><strong>Vérifiez la santé de Synapse</strong> : <code>curl https://synapse.schaefer.zone/health</code></li>\n<li><strong>Attendez</strong> — peut être une panne temporaire ou un déploiement</li>\n<li><strong>Vérifiez la page de statut</strong> (si disponible)</li>\n</ol>\n<p>Pour l&#39;auto-hébergement : vérifiez le statut du conteneur Docker, la connexion à la\nbase de données.</p>\n<h2>Erreurs de base de données</h2>\n<h3>Symptômes</h3>\n<ul>\n<li>500 Internal Server Error</li>\n<li>&quot;Database connection failed&quot;</li>\n</ul>\n<h3>Solutions</h3>\n<p>Pour l&#39;auto-hébergement :</p>\n<ol>\n<li><strong>Vérifiez que PostgreSQL fonctionne</strong> : <code>docker ps | grep postgres</code></li>\n<li><strong>Vérifiez DATABASE_URL</strong> dans l&#39;environnement</li>\n<li><strong>Vérifiez les migrations</strong> : <code>npm run migrate:check</code></li>\n<li><strong>Vérifiez l&#39;espace disque</strong> : <code>df -h</code></li>\n</ol>\n<p>Pour l&#39;hébergement : signalez au support.</p>\n<h2>Le webhook ne se déclenche pas</h2>\n<h3>Symptômes</h3>\n<ul>\n<li>Webhook enregistré mais pas de rappels reçus</li>\n<li>Pas de POST vers votre URL</li>\n</ul>\n<h3>Solutions</h3>\n<ol>\n<li><strong>Vérifiez que l&#39;URL est accessible</strong> : <code>curl -X POST your-url -d &#39;{}&#39;</code></li>\n<li><strong>Vérifiez le filtre d&#39;événements</strong> — <code>memory.*</code> correspond à tous les événements de mémoire</li>\n<li><strong>Testez le webhook</strong> : <code>POST /webhooks/:id/test</code></li>\n<li><strong>Vérifiez que le webhook est activé</strong> : <code>GET /webhooks/:id</code></li>\n<li><strong>Vérifiez le SSL</strong> — Synapse requiert un HTTPS valide pour les URLs de webhook</li>\n</ol>\n<p>Voir <a href=\"/docs/api/webhooks\">API Webhooks</a>.</p>\n<h2>La tâche cron ne s&#39;exécute pas</h2>\n<h3>Symptômes</h3>\n<ul>\n<li>Tâche cron créée mais ne se déclenche pas</li>\n<li><code>next_run</code> ne se met pas à jour</li>\n</ul>\n<h3>Solutions</h3>\n<ol>\n<li><strong>Vérifiez la syntaxe de planification</strong> — doit être un cron à 5 champs valide OU un entier en secondes</li>\n<li><strong>Vérifiez que l&#39;endpoint est autorisé</strong> — doit être http(s), pas d&#39;IP privées</li>\n<li><strong>Vérifiez que la tâche est activée</strong> : <code>GET /cron</code></li>\n<li><strong>Attendez la prochaine heure planifiée</strong> — cron n&#39;est pas instantané</li>\n</ol>\n<p>Voir <a href=\"/docs/api/cron\">Cron &amp; Scheduler</a>.</p>\n<h2>Besoin d&#39;aide supplémentaire ?</h2>\n<ol>\n<li><strong>Consultez la documentation existante</strong> : <a href=\"https://synapse.schaefer.zone/docs\">https://synapse.schaefer.zone/docs</a></li>\n<li><strong>Recherchez dans les docs</strong> : <code>GET /docs/search?q=your+question</code></li>\n<li><strong>Ouvrez un ticket</strong> : <a href=\"https://gitlab.com/schaefer-services/synapse/-/issues\">https://gitlab.com/schaefer-services/synapse/-/issues</a></li>\n<li><strong>Contact</strong> : voir la page <code>/support</code></li>\n</ol>\n<h2>Prochaines étapes</h2>\n<ul>\n<li><a href=\"/docs/api/errors\">Erreurs &amp; gestion des erreurs</a></li>\n<li><a href=\"/docs/faq/api-faq\">FAQ API</a></li>\n<li><a href=\"/docs/mcp/troubleshooting\">Dépannage MCP</a></li>\n</ul>\n","urls":{"html":"/docs/faq/troubleshooting","text":"/docs/faq/troubleshooting?format=text","json":"/docs/faq/troubleshooting?format=json","llm":"/docs/faq/troubleshooting?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}