Dans les secteurs hautement régulés tels que la finance, la défense, la santé ou la gestion des infrastructures d'importance vitale, l'adoption d'assistants de programmation basés sur l'intelligence artificielle se heurte à des exigences de conformité strictes. Le RGPD, les normes PCI-DSS, la réglementation sur le contrôle des exportations et les politiques internes de prévention des fuites de données (DLP) interdisent formellement l'envoi de code source propriétaire et de secrets de fabrication vers des modèles multilocataires hébergés sur le cloud public (tels que les API grand public d'OpenAI ou d'Anthropic Claude).
Pour lever ce point de blocage, JetBrains propose JetBrains AI Enterprise, un module d'entreprise géré de manière centralisée via JetBrains IDE Services. En déployant IDE Services au cœur d'un réseau d'entreprise isolé ou totalement déconnecté d'Internet (air-gapped), les administrateurs système peuvent configurer de façon centralisée des points de terminaison (endpoints) compatibles avec le standard OpenAI — propulsés par vLLM, llama.cpp, LM Studio ou des passerelles d'IA internes — et router l'ensemble des requêtes de chat de JetBrains AI Assistant exclusivement sur leur propre infrastructure privée.
Ce guide présente les étapes précises pour déployer et configurer JetBrains AI Enterprise avec des modèles locaux compatibles OpenAI, distribuer les profils d'entreprise aux développeurs et garantir le confinement absolu du code source dans le périmètre interne.
Séparation architecturale : AI Chat interactif et complétion de code
Avant d'entamer la configuration, les administrateurs doivent appréhender la séparation des flux au sein de l'écosystème JetBrains AI :
- AI Chat interactif et actions contextuelles : La fenêtre de dialogue, l'explication de portions de code, les suggestions de refactorisation, la génération de tests unitaires et la rédaction de messages de commit s'appuient sur des requêtes HTTP conformes aux spécifications OpenAI (
/v1/chat/completions). Les administrateurs peuvent orienter ces fonctionnalités vers n'importe quel cluster d'inférence interne exécutant des modèles spécialisés dans le code (tels que Qwen 2.5 Coder, Llama 3.3 ou DeepSeek Coder). - Complétion de code native : La complétion inline de lignes entières ou multilignes exige une latence inférieure à quelques dizaines de millisecondes. En environnement isolé, JetBrains AI Enterprise confie cette tâche à JetBrains Mellum, un moteur de complétion propriétaire déployé sur site sur des serveurs dédiés pourvus de GPU NVIDIA (tels que les accélérateurs L40, H100 ou H200).
En associant un serveur local compatible OpenAI pour le chat et une instance sur site de Mellum pour la complétion, l'entreprise bénéficie d'une couverture fonctionnelle complète en réseau hermétique, éliminant tout risque d'exfiltration de propriété intellectuelle.
Prérequis et préparation de l'environnement
Avant d'accéder à la console d'administration de JetBrains IDE Services, assurez-vous de la disponibilité des composants suivants :
- Serveur JetBrains IDE Services : Déployé sur le réseau d'entreprise (via Helm Charts sur Kubernetes ou conteneurs Docker) et sécurisé par un certificat TLS d'entreprise valide.
- Licence AI Enterprise activée : Activée sur le compte JetBrains de l'organisation et provisionnée dans la rubrique License & Activation de l'instance IDE Services.
- Cluster d'inférence local compatible OpenAI : Un service d'inférence en fonctionnement exposant une API au format standard d'OpenAI (par exemple
http://vllm-cluster.internal:8000/v1ou via une passerelle d'entreprisehttps://ai-gateway.corp.internal/v1).- Moteurs compatibles : vLLM, llama.cpp, LM Studio ou proxys applicatifs d'entreprise.
- Le point de terminaison doit prendre en charge les flux de requêtes et de réponses
/v1/chat/completions. - Le tokenizer du modèle doit intégrer un template de chat (chat template) approprié.
- Prérequis postes clients : Les développeurs doivent disposer de JetBrains Toolbox App (version 2.5.1 ou supérieure) connectée au serveur IDE Services de l'entreprise.
Étape 1 : Déployer et tester le serveur local compatible OpenAI
Vérifiez que le cluster d'inférence répond correctement aux sollicitations réseau issues de l'hôte hébergeant JetBrains IDE Services. Exemple de lancement de service avec vLLM :
vllm serve Qwen/Qwen2.5-Coder-32B-Instruct \
--host 0.0.0.0 \
--port 8000 \
--dtype auto \
--tensor-parallel-size 2 \
--api-key token-secret-interne \
--chat-template /chemin/vers/chat_template.jinja
Envoyez une requête de test depuis le réseau interne pour valider la communication et l'authentification :
curl -X POST https://ai-gateway.corp.internal/v1/chat/completions \
-H "Authorization: Bearer token-secret-interne" \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen2.5-Coder-32B-Instruct",
"messages": [{"role": "user", "content": "Ping"}]
}'
La réception d'une réponse JSON valide confirme que le serveur d'inférence est opérationnel et prêt pour l'intégration.
Étape 2 : Ajouter le fournisseur OpenAI Compatible dans IDE Services
La configuration s'effectue directement depuis l'interface web d'administration de JetBrains IDE Services :
- Connectez-vous à la Web UI de JetBrains IDE Services avec un compte administrateur.
- Dans le menu latéral de navigation, ouvrez la section Configuration puis l'onglet License & Activation.
- Faites défiler l'écran jusqu'à la section AI Enterprise et cliquez sur Settings.
- Sélectionnez l'onglet AI Providers.
- Cliquez sur Add provider et choisissez OpenAI Compatible dans la liste déroulante.
- Renseignez les paramètres dans la boîte de dialogue de configuration :
- Endpoint : Saisissez l'URL de base de votre passerelle ou serveur d'inférence (par exemple
https://ai-gateway.corp.internal/v1ouhttp://vllm.internal:8000/v1). Ne rajoutez pas/chat/completions, l'IDE complétant automatiquement les chemins de l'API. - Authentication / API Key : Indiquez le jeton Bearer ou la clé secrète configurée sur la passerelle d'inférence. Si votre passerelle utilise des en-têtes personnalisés, précisez le nom et la valeur de l'en-tête (Header).
- Model Name : Renseignez le nom exact du modèle exposé par le moteur d'inférence (par exemple
Qwen/Qwen2.5-Coder-32B-Instructoumeta-llama/Llama-3.3-70B-Instruct). - Tokens : Ajustez les seuils Max input tokens (longueur maximale du contexte d'entrée) et Max output tokens (longueur maximale de génération) en fonction des capacités de mémoire VRAM de vos GPU sur site.
- Endpoint : Saisissez l'URL de base de votre passerelle ou serveur d'inférence (par exemple
- Cliquez sur Test connection afin de valider la connectivité réseau et la conformité des identifiants.
- Une fois le test réussi, cliquez sur Save pour enregistrer le fournisseur.
Étape 3 : Définir le fournisseur local comme fournisseur par défaut
Pour contraindre l'ensemble des flux des développeurs vers l'infrastructure locale et interdire l'accès aux services cloud publics :
- Dans la liste des AI Providers, identifiez le fournisseur compatible OpenAI qui vient d'être créé.
- Définissez-le comme fournisseur Default (par défaut).
- Si des fournisseurs cloud publics (tels que le service standard JetBrains AI ou la plateforme cloud OpenAI) figurent dans la liste, désactivez-les ou retirez-les de la sélection par défaut. Conformément aux règles de la plateforme, lorsque JetBrains AI est sélectionné par défaut, il doit être l'unique fournisseur par défaut ; pour désigner un fournisseur sur site par défaut, JetBrains AI doit impérativement être désélectionné.
- Si l'entreprise héberge également une instance locale de JetBrains Mellum, basculez sur l'onglet Code Completion et sélectionnez Mellum comme moteur exclusif de complétion.
- Cliquez sur Save pour enregistrer les paramètres généraux.
Étape 4 : Configurer les profils d'entreprise (Profiles) et affecter les accès
JetBrains IDE Services utilise le mécanisme des Profiles pour distribuer automatiquement aux postes de travail les versions d'IDE, la sélection des plugins, les réglages de sécurité et les autorisations AI Enterprise :
- Dans la console IDE Services, accédez à la page Profiles.
- Sélectionnez le profil de l'équipe de développement concernée (par exemple Core Engineering Profile) ou cliquez sur Create profile pour en créer un nouveau.
- Dans la configuration du profil, repérez la section AI Enterprise.
- Vérifiez que la fonctionnalité AI Enterprise est active sur ce profil.
- Dans le champ de sélection du fournisseur, assurez-vous que Default provider (qui pointe vers votre modèle local) est bien appliqué.
- Associez le profil aux groupes d'utilisateurs appropriés ou définissez-le comme profil par défaut pour toute l'organisation.
- Cliquez sur Save changes pour valider la distribution.
Étape 5 : Valider l'expérience développeur dans les IDE
Dès la publication des politiques par l'administrateur, les postes des développeurs synchronisent les paramètres de manière totalement transparente :
- Connexion via Toolbox App : Le développeur démarre JetBrains Toolbox App sur sa machine et s'authentifie sur le serveur IDE Services de l'entreprise via le lien d'invitation ou le SSO d'entreprise.
- Provisionnement automatisé : Toolbox App bascule en mode Enterprise, déploie le profil assigné sur les IDE installés (IntelliJ IDEA, PyCharm, etc.) et active automatiquement le plugin AI Assistant.
- Utilisation du chat AI Assistant :
- En ouvrant le panneau latéral AI Assistant, le chat se connecte immédiatement au modèle interne configuré par l'administrateur.
- Le développeur peut interroger l'assistant sur le code, générer des tests unitaires ou solliciter des refactorisations.
- Les requêtes et extraits de code transitent exclusivement sur le réseau local interne, sans aucun rebond vers l'extérieur.
- Verrouillage de sécurité sur le poste : Dans le menu Settings | Tools | AI Assistant | Providers & API keys de l'IDE, la saisie individuelle de clés API (Bring Your Own Key - BYOK) et la connexion à des modèles tiers non autorisés sont bloquées par les règles d'entreprise, écartant tout risque de fuite accidentelle vers le cloud public.
Bonnes pratiques pour la sécurité et la production d'entreprise
Pour maintenir une haute disponibilité et un niveau de conformité irréprochable en environnement de production, veillez à appliquer les recommandations suivantes :
Gestion des autorités de certification internes (Internal CA)
En environnement air-gapped, les points de terminaison utilisent généralement des certificats émis par une autorité de certification d'entreprise interne. Assurez-vous d'injecter le certificat racine de l'autorité de certification interne dans le conteneur hébergeant IDE Services ainsi que dans les magasins de certificats des systèmes d'exploitation des développeurs, afin d'éviter tout échec de handshake TLS lors du streaming des réponses.
Dimensionnement matériel des GPU et contrôle de concurrence
Les requêtes de chat depuis les IDE intègrent d'importants fragments de code et des résumés d'arbres syntaxiques, augmentant sensiblement la taille des prompts.
- Avec vLLM, activez des mécanismes tels que PagedAttention, le traitement par lots continu (Continuous Batching) et le Chunked Prefill pour stabiliser la latence du premier jeton (TTFT) en période de forte charge.
- Définissez une limite stricte de jetons d'entrée dans IDE Services afin d'éviter qu'une requête volumineuse n'entraîne un dépassement de mémoire (Out of Memory - OOM) sur les GPU.
Centralisation des journaux et passerelle d'API
Intercalez une passerelle d'API interne (telle qu'Envoy, Kong ou Nginx) entre IDE Services et les serveurs d'inférence. Consignez l'identité des utilisateurs, l'horodatage et la consommation de jetons afin d'établir un journal d'audit complet répondant aux exigences strictes des secteurs de la finance et de la défense.
L'intégration de JetBrains AI Enterprise avec des modèles locaux compatibles OpenAI via JetBrains IDE Services offre aux entreprises le moyen idéal d'accélérer leur cycle de développement grâce à l'IA tout en garantissant la souveraineté et la protection intégrale de leur code source.