Aller au contenu

Détails techniques

Clé API

La clé API est un secret personnel. Un outil compatible l'utilise pour s'authentifier auprès du service Aristote.

La clé doit être saisie dans un outil compatible : OpenCode, un programme, ou un autre outil explicitement testé.

Paramètres API

Paramètre Valeur
Format API compatible OpenAI
Base URL https://llm.aristote.education/v1
Endpoint chat /chat/completions
Authentification Authorization: Bearer <clé-api>
Modèle conseillé pour commencer qwen-3.6-35b-instruct
Modèles Catalogue et compatibilité OpenCode

Modèles

Conversation dans OpenCode

Identifiant Usage Dans OpenCode
qwen-3.6-35b-instruct Conversation et génération de texte Oui, modèle par défaut
qwen-3.6-35b-instruct-reasoning-high Variante Qwen Reasoning High Oui
gemma-4-31b Conversation et génération de texte Oui
gpt-oss-120b Conversation et génération de texte Oui, accès intermittent
llama-3.1-8b Conversation et génération de texte Oui
mistral-small-3.2-24b Conversation et génération de texte Oui
mistral-medium-latest Conversation et génération de texte Oui, erreur serveur

Si GPT OSS renvoie une erreur HTTP 400 ou Mistral Medium une erreur HTTP 500, passez à Qwen standard ou à Gemma.

Recherche documentaire

Modèle Fonction
bge-m3 Encode les textes en vecteurs (embeddings) pour rechercher des passages par similarité de sens.
bge-reranker-v2-m3 Réordonne les passages retrouvés selon leur pertinence pour la question.

Dans une application de recherche documentaire, ces modèles servent à sélectionner les passages à fournir à un modèle comme Qwen, qui rédige la réponse.

Sources : BGE-M3 et BGE Reranker.

Limites configurées

Pour Qwen Reasoning High et les deux modèles Mistral, limit fixe un budget local de 32 768 tokens de contexte et 4 096 tokens de sortie. Ces valeurs ne décrivent pas les plafonds du service, qui sont à confirmer auprès de la DISI. /v1/models ne fournit pas ces plafonds.

Configuration Desktop

Configuration automatique

Les commandes de la page Desktop téléchargent le configurateur depuis ce site. Il installe OpenCode Desktop si l'application n'est pas détectée, puis ajoute ou met à jour les modèles Aristote. Une connexion Aristote existante conserve son identifiant, son authentification et ses réglages. Les modèles ajoutés manuellement restent disponibles. Le modèle par défaut n'est changé que si aucun n'est défini.

Le script modifie opencode.jsonc s'il existe, sinon opencode.json. Si les deux fichiers existent, il tient compte des réglages de opencode.json sans modifier ce fichier. Les autres connexions et réglages sont conservés. Une copie intégrale du fichier modifié est créée à côté, avec le suffixe .backup-…. Le fichier JSONC est réécrit sans commentaires ; la sauvegarde conserve l'original.

OpenCode peut garder les identifiants de connexion séparément des réglages : dans auth.json pour la version 1 ou dans sa base de données pour la version 2. Le configurateur ne lit ni ne modifie ces identifiants. Il conserve la connexion existante, même si aucun champ apiKey n'apparaît dans les réglages. Les références {env:...}, {file:...} et les en-têtes d'authentification sont également conservés. Stockage des connexions OpenCode.

Une clé est demandée lors de la création d'une connexion, ou si une valeur incomplète est présente dans le champ apiKey. Le script ne teste pas la connexion au service Aristote.

Système Installation automatique
Windows 64 bits Installateur officiel x64, après vérification de sa signature Windows.
macOS Intel ou Apple Silicon Image disque officielle, vérification de signature et de Gatekeeper, puis copie dans ~/Applications.
Linux x86_64 Paquet officiel .deb avec apt ou .rpm avec dnf. Python 3 est installé s'il est absent.

Les téléchargements proviennent du site OpenCode. Une installation détectée est conservée, sans mise à jour automatique. Le script compare sa version à la dernière version stable de Desktop et affiche un lien de téléchargement si elle est plus récente. Il ne consulte pas la version de la CLI. Si la version installée est illisible ou le service de mise à jour inaccessible, la configuration Aristote reste possible. Le script demande alors s'il faut mettre à jour les modèles Aristote. Une réponse négative, ou Entrée sans réponse, conserve les réglages et la clé sans modification. Une réponse positive lance la configuration et la sauvegarde décrites ci-dessus. Sous Windows, le script recherche l'application dans les emplacements usuels 32 et 64 bits, le registre des logiciels installés et les raccourcis OpenCode du menu Démarrer et du Bureau. Si elle n'est pas détectée, il demande de choisir entre configurer une installation existante (1, sans téléchargement) et télécharger puis installer OpenCode (2). Entrée sans réponse annule la procédure. Sous macOS, il vérifie /Applications et ~/Applications. Sous Linux, il recherche les lanceurs ai.opencode.desktop et opencode-desktop dans le PATH.

La clé est enregistrée sur l'ordinateur ; le configurateur ne l'envoie à aucun serveur. OpenCode l'utilise ensuite pour se connecter à Aristote.

Sources : Windows, macOS, Linux et lanceur macOS/Linux.

Prérequis Linux

La commande utilise curl. S'il n'est pas installé :

# Debian, Ubuntu, Devuan
sudo apt install curl
# Fedora
sudo dnf install curl

Relancez ensuite la commande de la page Desktop. Exécutez le configurateur avec votre compte habituel, sans sudo. Il appelle lui-même sudo pour installer les paquets nécessaires. Sous les autres distributions ou architectures, installez OpenCode Desktop et Python 3 manuellement, ou utilisez la configuration manuelle ci-dessous.

OpenCode Desktop est proposé en paquets .deb et .rpm sur la page de téléchargement officielle.

Installation manuelle

Télécharger la configuration Desktop

Remplacez sk... à compléter par votre clé, puis enregistrez-le sous le nom opencode.json dans le dossier suivant :

Système Dossier
Windows %USERPROFILE%\.config\opencode (à coller dans la barre d'adresse de l'Explorateur)
macOS ~/.config/opencode (Finder → Aller → Aller au dossier)
Linux ~/.config/opencode (ou $XDG_CONFIG_HOME/opencode si cette variable est définie)

Créez le dossier s'il n'existe pas. Si vous avez déjà une configuration, sauvegardez-la et ajoutez uniquement l'entrée providers.aristote du fichier téléchargé à votre section providers.

Ce fichier utilise le format OpenCode 2. Le configurateur automatique utilise le format 1 lorsqu'aucune section providers n'existe déjà, pour rester compatible avec OpenCode CLI 1. OpenCode 2 sait aussi lire ce format, d'après la documentation de migration.

Quittez complètement OpenCode, puis rouvrez-le.

Dépannage

  • Téléchargement ou installation interrompus : la configuration Aristote n'est pas lancée. Vous pouvez installer OpenCode depuis son site, puis relancer la commande.
  • Signature de l'installateur non validée : le script n'exécute pas le fichier. Contactez votre support informatique si le problème persiste avec l'installateur officiel.
  • Installation non détectée sous Windows : si OpenCode est déjà installé, choisissez 1 pour configurer Aristote sans réinstaller l'application. Si l'installateur s'est terminé sans erreur mais que l'emplacement reste introuvable, le script affiche un avertissement et poursuit la configuration. Ouvrez ensuite OpenCode depuis votre raccourci habituel.
  • Installation non détectée sous macOS ou Linux : vérifiez les emplacements indiqués plus haut, ou utilisez la configuration manuelle.
  • « Custom Providers are unavailable on this server » : ce défaut de l'interface est signalé dans Desktop 2.0.14 et 2.0.16. La procédure automatique évite ce formulaire.
  • Un fichier opencode.jsonc existe déjà : il est mis à jour après sauvegarde, en conservant ses réglages.
  • Le fichier existant ne peut pas être lu : aucun fichier n'est modifié. Un fichier opencode.json ou opencode.jsonc invalide doit être corrigé manuellement.
  • Aristote n'apparaît pas : quittez complètement OpenCode et rouvrez-le. Une configuration propre au dossier ouvert peut aussi modifier la liste des modèles.
  • Erreur d'authentification : vérifiez votre clé dans votre compte Aristote. Si elle est enregistrée dans les réglages des fournisseurs d'OpenCode, reconnectez Aristote depuis ces réglages. Si elle figure dans un champ apiKey de opencode.json ou opencode.jsonc, remplacez-la dans ce fichier. Redémarrez ensuite OpenCode. Relancer le configurateur conserve la connexion existante.

Exemple curl

curl "https://llm.aristote.education/v1/chat/completions" \
  -H "Authorization: Bearer sk-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen-3.6-35b-instruct",
    "messages": [{"role": "user", "content": "Bonjour"}],
    "stream": true
  }'

Exemple Python

from openai import OpenAI

client = OpenAI(
    base_url="https://llm.aristote.education/v1",
    api_key="sk-...",
)

response = client.chat.completions.create(
    model="qwen-3.6-35b-instruct",
    messages=[{"role": "user", "content": "Bonjour"}],
)

print(response.choices[0].message.content)

Parcours

Parcours clé API

Limites à connaître

  • La qualité dépend du modèle choisi.
  • Les modèles Aristote ne remplacent pas automatiquement les meilleurs modèles propriétaires pour tous les usages.
  • Les tâches longues, le tool-calling et les workflows agentiques doivent être testés au cas par cas.
  • Les réponses doivent être vérifiées avant usage scientifique, administratif ou pédagogique.
  • Les quotas, modèles disponibles et limites de contexte sont maintenus par la DISI de CentraleSupélec.