Main Page: Difference between revisions

From Essential
Jump to navigation Jump to search
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File:Infocepo-picture.png|thumb|right|Découvrir le cloud et l’IA sur infocepo.com]]
[[File:Infocepo-picture.png|thumb|right|Discover cloud and AI on infocepo.com]]


= infocepo.com – Cloud, IA & Labs =
= infocepo.com – Cloud, AI & Labs =


Bienvenue sur le portail '''infocepo.com'''.
Bienvenue sur le portail '''infocepo.com'''.


Ce wiki s’adresse aux administrateurs système, ingénieurs cloud, développeurs, étudiants et passionnés qui veulent :
Ce wiki documente l’écosystème '''Cloud, IA, automatisation et lab''' d’Infocepo. 
Il s’adresse aux :


* Comprendre les architectures modernes (Kubernetes, OpenStack, bare-metal, HPC…)
* administrateurs systèmes,
* Mettre en place des assistants IA privés et des outils de productivité
* ingénieurs cloud,
* Construire des labs concrets pour apprendre en pratiquant
* développeurs,
* Préparer des audits, migrations et automatisations à grande échelle
* étudiants,
* curieux qui veulent apprendre en pratiquant.


L’objectif : transformer la théorie en '''scripts, diagrammes et architectures réutilisables'''.
L’objectif est simple : transformer la théorie en '''scripts réutilisables, schémas, architectures, APIs et laboratoires concrets'''.


__TOC__
__TOC__
----
= Accès rapide =
== Portail principal ==
* [https://infocepo.com infocepo.com]
== Assistant IA ==
* [https://chat.infocepo.com Chat assistant]
== Liste des pages du wiki ==
* [[Special:AllPages|Toutes les pages]]
== Vue d’ensemble ==
* [[File:Ailab-architecture.png|thumb|'''Infra architecture overview''']]


----
----
Line 22: Line 40:
== Parcours recommandés ==
== Parcours recommandés ==


; 1. Monter un assistant IA privé
; 1. Construire un assistant IA privé
* Déployer un stack type : '''Open WebUI + Ollama + GPU''' (H100 ou GPU grand public)
* Déployer une stack type '''Open WebUI + Ollama + GPU'''
* Ajouter un modèle de chat + un modèle de résumé
* Ajouter un modèle de chat et un modèle de résumé
* Intégrer des données internes (RAG, embeddings)
* Brancher des données internes via '''RAG + embeddings'''


; 2. Lancer un lab Cloud
; 2. Lancer un lab cloud
* Créer un petit cluster (Kubernetes, OpenStack ou bare-metal)
* Créer un petit cluster Kubernetes, OpenStack ou bare-metal
* Mettre en place un pipeline de déploiement (Helm, Ansible, Terraform…)
* Mettre en place un pipeline de déploiement (Helm, Ansible, Terraform…)
* Ajouter un service IA (transcription, résumé, chatbot…)
* Ajouter un service IA : transcription, résumé, chatbot, OCR…


; 3. Préparer un audit/migration
; 3. Préparer un audit ou une migration
* Inventorier les serveurs avec '''ServerDiff.sh'''
* Inventorier les serveurs avec '''ServerDiff.sh'''
* Dessiner l’architecture cible (diagrammes cloud)
* Concevoir l’architecture cible
* Automatiser la migration avec des scripts reproductibles
* Automatiser la migration avec des scripts reproductibles


== Résumé des contenus ==
== Vue d’ensemble du contenu ==
* '''Guides IA & outils''' : assistants, modèles, évaluation, GPU, RAG
* '''Cloud & infrastructure''' : Kubernetes, OpenStack, HA, HPC, DevSecOps
* '''Labs & scripts''' : audit, migration, automatisation
* '''Comparatifs''' : Kubernetes vs OpenStack vs AWS vs bare-metal, etc.
 
----
 
= Vision =
 
[[File:Automation-full-vs-humans.png|thumb|right|The world after automation]]
 
Le but à long terme est de construire un environnement où :
 
* les assistants IA privés accélèrent la production,
* les tâches répétitives sont automatisées,
* les déploiements sont industrialisés,
* l’infrastructure reste '''compréhensible, portable et réutilisable'''.
 
[[File:SUMMARY-DIAGRAM-7311e6b1-aede-4989-ade2-a42d1a6e0ff2.png|thumb|right|Main page summary]]
 
----
 
= Catalogue rapide des services =
 
{| class="wikitable"
|+ Services principaux
! Catégorie !! Service !! Lien !! Rôle
|-
| API || LLM || [https://api.ailab.infocepo.com:wait-2026-06 API LLM] || Modèles de chat, code, RAG, OCR
|-
| API || STT || [https://api-audio2txt.ailab.infocepo.com/docs API STT] || Transcription audio
|-
| API || TTS || [https://api-txt2audio.ailab.infocepo.com/docs API TTS] || Synthèse vocale
|-
| API || Realtime AI || [https://github.com/ynotopec/api-realtime-ai api-realtime-ai] || Temps réel WebSocket / WebRTC
|-
| API || Image to Text || [https://api.ailab.infocepo.com:wait-2026-06 API LLM] || OCR / VLM via endpoint dédié
|-
| API || Summary || [https://api-summary.ailab.infocepo.com:wait-2026-06/docs API Summary] || Résumé de textes longs
|-
| API || Text Embeddings || [https://text-embeddings.ailab.infocepo.com:wait-2026-06/docs Text Embeddings] || Embeddings pour RAG
|-
| API || ChromaDB || [https://chromadb.ailab.infocepo.com:wait-2026-06 ChromaDB] || Base vecteur
|-
| API || Text to Image || [https://api-txt2image.ailab.infocepo.com/docs TXT2IMAGE] || Génération d’images
|-
| API || Diarization || [https://api-diarization.ailab.infocepo.com/docs Diarization] || Segmentation locuteurs
|-
| Observabilité || Monitoring || [https://grafana.ailab.infocepo.com:wait-2026-06 Grafana] || Dashboards techniques
|-
| Observabilité || Status || [https://uptime-kuma.ailab.infocepo.com:wait-2026-06/status/ai Uptime Kuma] || Disponibilité des services
|-
| Observabilité || Web stats || [https://web-stat.c1.ailab.infocepo.com:wait-2026-06 Web Stat] || Statistiques web
|-
| Observabilité || LLM stats || [https://api.ailab.infocepo.com:wait-2026-06/ui LLM Stat] || Vue API / usage
|-
| Outils || DataLab || [https://datalab.ailab.infocepo.com:wait-2026-06 DataLab] || Environnement de travail hors-production
|-
| Outils || Translation UI || [https://translate-rt.ailab.infocepo.com Translation] || Traduction
|-
| Outils || Demos || [https://demos.ailab.infocepo.com Demos] || Démonstrateurs
|}
 
----
 
= Nouveautés =
 
== Nouveautés 21/03/2026 ==
* Ajout de '''gemma4''' : Gemma 4 models are designed to deliver frontier-level performance at each size. They are well-suited for reasoning, agentic workflows, coding, and multimodal understanding.


* '''Guides & outils IA''' : assistants, modèles, évaluations, GPU
* Ajout de '''nemotron-cascade-2''' : modèle open 30B MoE NVIDIA orienté raisonnement et tâches agentiques.
* '''Cloud & infra''' : HA, HPC, web-scale, DevSecOps
* Ajout de [https://github.com/sst/opencode '''opencode'''] : CLI coder à comparer avec Aider / OpenHands.
* '''Labs & scripts''' : audit, migration, automation
* Ajout de [https://localai.ailab.infocepo.com:wait-2026-06 '''localai'''] : infrastructure locale unifiée pour STT / TTS / LLM.
* '''Tableaux comparatifs''' : Kubernetes vs OpenStack vs AWS vs bare-metal, etc.
* DGX Spark : architecture CPU ARM.
* Ajout de '''qwen3.5''' : famille de modèles open source multimodaux.
* Ajout de [https://github.com/ynotopec/api-convert2md '''api-convert2md'''] : extraction de tableaux pour RAG compatible Open WebUI.
* Mise à jour des paramètres '''RAG optimisation'''.
* Ajout de [https://github.com/ynotopec/coder-brain/blob/main/first-architecture.md '''experimental brains'''].
* Ajout de [https://github.com/ynotopec/legal-agent '''legal-agent'''].
* Ajout de [https://github.com/ynotopec/ai-security '''ai-security'''].
* Ajout de [https://langextract.ailab.infocepo.com '''langextract'''] : démo extraction d’entités.
* Ajout de [https://sam-audio.c1.ailab.infocepo.com:wait-2026-06 '''sam-audio'''] : séparation audio sémantique.
* Ajout de '''glm-4.7-flash''' : modèle 30B léger orienté performance / efficacité.
* Ajout de '''API Realtime''' : WebRTC / WebSocket bidirectionnel basse latence.
* Ajout de '''gpt-oss''' : modèles open-weight conçus pour raisonnement et tâches agentiques.


----
----


= futur =
= Priorités =
[[File:Automation-full-vs-humans.png|thumb|right|Le monde après l'automatisation]]
 
== Top tasks ==
* Ajouter [https://github.com/microsoft/presidio '''Presidio'''] : anonymisation / masquage PII, socle RGPD.
* Ajouter [https://github.com/sgl-project/sglang '''SGLang'''] : serving LLM haute performance.
* Ajouter [https://github.com/llm-d/llm-d '''llm-d'''] : blueprints + charts Kubernetes pour industrialiser les déploiements.
* Ajouter [https://github.com/ai-dynamo/dynamo '''Dynamo'''] : orchestration inférence multi-nœuds.
* Ajouter [https://github.com/vllm-project/guidellm '''GuideLLM'''] : capacity planning / benchmark réaliste.
* Ajouter [https://github.com/NVIDIA-NeMo/Guardrails '''NeMo Guardrails'''] : garde-fous et politiques.
 
== Backlog / veille ==
* OPENRAG > implement / evaluate / add OIDC
* short audio transcription
* translation latency > [https://github.com/ynotopec/api-realtime-ai api-realtime-ai]
* RAG sur PDF avec images
* compatibilité Open WebUI avec Agentic RAG
* scalability
* security > [https://github.com/ynotopec/ai-security ai-security] / [https://github.com/NVIDIA-NeMo/Guardrails NeMo Guardrails]
* [https://github.com/openclaw/openclaw openclaw]
* faster-whisper mutualisé
* API classificateur IA
* API résumé mutualisée
* API KV (LDAP user / group)
* API NER
* parsing structuré docs : granite-docling + meilisearch
* Temporal pour workflows critiques
* [https://github.com/appwrite/appwrite appwrite]
* [https://github.com/vllm-project/semantic-router semantic-router]
* [https://github.com/KeygraphHQ/shannon Shannon]
* [https://huggingface.co/Qwen/Qwen3-ASR-1.7B Qwen3-ASR-1.7B]
* [https://huggingface.co/tencent/Youtu-VL-4B-Instruct Youtu-VL-4B-Instruct]
* [https://huggingface.co/stepfun-ai/Step3-VL-10B Step3-VL-10B]
* [https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice Qwen3-TTS-12Hz-1.7B-CustomVoice]
* [https://github.com/resemble-ai/chatterbox chatterbox]
* deepset-ai/haystack
* meilisearch
* [https://huggingface.co/ibm-granite/granite-docling-258M granite-docling-258M]
* Airbyte
* [https://github.com/Aider-AI/aider aider]
* [https://github.com/continuedev/continue continue]
* OpenHands
* N8N
* API Compressor
* LightRAG
* [https://huggingface.co/Qwen/Qwen3-Omni-30B-A3B-Instruct Qwen3-Omni-30B-A3B-Instruct]
* Metabase
* browser-use
* MCP LLM
* Dify
* Rasa
* supabase
* mem0
* DeepResearch
* AppFlowy
* dx8152/Qwen-Edit-2509-Multiple-angles
 
----


= Assistants IA & Outils Cloud =
= Assistants IA & outils cloud =


== Assistants IA ==
== Assistants IA ==


; '''ChatGPT'''
; '''ChatGPT'''
* [https://chat.openai.com ChatGPT] – Assistant conversationnel public, adapté à l’exploration, à la rédaction et à l’expérimentation rapide.
* [https://chatgpt.com ChatGPT] – Assistant conversationnel public, utile pour exploration, rédaction, expérimentation rapide.


; '''Assistants IA auto-hébergés'''
; '''Assistants IA auto-hébergés'''
* [https://github.com/open-webui/open-webui Open WebUI] + [https://www.scaleway.com/en/h100-pcie-try-it-now/ GPU H100] + [https://ollama.com Ollama]   
* [https://github.com/open-webui/open-webui Open WebUI] + [https://ollama.com Ollama] + GPU  
: Stack type pour assistants privés, LLMs auto-hébergés et API compatibles OpenAI.
: Stack typique pour assistant privé, API OpenAI-compatible et expérimentation locale.
* [https://github.com/ynotopec/summarize Private summary] – Résumeur local, rapide et hors-ligne pour vos propres données.
* [https://github.com/ynotopec/summarize Private summary]
: Outil de résumé local, rapide et hors ligne.


== Développement, modèles & suivi ==
== Développement, modèles & veille ==


; '''Découvrir et suivre les modèles'''
; '''Découverte de modèles'''
* [https://ollama.com/library LLM Trending] – Bibliothèque de modèles (chat, code, RAG…) pour déploiement local.
* [https://ollama.com/library LLM Trending]
* [https://huggingface.co/models Models Trending] – Marketplace de modèles, filtrage par tâche, taille, licence.
* [https://huggingface.co/models Models Trending]
* [https://huggingface.co/models?pipeline_tag=image-text-to-text&sort=trending Img2txt Trending] – Modèles vision-langage (image → texte).
* [https://huggingface.co/models?pipeline_tag=image-text-to-text&sort=trending Img2txt Trending]
* [https://huggingface.co/spaces/TIGER-Lab/GenAI-Arena Txt2img Evaluation] – Comparaison de modèles de génération d’images.
* [https://huggingface.co/spaces/TIGER-Lab/GenAI-Arena Txt2img Evaluation]


; '''Évaluation & benchmarks'''
; '''Évaluation & benchmarks'''
* [https://lmarena.ai/leaderboard ChatBot Evaluation] – Classement de chatbots (modèles open-source et propriétaires).
* [https://lmarena.ai/leaderboard ChatBot Evaluation]
* [https://huggingface.co/spaces/mteb/leaderboard Embedding Leaderboard] – Benchmark des modèles d’embedding pour RAG et recherche sémantique.
* [https://huggingface.co/spaces/mteb/leaderboard Embedding Leaderboard]
* [https://ann-benchmarks.com Vectors DB Ranking] – Comparatif de bases vectorielles (latence, mémoire, fonctionnalités).
* [https://ann-benchmarks.com Vectors DB Ranking]
* [https://top500.org/lists/green500/ HPC Efficiency] – Classement des supercalculateurs les plus efficaces énergétiquement.
* [https://top500.org/lists/green500/ HPC Efficiency]


; '''Outils de développement & fine-tuning'''
; '''Outils de développement & fine-tuning'''
* [https://github.com/search?q=stars%3A%3E15000+forks%3A%3E1500+created%3A%3E2022-06-01&type=repositories&s=updated&o=desc Project Trending] – Grands projets open source récents, triés par popularité et activité.
* [https://github.com/search?q=stars%3A%3E15000+forks%3A%3E1500+created%3A%3E2022-06-01&type=repositories&s=updated&o=desc Project Trending]
* [https://github.com/hiyouga/LLaMA-Factory LLM Fine Tuning] – Framework avancé pour fine-tuning de LLMs (instruction-tuning, LoRA, etc.).
* [https://github.com/hiyouga/LLaMA-Factory LLM Fine Tuning]
* [https://www.perplexity.ai Perplexity AI] – Recherche avancée et synthèse orientée “copilote de recherche”.
* [https://www.perplexity.ai Perplexity AI]


== Matériel IA & GPU ==
== Matériel IA & GPU ==
* [https://www.nvidia.com/en-us/data-center/h100/ NVIDIA H100]
* NVIDIA 5080
* [https://www.mouser.fr/ProductDetail/BittWare/RS-GQ-GC1-0109?qs=ST9lo4GX8V2eGrFMeVQmFw%3D%3D GROQ LLM accelerator]
----
= Modèles ouverts & endpoints internes =
''Dernière mise à jour : 2026-03-30''


; '''GPU & accélérateurs'''
Les modèles ci-dessous correspondent à des '''endpoints logiques''' exposés derrière une passerelle.
* [https://www.nvidia.com/en-us/data-center/h100/ NVIDIA H100] GPU datacenter pour clusters Kubernetes et workloads IA intensifs.
 
* NVIDIA 5080 GPU grand public pour déploiements privés de LLMs à moindre coût.
{| class="wikitable"
* [https://www.mouser.fr/ProductDetail/BittWare/RS-GQ-GC1-0109?qs=ST9lo4GX8V2eGrFMeVQmFw%3D%3D GROQ LLM accelerator] Accélérateur matériel dédié à l’inférence LLM.
! Endpoint !! Description / usage principal
|-
| '''ai-chat''' || Basé sur '''gpt-oss-20b''' – chat généraliste, bon compromis coût / qualité
|-
| '''ai-translate''' || translategemma, température = 0 traduction déterministe et reproductible
|-
| '''ai-summary''' || qwen3 résumé de textes longs
|-
| '''ai-code''' || glm-4.7-flash – tâches agentiques, raisonnement et explication de code
|-
| '''ai-parse''' || qwen3 – extraction structurée, parsing logs / JSON / tableaux
|-
| '''ai-RAG-FR''' || qwen3 RAG en français
|}


----
----


= Modèles ouverts & Endpoints internes =
= API Realtime AI (DEV) =


''(Dernière mise à jour : 08/12/2025)''
'''Statut :''' environnement DEV, remplaçante prévue de l’API OpenAI pour les cas temps réel.


Les modèles ci-dessous correspondent à des '''endpoints logiques''' (par exemple via un proxy ou une gateway), choisis pour des usages précis.
== Configuration ==
{| class="wikitable"
! Variable !! Valeur
|-
| OPENAI_API_BASE || <code>wss://api-realtime-ai.ailab.infocepo.com:wait-2026-06/v1</code>
|-
| OPENAI_API_KEY || <code>sk-XXXXX</code>
|}


== Dépôt GitHub ==
* [https://github.com/ynotopec/api-realtime-ai ynotopec/api-realtime-ai]
== Page de test ==
* <code>external-test/half-duplex.html</code> — annulation d’écho + mode half-duplex.
== Compatibilité ==
Remplacer l’URL OpenAI par <code>$OPENAI_API_BASE</code> pour tester compatibilité et performances.
----
= API LLM (OpenAI compatible) =
* URL de base : <code>https://api.ailab.infocepo.com:wait-2026-06/v1</code>
* Création du token : [https://llm-token.ailab.infocepo.com:wait-2026-06 OPENAI_API_KEY]
* Documentation : [https://api.ailab.infocepo.com:wait-2026-06 Documentation API]
== Liste des modèles ==
<pre>
curl -X GET \
  'https://api.ailab.infocepo.com:wait-2026-06/v1/models' \
  -H 'Authorization: Bearer sk-XXXXX' \
  -H 'accept: application/json' \
  | jq | sed -rn 's#^.*id.*: "(.*)".*$#* \1#p' | sort -u
</pre>
== Modèles mis en avant ==
{| class="wikitable"
{| class="wikitable"
! Endpoint !! Description / Cas d’usage principal
! Model !! Commentaire
|-
| '''ai-chat''' || Basé sur '''gpt-oss-20b''' – Chat généraliste, bon compromis coût / qualité.
|-
|-
| '''ai-translate''' || gpt-oss-20b, température = 0 – Traduction déterministe, reproductible (FR, EN, autres langues).
| '''ai-chat''' || qwen3-coder
|-
|-
| '''ai-summary''' || qwen3 – Modèle optimisé pour la synthèse de textes longs (rapports, docs, transcriptions).
| '''ai-translate''' || qwen3-coder
|-
|-
| '''ai-code''' || gpt-oss-20b – Raisonnement sur le code, explication et refactorisation.
| '''ai-summary''' || qwen3-coder
|-
|-
| '''ai-code-completion''' || granite-2b – Complétion de code rapide, pensée pour l’auto-complétion IDE.
| '''ai-code-completion''' || qwen3-coder
|-
|-
| '''ai-parse''' || gemma2-simpo – Extraction structurée, parsing de logs / JSON / tableaux.
| '''ai-RAG-FR''' || qwen3-coder
|-
|-
| '''ai-RAG-FR''' || qwen3 – Usage RAG en français (connaissance métier, FAQ internes).
| '''qwen3-coder''' || Function Calling
|-
|-
| '''gpt-oss-20b''' || Tâches agentiques.
| '''ai-ocr''' || qwen3-vl
|}
|}


Idée d’usage : chaque endpoint est associé à un ou plusieurs labs (chat, résumé, parsing, RAG, etc.) dans la section Cloud Lab.
== Exemple bash ==
<pre>
export OPENAI_API_MODEL="ai-chat"
export OPENAI_API_BASE="https://api.ailab.infocepo.com:wait-2026-06/v1"
export OPENAI_API_KEY="sk-XXXXX"
 
promptValue="Quel est ton nom ?"
jsonValue='{
  "model": "'${OPENAI_API_MODEL}'",
  "messages": [{"role": "user", "content": "'${promptValue}'"}],
  "temperature": 0
}'
 
curl -k ${OPENAI_API_BASE}/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d "${jsonValue}" 2>/dev/null | jq '.choices[0].message.content'
</pre>
 
== Vue infra LLM ==
[[File:Litellm-proxy-mermaid-diagram-2024-03-24-205202.png|thumb|right]]
 
'''DEV (au choix)'''
* '''A.''' <code>LiteLLM → vLLM</code> : tests perf / compatibilité
* '''B.''' <code>LiteLLM → Ollama</code> : simple, rapide à itérer
* '''C.''' <code>Ollama</code> direct : POC ultra-léger
 
'''DEV – modèle FR / résumé'''
* <code>LiteLLM → Ollama /v1</code>
 
'''PROD'''
* '''Standard :''' <code>LiteLLM → vLLM</code>
* '''Pont DEV→PROD :''' <code>LiteLLM (DEV) → LiteLLM (PROD) → vLLM</code>
 
'''Notes :'''
* '''LiteLLM''' = passerelle unique (clés, quotas, logs)
* '''vLLM''' = performance / stabilité en charge
* '''Ollama''' = simplicité de prototypage
 
----
 
= API Image to Text =
 
* Utilise l’API LLM avec un endpoint adapté à l’OCR / VLM.
* Modèle recommandé : <code>ai-ocr</code>
 
== Exemple bash ==
<pre>
OPENAI_API_KEY=sk-XXXXX
 
base64 -w0 "/path/to/image.png" > img.b64
 
jq -n --rawfile img img.b64 \
'{
  model: "ai-ocr",
  messages: [
    {
      role: "user",
      content: [
        { "type": "text", "text": "Décris cette image." },
        {
          "type": "image_url",
          "image_url": { "url": ("data:image/png;base64," + ($img | rtrimstr("\n"))) }
        }
      ]
    }
  ]
}' > payload.json
 
curl https://api.ailab.infocepo.com:wait-2026-06/v1/chat/completions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @payload.json
</pre>
 
== Exemple Python ==
<pre>
import base64
import json
import requests
import os
 
API_KEY = os.getenv("OPENAI_API_KEY")
MODEL = "ai-ocr"
IMG_PATH = "/path/to/image.png"
API_URL = "https://api.ailab.infocepo.com:wait-2026-06/v1/chat/completions"
 
with open(IMG_PATH, "rb") as f:
    img_b64 = base64.b64encode(f.read()).decode("utf-8")
 
payload = {
    "model": MODEL,
    "messages": [
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "Décris cette image."},
                {
                    "type": "image_url",
                    "image_url": {"url": f"data:image/png;base64,{img_b64}"}
                }
            ]
        }
    ]
}
 
headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}
 
response = requests.post(API_URL, headers=headers, data=json.dumps(payload))
 
if response.ok:
    print(json.dumps(response.json(), indent=2, ensure_ascii=False))
else:
    print(f"Erreur {response.status_code}: {response.text}")
</pre>
 
----
 
= API STT =
 
* URL : <code>https://stt.ailab.infocepo.com:wait-2026-06/v1</code>
* Clé : <code>OPENAI_API_KEY=sk-XXXXX</code>
* Modèle : <code>whisper-1</code>
* Documentation : [https://stt.ailab.infocepo.com:wait-2026-06/docs API STT docs]
 
== Exemple Python ==
<pre>
import requests
 
OPENAI_API_KEY = 'sk-XXXXX'
 
url = 'https://stt.ailab.infocepo.com:wait-2026-06/v1/audio/transcriptions'
headers = {
    'Authorization': f'Bearer {OPENAI_API_KEY}',
}
files = {
    'file': ('file.opus', open('/path/to/file.opus', 'rb')),
    'model': (None, 'whisper-1')
}
 
response = requests.post(url, headers=headers, files=files)
print(response.json())
</pre>
 
== Exemple curl ==
<pre>
[ ! -f /tmp/test.ogg ] && wget "https://upload.wikimedia.org/wikipedia/commons/1/17/Fables_de_La_Fontaine_Livre_1_01.ogg" -O /tmp/test.ogg
 
export OPENAI_API_KEY=sk-XXXXX
 
curl https://stt.ailab.infocepo.com:wait-2026-06/v1/audio/transcriptions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F model="whisper-1" \
  -F file="@/tmp/test.ogg"
</pre>
 
== Notes ==
* Plusieurs formats audio sont acceptés.
* Le flux final est normalisé en '''16 kHz mono'''.
* Pour une qualité optimale : privilégier '''OPUS 16 kHz mono'''.
 
== UI ==
* [https://translate-rt.ailab.infocepo.com translate-rt]
 
----
 
= API TTS =
 
* URL : <code>https://tts.ailab.infocepo.com:wait-2026-06/v1</code>
* Clé : <code>OPENAI_API_KEY=sk-XXXXX</code>
* Documentation : [https://tts.ailab.infocepo.com:wait-2026-06/docs API TTS docs]
 
== Exemple ==
<pre>
export OPENAI_API_KEY=sk-XXXXX
 
curl https://tts.ailab.infocepo.com:wait-2026-06/v1/audio/speech \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini-tts",
    "input": "Bonjour, ceci est un test de synthèse vocale.",
    "voice": "coral",
    "instructions": "Speak in a cheerful and positive tone.",
    "response_format": "opus"
  }' | ffplay -i -
</pre>
 
----
 
= API Text to Image =
 
* URL : <code>https://api-txt2image.ailab.infocepo.com:wait-2026-06/v1</code>
* Clé API : <code>OPENAI_API_KEY=EMPTY</code>
* Documentation : [https://api-txt2image.ailab.infocepo.com:wait-2026-06/docs API TXT2IMAGE docs]
 
== Exemple ==
<pre>
export OPENAI_API_KEY=EMPTY
 
curl https://api-txt2image.ailab.infocepo.com:wait-2026-06/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "prompt": "a photo of a happy corgi puppy sitting and facing forward, studio light, longshot",
    "n": 1,
    "size": "1024x1024"
  }'
</pre>
 
----
 
= API Diarization =
 
* Documentation : [https://api-diarization.ailab.infocepo.com:wait-2026-06/docs API Diarization docs]
 
== Exemple ==
<pre>
wget "https://upload.wikimedia.org/wikipedia/commons/6/60/Mike_Peters_on_Politics_and_Emotion_%28Interview_1984%29.mp3" -O /tmp/test.mp3
 
curl -X POST "https://api-diarization.ailab.infocepo.com:wait-2026-06/upload-audio/" \
  -H "Authorization: Bearer token1" \
  -F "file=@/tmp/test.mp3"
</pre>
 
----
 
= API Summary =
 
* Documentation : [https://api-summary.ailab.infocepo.com:wait-2026-06/docs API Summary docs]
 
== Exemple ==
<pre>
text="The tower is 324 metres tall and is one of the most recognizable monuments in the world."
 
json_payload=$(jq -nc --arg text "$text" '{"text": $text}')
 
curl -X POST https://api-summary.ailab.infocepo.com:wait-2026-06/summary/ \
  -H "Content-Type: application/json" \
  -d "$json_payload"
</pre>
 
----
 
= API Text Embeddings =
 
* URL : <code>https://text-embeddings.ailab.infocepo.com:wait-2026-06</code>
* URL utilisée par MRSIE : <code>https://tei.ailab.infocepo.com:wait-2026-06/</code>
* Documentation : [https://text-embeddings.ailab.infocepo.com:wait-2026-06/docs Documentation]
 
== Exemple ==
<pre>
curl -k https://text-embeddings.ailab.infocepo.com:wait-2026-06/embed \
  -X POST \
  -d '{"inputs":"What is Deep Learning?"}' \
  -H 'Content-Type: application/json'
</pre>
 
----
 
= API DB Vectors (ChromaDB) =
 
== Production ==
* URL : <code>https://chromadb.ailab.infocepo.com:wait-2026-06</code>
* Token : <code>XXXXX</code>
 
== Lab ==
<pre>
export CHROMA_HOST=https://chromadb.c1.ailab.infocepo.com:wait-2026-06
export CHROMA_PORT=443
export CHROMA_TOKEN=XXXX
</pre>
 
== Exemple curl ==
<pre>
curl -v "${CHROMA_HOST}"/api/v1/collections \
  -H "Authorization: Bearer ${CHROMA_TOKEN}"
</pre>
 
== Exemple Python ==
<pre>
import chromadb
from chromadb.config import Settings
 
def chroma_http(host, port=80, token=None):
    return chromadb.HttpClient(
        host=host,
        port=port,
        ssl=host.startswith('https') or port == 443,
        settings=(
            Settings(
                chroma_client_auth_provider='chromadb.auth.token.TokenAuthClientProvider',
                chroma_client_auth_credentials=token,
            ) if token else Settings()
        )
    )
 
client = chroma_http(CHROMA_HOST, CHROMA_PORT, CHROMA_TOKEN)
collections = client.list_collections()
print(collections)
</pre>
 
== Déployer sa propre instance ==
<pre>
export nameSpace=your_namespace
domainRoot=ailab.infocepo.com:wait-2026-06
 
helm repo add chroma https://amikos-tech.github.io/chromadb-chart/
helm repo update
 
helm upgrade --install chromadb chroma/chromadb -n ${nameSpace} \
  --set chromadb.apiVersion="0.4.24" \
  --set ingress.enabled=true \
  --set ingress.hosts[0].host="${nameSpace}-chromadb.${domainRoot}" \
  --set ingress.hosts[0].paths[0].path=/ \
  --set ingress.hosts[0].paths[0].pathType=ImplementationSpecific \
  --set ingress.annotations."cert-manager\.io/cluster-issuer"=letsencrypt-prod \
  --set ingress.tls[0].secretName=${nameSpace}-chromadb.${domainRoot}-tls \
  --set ingress.tls[0].hosts[0]="${nameSpace}-chromadb.${domainRoot}"
 
kubectl -n ${nameSpace} patch ingress/chromadb --type=json \
  -p '[{"op":"add","path":"/metadata/annotations/nginx.ingress.kubernetes.io~1proxy-body-size","value":"0"}]'
</pre>
 
== Récupérer le token ==
<pre>
kubectl --namespace ${nameSpace} get secret chromadb-auth \
  -o jsonpath="{.data.token}" | base64 --decode && echo
</pre>


----
----


= Actualités & Tendances =
= Registry =
 
* URL : [https://registry.ailab.infocepo.com:wait-2026-06 registry.ailab.infocepo.com:wait-2026-06]
* Login : <code>user</code>
* Password : <code>XXXXX</code>
 
== Exemple ==
<pre>
curl -u "user:XXXXX" https://registry.ailab.infocepo.com:wait-2026-06/v2/_catalog
</pre>


* [https://www.youtube.com/@lev-selector/videos Top AI News] – Sélection vidéo des actus IA.
== Exemple K8S ==
* [https://betterprogramming.pub/color-your-captions-streamlining-live-transcriptions-with-diart-and-openais-whisper-6203350234ef Real-time transcription with Diart + Whisper] – Exemple de transcription temps réel avec détection de locuteurs.
<pre>
* [https://github.com/openai-translator/openai-translator OpenAI Translator] – Extension / client moderne pour traduction assistée par LLM.
deploymentName=
* [https://opensearch.org/docs/latest/search-plugins/conversational-search Opensearch with LLM] – Recherche conversationnelle basée sur LLMs et OpenSearch.
nameSpace=
 
kubectl -n ${nameSpace} create secret docker-registry pull-secret \
  --docker-server=registry.ailab.infocepo.com:wait-2026-06 \
  --docker-username=user \
  --docker-password=XXXXX \
  --docker-email=contact@example.com
 
kubectl -n ${nameSpace} patch deployment ${deploymentName} \
  -p '{"spec":{"template":{"spec":{"imagePullSecrets":[{"name":"pull-secret"}]}}}}'
</pre>


----
----


= Formation & Apprentissage =
= Stockage objet externe (S3) =


* [https://www.youtube.com/watch?v=4Bdc55j80l8 Transformers Explained] – Introduction aux Transformers, architecture clé des LLMs.
* Endpoint : <code>https://s3.ailab.infocepo.com:wait-2026-06</code>
* Labs, scripts et retours d’expérience concrets dans le projet [[LAB project|CLOUD LAB]] ci-dessous.
* Access key : <code>XXXX</code>
* Secret key : <code>XXXX</code>
 
Un bucket nommé <code>ORG</code> a été créé pour stocker des documents de démonstration.


----
----


= Cloud Lab & Projets d’Audit =
= RAG optimisation =
 
* Embeddings : <code>BAAI/bge-m3</code>
* <code>chunk_size=1200</code>
* <code>chunk_overlap=100</code>
* LLM : <code>qwen3</code>
* Pour les PDF mixtes : '''PDF → image → OCR / VLM''' peut améliorer les résultats.
 
----
 
= Processus usine IA =
 
{| class="wikitable" style="width:80%;"
! Étape !! Description !! Outils utilisés !! Responsable(s)
|-
| 1 || Idée || - || Équipe projet
|-
| 2 || Développement || Environnement Onyxia / lab || Équipe projet
|-
| 3 || Déploiement || CI/CD, GitHub, Kubernetes || Équipe DevOps
|-
| 4 || Surveillance || Uptime-Kuma, dashboards || Équipe DevOps
|-
| 5 || Alertes || Mattermost || Équipe DevOps
|-
| 6 || Support infrastructure || - || Équipe SRE
|-
| 7 || Support applicatif || - || Équipe applicative
|}
 
----
 
= Environnements =
 
== Hors production ==
* Utiliser [https://datalab.ailab.infocepo.com:wait-2026-06 datalab]
* Support : canal Mattermost Offre IA
* Le pseudo utilisateur doit respecter la convention interne
* Demander si besoin un accès Linux + Kubernetes
 
== Production (best-effort) ==
* Publier le code applicatif, les secrets (format SOPS), le Dockerfile et le code infra (Helm ou manifests K8S) sur Git
* Demander un namespace
* Lire la documentation de surveillance associée
 
== Limites de l’infrastructure ==
* Les charges GPU sont intentionnellement limitées en journée.
 
----


[[File:Infocepo.drawio.png|400px|Diagramme de référence Cloud Lab]]
= Cloud Lab & projets d’audit =


Le '''Cloud Lab''' propose des scénarios reproductibles : audit d’infrastructure, migration vers le cloud, automatisation, haute disponibilité.
[[File:Infocepo.drawio.png|400px|Cloud Lab reference diagram]]


== Projet d’audit – Cloud Audit ==
Le '''Cloud Lab''' fournit des scénarios reproductibles : audit d’infrastructure, migration cloud, automatisation, haute disponibilité.


== Projet d’audit ==
; '''[[ServerDiff.sh]]'''
; '''[[ServerDiff.sh]]'''
Script Bash d’audit de serveurs pour :
Script Bash d’audit permettant de :
 
* détecter les dérives de configuration,
* détecter les dérives de configuration,
* comparer plusieurs environnements,
* comparer plusieurs environnements,
* préparer une migration ou un plan de remédiation.
* préparer un plan de migration ou de remédiation.


== Exemple de migration Cloud ==
== Exemple de migration cloud ==
 
[[File:Diagram-migration-ORACLE-KVM-v2.drawio.png|400px|Cloud migration diagram]]
[[File:Diagram-migration-ORACLE-KVM-v2.drawio.png|400px|Diagramme de migration Cloud]]
 
Exemple : migration d’environnements virtuels vers un cloud modernisé, avec audit, design d’architecture et automatisation.


{| class="wikitable"
{| class="wikitable"
! Tâche !! Description !! Durée (jours)
! Tâche !! Description !! Durée (jours)
|-
|-
| Audit de l’infrastructure || 82 services, audit automatisé via '''ServerDiff.sh''' || 1,5
| Audit infrastructure || 82 services, audit automatisé via '''ServerDiff.sh''' || 1.5
|-
|-
| Diagramme d’architecture cloud || Conception et documentation visuelle || 1,5
| Diagramme d’architecture || Conception visuelle et documentation || 1.5
|-
|-
| Contrôle de conformité || 2 clouds, 6 hyperviseurs, 6 To de RAM || 1,5
| Contrôles de conformité || 2 clouds, 6 hyperviseurs, 6 To RAM || 1.5
|-
|-
| Installation des plateformes cloud || Déploiement des environnements cibles principaux || 1,0
| Installation plateforme cloud || Déploiement des environnements cibles || 1.0
|-
|-
| Vérification de stabilité || Tests de fonctionnement précoce || 0,5
| Vérification de stabilité || Premiers tests fonctionnels || 0.5
|-
|-
| Étude d’automatisation || Identification et automatisation des tâches répétitives || 1,5
| Étude d’automatisation || Identification des tâches répétitives || 1.5
|-
|-
| Développement de templates || 6 templates, 8 environnements, 2 clouds / OS || 1,5
| Développement des templates || 6 templates, 8 environnements, 2 clouds / OS || 1.5
|-
|-
| Diagramme de migration || Illustration du processus de migration || 1,0
| Diagramme de migration || Illustration du processus || 1.0
|-
|-
| Écriture du code de migration || 138 lignes (voir '''MigrationApp.sh''') || 1,5
| Écriture du code de migration || 138 lignes (voir '''MigrationApp.sh''') || 1.5
|-
|-
| Stabilisation du process || Validation que la migration est reproductible || 1,5
| Stabilisation || Validation de la reproductibilité || 1.5
|-
|-
| Benchmarking cloud || Comparaison de performance vs infrastructure legacy || 1,5
| Benchmark cloud || Comparaison vs legacy || 1.5
|-
|-
| Calage du downtime || Calcul du temps de coupure par migration || 0,5
| Réglage des temps d’arrêt || Calcul du downtime || 0.5
|-
|-
| Chargement des VMs || 82 VMs : OS, code, 2 IP par VM || 0,1
| Chargement VM || 82 VMs : OS, code, 2 IP par VM || 0.1
|-
|-
! colspan=2 align="right"| '''Total''' !! 15 jours·homme
! colspan=2 align="right"| '''Total''' !! 15 jours.homme
|}
|}


=== Vérification de stabilité (HA minimale) ===
=== Vérifications de stabilité (HA minimale) ===
 
{| class="wikitable"
{| class="wikitable"
! Action !! Résultat attendu
! Action !! Résultat attendu
|-
|-
| Extinction d’un nœud || Tous les services doivent redémarrer automatiquement sur les nœuds restants.
| Extinction d’un nœud || Tous les services redémarrent automatiquement sur les autres nœuds
|-
|-
| Extinction / rallumage simultané de tous les nœuds || Tous les services doivent remonter correctement après redémarrage.
| Extinction / redémarrage simultané de tous les nœuds || Les services repartent correctement après reboot
|}
|}


----
----


= Architecture Web & Bonnes Pratiques =
= Architecture web & bonnes pratiques =


[[File:WebModelDiagram.drawio.png|400px|Architecture Web de référence]]
[[File:WebModelDiagram.drawio.png|400px|Reference web architecture]]


Principes pour concevoir des architectures web scalables et portables :
Principes de conception :


* Favoriser une infrastructure '''simple, modulaire et flexible'''.
* privilégier une infrastructure '''simple, modulaire et flexible''',
* Suivre la localisation des clients (GDNS ou équivalent) pour rapprocher les contenus.
* rapprocher le contenu du client (GDNS ou équivalent),
* Utiliser des load balancers réseau (LVS, IPVS) pour la montée en charge.
* utiliser des load balancers réseau (LVS, IPVS),
* Comparer systématiquement les coûts, et se méfier du '''vendor lock-in'''.
* comparer les coûts et éviter le '''vendor lock-in''',
* TLS :
* pour TLS :
** HAProxy pour les frontends rapides,
** '''HAProxy''' pour les frontends rapides,
** Envoy pour la compatibilité et les cas avancés (mTLS, HTTP/2/3).
** '''Envoy''' pour les cas avancés (mTLS, HTTP/2/3),
* Cache :
* pour le cache :
** Varnish, Apache Traffic Server pour les gros volumes de contenu.
** '''Varnish''', '''Apache Traffic Server''',
* Privilégier les stacks open source et les caches de base de données (ex. Memcached).
* favoriser les stacks open-source,
* Utiliser des files de messages, buffers et quotas pour lisser les pics de charge.
* utiliser files, buffers, queues et quotas pour lisser les pics.
* Pour des architectures complètes :
 
** [https://wikitech.wikimedia.org/wiki/Wikimedia_infrastructure Wikimedia Cloud Architecture]
== Références ==
** [https://github.com/systemdesign42/system-design System Design GitHub]
* [https://wikitech.wikimedia.org/wiki/Wikimedia_infrastructure Wikimedia infrastructure]
* [https://github.com/systemdesign42/system-design System Design GitHub]


----
----


= Comparatif des grandes plateformes Cloud =
= Comparatif des grandes plateformes cloud =


{| class="wikitable"
{| class="wikitable"
! Fonction !! Kubernetes !! OpenStack !! AWS !! Bare-metal !! HPC !! CRM !! oVirt
! Fonctionnalité !! Kubernetes !! OpenStack !! AWS !! Bare-metal !! HPC !! CRM !! oVirt
|-
|-
| '''Outils de déploiement''' || Helm, YAML, ArgoCD, Juju || Ansible, Terraform, Juju || CloudFormation, Terraform, Juju || Ansible, Shell || xCAT, Clush || Ansible, Shell || Ansible, Python
| '''Outils de déploiement''' || Helm, YAML, ArgoCD, Juju || Ansible, Terraform, Juju || CloudFormation, Terraform, Juju || Ansible, Shell || xCAT, Clush || Ansible, Shell || Ansible, Python
Line 232: Line 838:
| '''Méthode de bootstrap''' || API || API, PXE || API || PXE, IPMI || PXE, IPMI || PXE, IPMI || PXE, API
| '''Méthode de bootstrap''' || API || API, PXE || API || PXE, IPMI || PXE, IPMI || PXE, IPMI || PXE, API
|-
|-
| '''Contrôle des routeurs''' || Kube-router || API Routeur/Sous-réseau || Route Table / Subnet API || Linux, OVS || xCAT || Linux || API
| '''Contrôle routeur''' || Kube-router || Router/Subnet API || Route Table / Subnet API || Linux, OVS || xCAT || Linux || API
|-
|-
| '''Contrôle du pare-feu''' || Istio, NetworkPolicy || Security Groups API || Security Group API || Pare-feu Linux || Pare-feu Linux || Pare-feu Linux || API
| '''Contrôle firewall''' || Istio, NetworkPolicy || Security Groups API || Security Group API || Linux firewall || Linux firewall || Linux firewall || API
|-
|-
| '''Virtualisation réseau''' || VLAN, VxLAN, autres || VPC || VPC || OVS, Linux || xCAT || Linux || API
| '''Virtualisation réseau''' || VLAN, VxLAN || VPC || VPC || OVS, Linux || xCAT || Linux || API
|-
|-
| '''DNS''' || CoreDNS || DNS-Nameserver || Route 53 || GDNS || xCAT || Linux || API
| '''DNS''' || CoreDNS || DNS-Nameserver || Route 53 || GDNS || xCAT || Linux || API
|-
|-
| '''Load Balancer''' || Kube-proxy, LVS || LVS || Network Load Balancer || LVS || SLURM || Ldirectord || N/A
| '''Load balancer''' || Kube-proxy, LVS || LVS || Network Load Balancer || LVS || SLURM || Ldirectord || N/A
|-
|-
| '''Options de stockage''' || Local, Cloud, PVC || Swift, Cinder, Nova || S3, EFS, EBS, FSx || Swift, XFS, EXT4, RAID10 || GPFS || SAN || NFS, SAN
| '''Stockage''' || Local, cloud, PVC || Swift, Cinder, Nova || S3, EFS, EBS, FSx || Swift, XFS, EXT4, RAID10 || GPFS || SAN || NFS, SAN
|}
|}


Ce tableau sert de point de départ pour choisir la bonne pile selon :
Cette table sert de point de départ pour choisir la bonne stack selon :
* le niveau de contrôle souhaité,
* le contexte (on-prem, cloud public, HPC…),
* les outils d’automatisation existants.


* Niveau de contrôle souhaité (API vs bare-metal),
----
* Contexte (on-prem, cloud public, HPC, CRM…),
 
* Outillage d’automatisation déjà en place.
= Haute disponibilité, HPC & DevSecOps =
 
== Haute disponibilité avec Corosync & Pacemaker ==
[[File:HA-REF.drawio.png|400px|HA cluster architecture]]
 
Principes :
* clusters multi-nœuds ou multi-sites,
* fencing via IPMI,
* provisioning PXE / NTP / DNS / TFTP,
* pour 2 nœuds : attention au split-brain,
* 3 nœuds ou plus recommandés en production.
 
=== Ressources fréquentes ===
* multipath, LUNs, LVM, NFS,
* processus applicatifs,
* IP virtuelles, DNS, listeners réseau.
 
== HPC ==
[[File:HPC.drawio.png|400px|Overview of an HPC cluster]]
 
* orchestration de jobs (SLURM ou équivalent),
* stockage partagé haute performance,
* intégration possible avec des workloads IA.
 
== DevSecOps ==
[[File:DSO-POC-V3.drawio.png|400px|DevSecOps reference design]]
 
* CI/CD avec contrôles de sécurité intégrés,
* observabilité dès la conception,
* scans de vulnérabilité,
* gestion des secrets,
* policy-as-code.


----
----


= Liens utiles Cloud & IT =
= News & trends =


* [https://cloud.google.com/free/docs/aws-azure-gcp-service-comparison Cloud Providers Compared] – Correspondance des services AWS / Azure / GCP.
* [https://www.youtube.com/@lev-selector/videos Top AI News]
* [https://global-internet-map-2021.telegeography.com/ Global Internet Topology Map] – Cartographie globale de l’Internet.
* [https://betterprogramming.pub/color-your-captions-streamlining-live-transcriptions-with-diart-and-openais-whisper-6203350234ef Real-time transcription with Diart + Whisper]
* [https://landscape.cncf.io/?fullscreen=yes CNCF Official Landscape] – Panorama des projets cloud-native (CNCF).
* [https://github.com/openai-translator/openai-translator OpenAI Translator]
* [https://wikitech.wikimedia.org/wiki/Wikimedia_infrastructure Wikimedia Cloud Wiki] – Infrastructure Wikimedia, exemple réel à grande échelle.
* [https://opensearch.org/docs/latest/search-plugins/conversational-search Opensearch with LLM]
* [https://openapm.io OpenAPM – SRE Tools] – Outillage APM / observabilité.
* [https://access.redhat.com/downloads/content/package-browser RedHat Package Browser] – Recherche de paquets et versions chez Red Hat.
* [https://www.silkhom.com/barometre-2021-des-tjm-dans-informatique-digital Baromètre TJM Freelance IT] – Référentiel de tarifs freelances.
* [https://www.glassdoor.fr/salaire/Hays-Salaires-E10166.htm IT Salaries (Glassdoor)] – Indications de salaires IT.


----
----


= Avancé : Haute Disponibilité, HPC & DevSecOps =
= Formation & apprentissage =


== Haute Disponibilité avec Corosync & Pacemaker ==
* [https://www.youtube.com/watch?v=4Bdc55j80l8 Transformers Explained]
* Labs, scripts et retours d’expérience concrets dans le projet Cloud Lab


[[File:HA-REF.drawio.png|400px|Architecture de cluster HA]]
----


Principes de base :
= Liens cloud & IT utiles =


* Clusters multi-nœuds ou bi-sites pour la redondance.
* [https://cloud.google.com/free/docs/aws-azure-gcp-service-comparison Cloud Providers Compared]
* Utilisation d’IPMI pour le fencing, provisioning via PXE/NTP/DNS/TFTP.
* [https://global-internet-map-2021.telegeography.com/ Global Internet Topology Map]
* Pour un cluster 2 nœuds :
* [https://landscape.cncf.io/?fullscreen=yes CNCF Official Landscape]
  – séquencer le fencing pour éviter les split-brains, 
* [https://wikitech.wikimedia.org/wiki/Wikimedia_infrastructure Wikimedia Cloud Wiki]
  – 3 nœuds ou plus restent recommandés pour la production.
* [https://openapm.io OpenAPM]
* [https://access.redhat.com/downloads/content/package-browser Red Hat Package Browser]
* [https://www.silkhom.com/barometre-2021-des-tjm-dans-informatique-digital Baromètre TJM IT]
* [https://www.glassdoor.fr/salaire/Hays-Salaires-E10166.htm Indicateurs salariaux IT]


=== Pattern de ressources courant ===
----


* Stockage multipath, LUN, LVM, NFS.
= Outils collaboratifs =
* Ressources utilisateurs et processus applicatifs.
* IP virtuelle, enregistrements DNS, listeners réseau.
 
== HPC ==


[[File:HPC.drawio.png|400px|Vue d’ensemble d’un cluster HPC]]
== Dépôts de code ==
* [https://github.com/ynotopec GitHub ynotopec]


* Orchestration de jobs (SLURM ou équivalent).
== Base de connaissance ==
* Partage de stockage haute performance (GPFS, Lustre…).
* ce wiki
* Intégration possible avec des workloads IA (entraînement massif, inference sur GPU).


== DevSecOps ==
== Messagerie ==
* contact interne / support selon les projets


[[File:DSO-POC-V3.drawio.png|400px|Design de référence DevSecOps]]
== SSO ==
* [https://auth-lab.ailab.infocepo.com:wait-2026-06/auth Keycloak]


* Pipelines CI/CD avec contrôles de sécurité intégrés (linting, SAST, DAST, SBOM).
== MLflow ==
* Observabilité (logs, metrics, traces) intégrée dès la conception.
* [[MLFlow|MLFlow]]
* Automatisation des scans de vulnérabilités, gestion des secrets, policy-as-code.


----
----


= À propos & Contributions =
= À propos & contributions =


Pour plus d’exemples, de scripts, de diagrammes et de retours d’expérience, consulter :
Suggestions de corrections, améliorations de schémas, retours d’expérience ou nouveaux labs bienvenus.
 
* [https://infocepo.com infocepo.com]


Les suggestions de correction, d’amélioration de diagrammes, ou de nouveaux labs sont les bienvenues. 
Ce wiki a vocation à rester un '''laboratoire vivant''' pour l’IA, le cloud et l’automatisation.
Ce wiki a vocation à rester un '''laboratoire vivant''' pour l’IA, le cloud et l’automatisation.

Latest revision as of 12:48, 4 April 2026

Discover cloud and AI on infocepo.com

infocepo.com – Cloud, AI & Labs

Bienvenue sur le portail infocepo.com.

Ce wiki documente l’écosystème Cloud, IA, automatisation et lab d’Infocepo. Il s’adresse aux :

  • administrateurs systèmes,
  • ingénieurs cloud,
  • développeurs,
  • étudiants,
  • curieux qui veulent apprendre en pratiquant.

L’objectif est simple : transformer la théorie en scripts réutilisables, schémas, architectures, APIs et laboratoires concrets.


Accès rapide

Portail principal

Assistant IA

Liste des pages du wiki

Vue d’ensemble

  • Infra architecture overview

Démarrer rapidement

Parcours recommandés

1. Construire un assistant IA privé
  • Déployer une stack type Open WebUI + Ollama + GPU
  • Ajouter un modèle de chat et un modèle de résumé
  • Brancher des données internes via RAG + embeddings
2. Lancer un lab cloud
  • Créer un petit cluster Kubernetes, OpenStack ou bare-metal
  • Mettre en place un pipeline de déploiement (Helm, Ansible, Terraform…)
  • Ajouter un service IA : transcription, résumé, chatbot, OCR…
3. Préparer un audit ou une migration
  • Inventorier les serveurs avec ServerDiff.sh
  • Concevoir l’architecture cible
  • Automatiser la migration avec des scripts reproductibles

Vue d’ensemble du contenu

  • Guides IA & outils : assistants, modèles, évaluation, GPU, RAG
  • Cloud & infrastructure : Kubernetes, OpenStack, HA, HPC, DevSecOps
  • Labs & scripts : audit, migration, automatisation
  • Comparatifs : Kubernetes vs OpenStack vs AWS vs bare-metal, etc.

Vision

The world after automation

Le but à long terme est de construire un environnement où :

  • les assistants IA privés accélèrent la production,
  • les tâches répétitives sont automatisées,
  • les déploiements sont industrialisés,
  • l’infrastructure reste compréhensible, portable et réutilisable.
Main page summary

Catalogue rapide des services

Services principaux
Catégorie Service Lien Rôle
API LLM API LLM Modèles de chat, code, RAG, OCR
API STT API STT Transcription audio
API TTS API TTS Synthèse vocale
API Realtime AI api-realtime-ai Temps réel WebSocket / WebRTC
API Image to Text API LLM OCR / VLM via endpoint dédié
API Summary API Summary Résumé de textes longs
API Text Embeddings Text Embeddings Embeddings pour RAG
API ChromaDB ChromaDB Base vecteur
API Text to Image TXT2IMAGE Génération d’images
API Diarization Diarization Segmentation locuteurs
Observabilité Monitoring Grafana Dashboards techniques
Observabilité Status Uptime Kuma Disponibilité des services
Observabilité Web stats Web Stat Statistiques web
Observabilité LLM stats LLM Stat Vue API / usage
Outils DataLab DataLab Environnement de travail hors-production
Outils Translation UI Translation Traduction
Outils Demos Demos Démonstrateurs

Nouveautés

Nouveautés 21/03/2026

  • Ajout de gemma4 : Gemma 4 models are designed to deliver frontier-level performance at each size. They are well-suited for reasoning, agentic workflows, coding, and multimodal understanding.
  • Ajout de nemotron-cascade-2 : modèle open 30B MoE NVIDIA orienté raisonnement et tâches agentiques.
  • Ajout de opencode : CLI coder à comparer avec Aider / OpenHands.
  • Ajout de localai : infrastructure locale unifiée pour STT / TTS / LLM.
  • DGX Spark : architecture CPU ARM.
  • Ajout de qwen3.5 : famille de modèles open source multimodaux.
  • Ajout de api-convert2md : extraction de tableaux pour RAG compatible Open WebUI.
  • Mise à jour des paramètres RAG optimisation.
  • Ajout de experimental brains.
  • Ajout de legal-agent.
  • Ajout de ai-security.
  • Ajout de langextract : démo extraction d’entités.
  • Ajout de sam-audio : séparation audio sémantique.
  • Ajout de glm-4.7-flash : modèle 30B léger orienté performance / efficacité.
  • Ajout de API Realtime : WebRTC / WebSocket bidirectionnel basse latence.
  • Ajout de gpt-oss : modèles open-weight conçus pour raisonnement et tâches agentiques.

Priorités

Top tasks

  • Ajouter Presidio : anonymisation / masquage PII, socle RGPD.
  • Ajouter SGLang : serving LLM haute performance.
  • Ajouter llm-d : blueprints + charts Kubernetes pour industrialiser les déploiements.
  • Ajouter Dynamo : orchestration inférence multi-nœuds.
  • Ajouter GuideLLM : capacity planning / benchmark réaliste.
  • Ajouter NeMo Guardrails : garde-fous et politiques.

Backlog / veille


Assistants IA & outils cloud

Assistants IA

ChatGPT
  • ChatGPT – Assistant conversationnel public, utile pour exploration, rédaction, expérimentation rapide.
Assistants IA auto-hébergés
Stack typique pour assistant privé, API OpenAI-compatible et expérimentation locale.
Outil de résumé local, rapide et hors ligne.

Développement, modèles & veille

Découverte de modèles
Évaluation & benchmarks
Outils de développement & fine-tuning

Matériel IA & GPU


Modèles ouverts & endpoints internes

Dernière mise à jour : 2026-03-30

Les modèles ci-dessous correspondent à des endpoints logiques exposés derrière une passerelle.

Endpoint Description / usage principal
ai-chat Basé sur gpt-oss-20b – chat généraliste, bon compromis coût / qualité
ai-translate translategemma, température = 0 – traduction déterministe et reproductible
ai-summary qwen3 – résumé de textes longs
ai-code glm-4.7-flash – tâches agentiques, raisonnement et explication de code
ai-parse qwen3 – extraction structurée, parsing logs / JSON / tableaux
ai-RAG-FR qwen3 – RAG en français

API Realtime AI (DEV)

Statut : environnement DEV, remplaçante prévue de l’API OpenAI pour les cas temps réel.

Configuration

Variable Valeur
OPENAI_API_BASE wss://api-realtime-ai.ailab.infocepo.com:wait-2026-06/v1
OPENAI_API_KEY sk-XXXXX

Dépôt GitHub

Page de test

  • external-test/half-duplex.html — annulation d’écho + mode half-duplex.

Compatibilité

Remplacer l’URL OpenAI par $OPENAI_API_BASE pour tester compatibilité et performances.


API LLM (OpenAI compatible)

Liste des modèles

curl -X GET \
  'https://api.ailab.infocepo.com:wait-2026-06/v1/models' \
  -H 'Authorization: Bearer sk-XXXXX' \
  -H 'accept: application/json' \
  | jq | sed -rn 's#^.*id.*: "(.*)".*$#* \1#p' | sort -u

Modèles mis en avant

Model Commentaire
ai-chat qwen3-coder
ai-translate qwen3-coder
ai-summary qwen3-coder
ai-code-completion qwen3-coder
ai-RAG-FR qwen3-coder
qwen3-coder Function Calling
ai-ocr qwen3-vl

Exemple bash

export OPENAI_API_MODEL="ai-chat"
export OPENAI_API_BASE="https://api.ailab.infocepo.com:wait-2026-06/v1"
export OPENAI_API_KEY="sk-XXXXX"

promptValue="Quel est ton nom ?"
jsonValue='{
  "model": "'${OPENAI_API_MODEL}'",
  "messages": [{"role": "user", "content": "'${promptValue}'"}],
  "temperature": 0
}'

curl -k ${OPENAI_API_BASE}/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d "${jsonValue}" 2>/dev/null | jq '.choices[0].message.content'

Vue infra LLM

DEV (au choix)

  • A. LiteLLM → vLLM : tests perf / compatibilité
  • B. LiteLLM → Ollama : simple, rapide à itérer
  • C. Ollama direct : POC ultra-léger

DEV – modèle FR / résumé

  • LiteLLM → Ollama /v1

PROD

  • Standard : LiteLLM → vLLM
  • Pont DEV→PROD : LiteLLM (DEV) → LiteLLM (PROD) → vLLM

Notes :

  • LiteLLM = passerelle unique (clés, quotas, logs)
  • vLLM = performance / stabilité en charge
  • Ollama = simplicité de prototypage

API Image to Text

  • Utilise l’API LLM avec un endpoint adapté à l’OCR / VLM.
  • Modèle recommandé : ai-ocr

Exemple bash

OPENAI_API_KEY=sk-XXXXX

base64 -w0 "/path/to/image.png" > img.b64

jq -n --rawfile img img.b64 \
'{
  model: "ai-ocr",
  messages: [
    {
      role: "user",
      content: [
        { "type": "text", "text": "Décris cette image." },
        {
          "type": "image_url",
          "image_url": { "url": ("data:image/png;base64," + ($img | rtrimstr("\n"))) }
        }
      ]
    }
  ]
}' > payload.json

curl https://api.ailab.infocepo.com:wait-2026-06/v1/chat/completions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @payload.json

Exemple Python

import base64
import json
import requests
import os

API_KEY = os.getenv("OPENAI_API_KEY")
MODEL = "ai-ocr"
IMG_PATH = "/path/to/image.png"
API_URL = "https://api.ailab.infocepo.com:wait-2026-06/v1/chat/completions"

with open(IMG_PATH, "rb") as f:
    img_b64 = base64.b64encode(f.read()).decode("utf-8")

payload = {
    "model": MODEL,
    "messages": [
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "Décris cette image."},
                {
                    "type": "image_url",
                    "image_url": {"url": f"data:image/png;base64,{img_b64}"}
                }
            ]
        }
    ]
}

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

response = requests.post(API_URL, headers=headers, data=json.dumps(payload))

if response.ok:
    print(json.dumps(response.json(), indent=2, ensure_ascii=False))
else:
    print(f"Erreur {response.status_code}: {response.text}")

API STT

Exemple Python

import requests

OPENAI_API_KEY = 'sk-XXXXX'

url = 'https://stt.ailab.infocepo.com:wait-2026-06/v1/audio/transcriptions'
headers = {
    'Authorization': f'Bearer {OPENAI_API_KEY}',
}
files = {
    'file': ('file.opus', open('/path/to/file.opus', 'rb')),
    'model': (None, 'whisper-1')
}

response = requests.post(url, headers=headers, files=files)
print(response.json())

Exemple curl

[ ! -f /tmp/test.ogg ] && wget "https://upload.wikimedia.org/wikipedia/commons/1/17/Fables_de_La_Fontaine_Livre_1_01.ogg" -O /tmp/test.ogg

export OPENAI_API_KEY=sk-XXXXX

curl https://stt.ailab.infocepo.com:wait-2026-06/v1/audio/transcriptions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F model="whisper-1" \
  -F file="@/tmp/test.ogg"

Notes

  • Plusieurs formats audio sont acceptés.
  • Le flux final est normalisé en 16 kHz mono.
  • Pour une qualité optimale : privilégier OPUS 16 kHz mono.

UI


API TTS

Exemple

export OPENAI_API_KEY=sk-XXXXX

curl https://tts.ailab.infocepo.com:wait-2026-06/v1/audio/speech \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini-tts",
    "input": "Bonjour, ceci est un test de synthèse vocale.",
    "voice": "coral",
    "instructions": "Speak in a cheerful and positive tone.",
    "response_format": "opus"
  }' | ffplay -i -

API Text to Image

Exemple

export OPENAI_API_KEY=EMPTY

curl https://api-txt2image.ailab.infocepo.com:wait-2026-06/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "prompt": "a photo of a happy corgi puppy sitting and facing forward, studio light, longshot",
    "n": 1,
    "size": "1024x1024"
  }'

API Diarization

Exemple

wget "https://upload.wikimedia.org/wikipedia/commons/6/60/Mike_Peters_on_Politics_and_Emotion_%28Interview_1984%29.mp3" -O /tmp/test.mp3

curl -X POST "https://api-diarization.ailab.infocepo.com:wait-2026-06/upload-audio/" \
  -H "Authorization: Bearer token1" \
  -F "file=@/tmp/test.mp3"

API Summary

Exemple

text="The tower is 324 metres tall and is one of the most recognizable monuments in the world."

json_payload=$(jq -nc --arg text "$text" '{"text": $text}')

curl -X POST https://api-summary.ailab.infocepo.com:wait-2026-06/summary/ \
  -H "Content-Type: application/json" \
  -d "$json_payload"

API Text Embeddings

Exemple

curl -k https://text-embeddings.ailab.infocepo.com:wait-2026-06/embed \
  -X POST \
  -d '{"inputs":"What is Deep Learning?"}' \
  -H 'Content-Type: application/json'

API DB Vectors (ChromaDB)

Production

Lab

export CHROMA_HOST=https://chromadb.c1.ailab.infocepo.com:wait-2026-06
export CHROMA_PORT=443
export CHROMA_TOKEN=XXXX

Exemple curl

curl -v "${CHROMA_HOST}"/api/v1/collections \
  -H "Authorization: Bearer ${CHROMA_TOKEN}"

Exemple Python

import chromadb
from chromadb.config import Settings

def chroma_http(host, port=80, token=None):
    return chromadb.HttpClient(
        host=host,
        port=port,
        ssl=host.startswith('https') or port == 443,
        settings=(
            Settings(
                chroma_client_auth_provider='chromadb.auth.token.TokenAuthClientProvider',
                chroma_client_auth_credentials=token,
            ) if token else Settings()
        )
    )

client = chroma_http(CHROMA_HOST, CHROMA_PORT, CHROMA_TOKEN)
collections = client.list_collections()
print(collections)

Déployer sa propre instance

export nameSpace=your_namespace
domainRoot=ailab.infocepo.com:wait-2026-06

helm repo add chroma https://amikos-tech.github.io/chromadb-chart/
helm repo update

helm upgrade --install chromadb chroma/chromadb -n ${nameSpace} \
  --set chromadb.apiVersion="0.4.24" \
  --set ingress.enabled=true \
  --set ingress.hosts[0].host="${nameSpace}-chromadb.${domainRoot}" \
  --set ingress.hosts[0].paths[0].path=/ \
  --set ingress.hosts[0].paths[0].pathType=ImplementationSpecific \
  --set ingress.annotations."cert-manager\.io/cluster-issuer"=letsencrypt-prod \
  --set ingress.tls[0].secretName=${nameSpace}-chromadb.${domainRoot}-tls \
  --set ingress.tls[0].hosts[0]="${nameSpace}-chromadb.${domainRoot}"

kubectl -n ${nameSpace} patch ingress/chromadb --type=json \
  -p '[{"op":"add","path":"/metadata/annotations/nginx.ingress.kubernetes.io~1proxy-body-size","value":"0"}]'

Récupérer le token

kubectl --namespace ${nameSpace} get secret chromadb-auth \
  -o jsonpath="{.data.token}" | base64 --decode && echo

Registry

Exemple

curl -u "user:XXXXX" https://registry.ailab.infocepo.com:wait-2026-06/v2/_catalog

Exemple K8S

deploymentName=
nameSpace=

kubectl -n ${nameSpace} create secret docker-registry pull-secret \
  --docker-server=registry.ailab.infocepo.com:wait-2026-06 \
  --docker-username=user \
  --docker-password=XXXXX \
  --docker-email=contact@example.com

kubectl -n ${nameSpace} patch deployment ${deploymentName} \
  -p '{"spec":{"template":{"spec":{"imagePullSecrets":[{"name":"pull-secret"}]}}}}'

Stockage objet externe (S3)

Un bucket nommé ORG a été créé pour stocker des documents de démonstration.


RAG optimisation

  • Embeddings : BAAI/bge-m3
  • chunk_size=1200
  • chunk_overlap=100
  • LLM : qwen3
  • Pour les PDF mixtes : PDF → image → OCR / VLM peut améliorer les résultats.

Processus usine IA

Étape Description Outils utilisés Responsable(s)
1 Idée - Équipe projet
2 Développement Environnement Onyxia / lab Équipe projet
3 Déploiement CI/CD, GitHub, Kubernetes Équipe DevOps
4 Surveillance Uptime-Kuma, dashboards Équipe DevOps
5 Alertes Mattermost Équipe DevOps
6 Support infrastructure - Équipe SRE
7 Support applicatif - Équipe applicative

Environnements

Hors production

  • Utiliser datalab
  • Support : canal Mattermost Offre IA
  • Le pseudo utilisateur doit respecter la convention interne
  • Demander si besoin un accès Linux + Kubernetes

Production (best-effort)

  • Publier le code applicatif, les secrets (format SOPS), le Dockerfile et le code infra (Helm ou manifests K8S) sur Git
  • Demander un namespace
  • Lire la documentation de surveillance associée

Limites de l’infrastructure

  • Les charges GPU sont intentionnellement limitées en journée.

Cloud Lab & projets d’audit

Cloud Lab reference diagram

Le Cloud Lab fournit des scénarios reproductibles : audit d’infrastructure, migration cloud, automatisation, haute disponibilité.

Projet d’audit

ServerDiff.sh

Script Bash d’audit permettant de :

  • détecter les dérives de configuration,
  • comparer plusieurs environnements,
  • préparer un plan de migration ou de remédiation.

Exemple de migration cloud

Cloud migration diagram

Tâche Description Durée (jours)
Audit infrastructure 82 services, audit automatisé via ServerDiff.sh 1.5
Diagramme d’architecture Conception visuelle et documentation 1.5
Contrôles de conformité 2 clouds, 6 hyperviseurs, 6 To RAM 1.5
Installation plateforme cloud Déploiement des environnements cibles 1.0
Vérification de stabilité Premiers tests fonctionnels 0.5
Étude d’automatisation Identification des tâches répétitives 1.5
Développement des templates 6 templates, 8 environnements, 2 clouds / OS 1.5
Diagramme de migration Illustration du processus 1.0
Écriture du code de migration 138 lignes (voir MigrationApp.sh) 1.5
Stabilisation Validation de la reproductibilité 1.5
Benchmark cloud Comparaison vs legacy 1.5
Réglage des temps d’arrêt Calcul du downtime 0.5
Chargement VM 82 VMs : OS, code, 2 IP par VM 0.1
Total 15 jours.homme

Vérifications de stabilité (HA minimale)

Action Résultat attendu
Extinction d’un nœud Tous les services redémarrent automatiquement sur les autres nœuds
Extinction / redémarrage simultané de tous les nœuds Les services repartent correctement après reboot

Architecture web & bonnes pratiques

Reference web architecture

Principes de conception :

  • privilégier une infrastructure simple, modulaire et flexible,
  • rapprocher le contenu du client (GDNS ou équivalent),
  • utiliser des load balancers réseau (LVS, IPVS),
  • comparer les coûts et éviter le vendor lock-in,
  • pour TLS :
    • HAProxy pour les frontends rapides,
    • Envoy pour les cas avancés (mTLS, HTTP/2/3),
  • pour le cache :
    • Varnish, Apache Traffic Server,
  • favoriser les stacks open-source,
  • utiliser files, buffers, queues et quotas pour lisser les pics.

Références


Comparatif des grandes plateformes cloud

Fonctionnalité Kubernetes OpenStack AWS Bare-metal HPC CRM oVirt
Outils de déploiement Helm, YAML, ArgoCD, Juju Ansible, Terraform, Juju CloudFormation, Terraform, Juju Ansible, Shell xCAT, Clush Ansible, Shell Ansible, Python
Méthode de bootstrap API API, PXE API PXE, IPMI PXE, IPMI PXE, IPMI PXE, API
Contrôle routeur Kube-router Router/Subnet API Route Table / Subnet API Linux, OVS xCAT Linux API
Contrôle firewall Istio, NetworkPolicy Security Groups API Security Group API Linux firewall Linux firewall Linux firewall API
Virtualisation réseau VLAN, VxLAN VPC VPC OVS, Linux xCAT Linux API
DNS CoreDNS DNS-Nameserver Route 53 GDNS xCAT Linux API
Load balancer Kube-proxy, LVS LVS Network Load Balancer LVS SLURM Ldirectord N/A
Stockage Local, cloud, PVC Swift, Cinder, Nova S3, EFS, EBS, FSx Swift, XFS, EXT4, RAID10 GPFS SAN NFS, SAN

Cette table sert de point de départ pour choisir la bonne stack selon :

  • le niveau de contrôle souhaité,
  • le contexte (on-prem, cloud public, HPC…),
  • les outils d’automatisation existants.

Haute disponibilité, HPC & DevSecOps

Haute disponibilité avec Corosync & Pacemaker

HA cluster architecture

Principes :

  • clusters multi-nœuds ou multi-sites,
  • fencing via IPMI,
  • provisioning PXE / NTP / DNS / TFTP,
  • pour 2 nœuds : attention au split-brain,
  • 3 nœuds ou plus recommandés en production.

Ressources fréquentes

  • multipath, LUNs, LVM, NFS,
  • processus applicatifs,
  • IP virtuelles, DNS, listeners réseau.

HPC

Overview of an HPC cluster

  • orchestration de jobs (SLURM ou équivalent),
  • stockage partagé haute performance,
  • intégration possible avec des workloads IA.

DevSecOps

DevSecOps reference design

  • CI/CD avec contrôles de sécurité intégrés,
  • observabilité dès la conception,
  • scans de vulnérabilité,
  • gestion des secrets,
  • policy-as-code.

News & trends


Formation & apprentissage


Liens cloud & IT utiles


Outils collaboratifs

Dépôts de code

Base de connaissance

  • ce wiki

Messagerie

  • contact interne / support selon les projets

SSO

MLflow


À propos & contributions

Suggestions de corrections, améliorations de schémas, retours d’expérience ou nouveaux labs bienvenus.

Ce wiki a vocation à rester un laboratoire vivant pour l’IA, le cloud et l’automatisation.