Discipline : Ingénierie logicielle et architectures cloud

Conception de systèmes distribués, résilients et scalables via APIs, conteneurs, edge computing et alternatives auto-hébergées au cloud centralisé.
DDEV, auto-hébergement, microservices, Serverless, Kubernetes, infrastructure as code, résilience logicielle

  • API MCP

    L’API MCP n’est pas une API au sens classique (comme une REST API), mais plutôt une spécification de communication entre un client IA (le « modèle ») et un fournisseur de fonctionnalités (le « serveur »).

    Elle définit :

    • comment un agent IA découvre les outils disponibles,
    • comment il demande à exécuter une action,
    • comment le système répond (succès, erreur, données),
    • et comment gérer la sécurité et le contexte utilisateur.

    Concrètement, MCP utilise des canaux comme stdin/stdout, WebSockets ou HTTP pour échanger des messages structurés en JSON, permettant à n’importe quel outil d’être intégré dans le workflow d’un agent IA.

    En résumé : MCP est un langage commun qui permet aux IA de dialoguer avec des outils externes de façon générique, sécurisée et interopérable.

  • Programmation assistée par l’IA

    La programmation assistée par l’IA est une approche de développement logiciel dans laquelle des systèmes d’intelligence artificielle (souvent basés sur des modèles de langage) aident les développeurs à écrire, comprendre, corriger ou documenter du code sans remplacer leur jugement ni leur responsabilité.

    L’IA agit comme un pair-programmeur virtuel, proposant du code en temps réel, mais l’humain valide, adapte et assume.

    Fonctionnement (cas concret : GitHub Copilot)

    Le développeur commence à taper une fonction en Python

    def calculate_monthly_budget(income, expenses):

    L’IA, entraînée sur des millions de lignes de code public, prédit la suite

    return income - sum(expenses)

    Le développeur accepte, modifie ou rejette la suggestion en s’appuyant sur sa compréhension métier et ses bonnes pratiques.

    Ce que l’IA peut faire (en 2026)

    TâcheExemple
    Auto-complétion intelligenteProposer une boucle for à partir d’un commentaire : # trier la liste par ordre alphabétique
    Génération de testsCréer des tests unitaires à partir d’une fonction
    Explication de codeRésumer en français ce qu’un script complexe fait
    Migration de langageTransformer du Python 2 en Python 3
    Détection de vulnérabilitésSignaler une injection SQL potentielle

    Limites et vigilances (essentielles pour un pro)

    RisqueExplication
    Code non sécuriséL’IA peut générer du code fonctionnel… mais vulnérable (ex. : sans échappement SQL)
    Biais de licenceModèles entraînés sur du code GitHub peuvent recopier du code sous licence restrictive (GPL, etc.) → risque juridique
    Illusion de compétenceUn débutant peut croire que le code est “correct” parce que l’IA l’a écrit
    Dépendance cognitiveMoins de mémorisation des syntaxes, mais aussi moins de compréhension profonde
    Vieillissement cachéLes suggestions deviennent obsolètes si le modèle n’est pas mis à jour (ex. : bonnes pratiques 2022 vs 2026)
  • Ingénieur DevOps / Cloud

    Gardien de la fluidité technique, pas simple gestionnaire de serveurs

    Idées reçues fréquentes

    Il configure des serveurs, déploie des applications dans le cloud et automatise des tâches répétitives.

    Cette vision réductrice confond automatisation et culture de collaboration.

    Elle oublie que le DevOps n’est pas un rôle technique isolé, mais une approche systémique qui vise à réduire les silos entre développement et exploitation pour livrer plus vite, plus sûrement, et avec plus de résilience.

    Ses missions

    L’Ingénieur DevOps / Cloud conçoit, déploie et maintient l’infrastructure, les pipelines et les outils qui permettent aux équipes de développement de livrer du code en continu, de façon sécurisée et scalable.

    Il met en place l’intégration et le déploiement continus (CI/CD), gère l’infrastructure via du code (IaC), surveille la performance et la disponibilité des services, et automatise la récupération en cas d’incident.

    Il travaille à la fois sur la plateforme cloud (AWS, Azure, GCP) ou les environnements on-premise, et sur la culture d’équipe, en favorisant la responsabilité partagée, la transparence et l’apprentissage par l’erreur.

    Le sens du métier

    Rendre la livraison logicielle prévisible, reproductible et sans douleur là où elle était autrefois source de stress, de bugs en production et de nuits blanches.

    Champ d’action

    • Concevoir et gérer l’infrastructure via du code (Terraform, CloudFormation, Ansible)
    • Mettre en place des pipelines CI/CD (GitHub Actions, GitLab CI, Jenkins, ArgoCD)
    • Gérer les environnements cloud (compute, stockage, réseau, sécurité)
    • Superviser les applications (logs, métriques, traces) avec des outils comme Prometheus, Grafana, ELK
    • Sécuriser les accès, les secrets et les déploiements (Vault, IAM, RBAC)
    • Optimiser les coûts cloud et l’empreinte énergétique (rightsizing, auto-scaling)
    • Former les devs aux bonnes pratiques d’exploitation (observabilité, débogage en prod)

    Outils et terrains

    Cloud : AWS, Azure, Google Cloud Platform

    Conteneurisation : Docker, Kubernetes, Helm

    IaC : Terraform, Pulumi, Ansible, CloudFormation

    CI/CD : GitLab CI, GitHub Actions, Jenkins, CircleCI

    Observabilité : Prometheus, Grafana, Loki, Datadog, New Relic

    Sécurité : Vault, Trivy, Falco, OPA/Gatekeeper

    Confusions fréquentes

    Pas un administrateur système classique : il ne gère pas des serveurs fixes, mais des infrastructures éphémères et dynamiques.

    Pas un développeur back-end : il ne code pas la logique métier, mais l’environnement qui la fait vivre.

    Pas un « magicien de l’infra » : il ne résout pas seul·e les pannes, mais construit des systèmes où les pannes sont rares, visibles et réversibles.

    Rémunération indicative (France, brut annuel)

    – Junior (0–3 ans) : 45 000 € – 55 000 €
    – Confirmé·e (3–6 ans) : 55 000 € – 75 000 €
    – Senior / Lead (6+ ans, avec expertise cloud ou SRE) : 75 000 € – 100 000 €+

    (Les profils certifiés (AWS/Azure/GCP) ou spécialisés en sécurité cloud (DevSecOps) peuvent atteindre 110 000 €+ dans les grands comptes ou scale-ups.)

    Où le rencontrer ?

    Startups tech, grands groupes en transformation cloud, éditeurs de logiciels, banques, assurances, plateformes critiques (e-commerce, santé, médias), cabinets de conseil infrastructure.

    Autres appellations

    Cloud Engineer, DevOps Engineer, Ingénieur SRE (Site Reliability Engineer), Platform Engineer

  • Appsmith

    Appsmith est un cadre de développement (framework) Low Code / No Code open source destiné à la construction rapide d’outils internes (dashboards, applications CRUD, etc.).

    Il permet de créer une interface utilisateur (UI) par glisser-déposer de widgets et de la connecter à diverses sources de données (bases de données, API) en utilisant des requêtes et du JavaScript pour la logique.

    Appsmith

  • API Abilities

    L’Abilities API est une nouvelle fonctionnalité en cours de développement pour WordPress. Elle permet aux plugins, thèmes et au cœur de WordPress de déclarer de façon standardisée ce qu’ils sont capables de faire, de manière compréhensible par une intelligence artificielle (IA).

    Aujourd’hui, une IA qui interagit avec un site WordPress ne sait pas ce que les différents outils installés peuvent faire. Elle voit du code, mais pas les fonctionnalités utiles (comme « analyser le SEO d’un article » ou « créer une sauvegarde »).

    Grâce à l’Abilities API :

    • Chaque fonctionnalité utile peut être enregistrée avec :
      • un nom et une description,
      • les données nécessaires en entrée (par exemple : l’ID d’un article),
      • la fonction à exécuter,
      • et les permissions requises (par exemple : il faut pouvoir modifier les articles).
    • Une IA peut alors interroger WordPress pour connaître toutes les actions disponibles.
    • Elle peut exécuter ces actions de façon sécurisée, car l’API vérifie toujours que l’utilisateur a bien les droits.

    Concrètement, cela permet à des agents IA d’utiliser WordPress comme une plateforme pilotable : automatiser des tâches complexes, combiner plusieurs outils, ou répondre à des demandes en langage naturel (comme « optimise mon dernier article »).

    Cette API n’est pas destinée à améliorer l’interface utilisateur (ce n’est pas son rôle), mais à rendre WordPress compréhensible et actionnable par les systèmes d’intelligence artificielle.

    Prévue pour arriver dans les versions futures de WordPress (à partir de la 6.9), elle s’appuie sur des standards comme JSON Schema pour garantir la compatibilité avec les grands modèles d’IA (GPT, Claude, Gemini, etc.).

    https://make.wordpress.org/ai/2025/07/17/abilities-api/
  • Decisions, not options

    Philosophie de conception qui substitue des choix imposés par les concepteurs à la liberté de configuration de l’utilisateur, au nom de la simplicité ou de l’efficacité.

    Cette approche est souvent saluée pour sa clarté et son efficacité, mais critiquée lorsqu’elle limite la liberté, la personnalisation ou l’adaptabilité aux contextes minoritaires ou non standards.

    Elle repose sur une forme de paternalisme technique : « Nous savons ce qui est bon pour vous. »

  • Procédure stockée

    Une procédure stockée est un bloc de code SQL nommé, préenregistré dans la base de données, qui peut être exécuté à la demande pour effectuer une ou plusieurs opérations logiques.

    Une procédure stockée est comme une « fonction » ou un « script » installé directement dans la base de données. Une fois créée, elle peut être réutilisée depuis des applications, des outils d’administration ou d’autres procédures, sans avoir à réécrire le code SQL à chaque fois.

    Elle permet de :

    • Accepter des paramètres en entrée (ex. : un identifiant client, une date),
    • Exécuter des opérations complexes (mises à jour multiples, calculs, validations métier, boucles, conditions),
    • Retourner des résultats (sous forme de jeux de données, de valeurs de sortie ou de messages d’erreur),
    • Centraliser la logique métier au plus près des données, ce qui améliore la sécurité, la performance et la maintenabilité.

    Analogie simple :

    Une procédure stockée, c’est comme une recette de cuisine enregistrée dans un livre. Vous donnez les ingrédients (paramètres), le livre exécute les étapes (requêtes SQL), et vous obtenez un plat (résultat ou effet).

    Avantages :

    • Réduction du trafic réseau (le code s’exécute côté serveur),
    • Meilleure sécurité (les utilisateurs n’ont pas besoin d’accès direct aux tables),
    • Optimisation des performances (le plan d’exécution est souvent mis en cache),
    • Encapsulation de la logique métier (cohérence, réutilisabilité).

    Exemple simple (MySQL/PostgreSQL) :

    DELIMITER //
    CREATE PROCEDURE ObtenirCommandesClient(IN client_id INT)
    BEGIN
        SELECT * FROM commandes WHERE client_id = client_id;
    END //
    DELIMITER ;
    
    -- Appel
    CALL ObtenirCommandesClient(123);
  • Moteur de réponse

    Système logiciel chargé de générer des réponses automatiques à partir d’une requête utilisateur, en s’appuyant sur des modèles linguistiques, des bases de connaissances ou des règles prédéfinies.

    Contrairement à un simple moteur de recherche qui restitue des documents, un moteur de réponse synthétise, reformule ou construit une information intelligible et contextualisée.

    Il peut être :

    • génératif (basé uniquement sur un LLM),
    • ancré aux sources (source-grounded, via RAG ou base de faits vérifiables),
    • éthique (intégrant des garde-fous normatifs, de traçabilité et de non-discrimination),
    • local (exécuté hors cloud, pour préserver la souveraineté des données).
  • Architecte logiciel

    Concepteur de la colonne vertébrale technique, pas simple dessinateur de schémas

    Idées reçues fréquentes

    Il dessine des diagrammes UML, choisit les langages et valide les choix techniques des développeurs.

    Cette vision réductrice confond spécification formelle et conception d’un système adaptable, évolutif et maintenable.

    Elle oublie que l’architecture logicielle détermine non seulement ce qui fonctionne aujourd’hui, mais ce qui pourra évoluer demain sans casser.

    Ses missions

    L’Architecte logiciel définit la structure globale d’un système logiciel : choix des composants, des technologies, des protocoles, des modèles de données et des interactions entre services.

    Il veille à l’évolutivité, la performance, la sécurité, la résilience et la maintenabilité du système, en anticipant les besoins futurs (montée en charge, intégrations, conformité).

    Il collabore avec les équipes produit, développement, sécurité et infrastructure pour traduire les exigences métier en fondations techniques robustes, et encadre les devs dans les bonnes pratiques d’implémentation.

    Le sens du métier

    Construire des systèmes qui vieillissent bien capables de s’adapter, d’absorber les changements, et de rester compréhensibles, même après des années de modifications.

    Champ d’action

    • Définir l’architecture technique (monolithe, microservices, serverless, etc.)
    • Choisir les langages, frameworks, bases de données et middlewares adaptés
    • Modéliser les flux de données, les API et les dépendances entre services
    • Établir les normes de développement, de test et de déploiement
    • Évaluer les risques techniques (dette, obsolescence, verrouillage)
    • Documenter l’architecture (C4 model, ADRs, diagrammes)
    • Mentorat des équipes techniques sur les bonnes pratiques d’architecture

    Outils et terrains

    Modélisation : UML, C4 model, Mermaid, PlantUML, Lucidchart

    Langages/frameworks : Java/Spring, Python/Django, Node.js, .NET, Go, etc.

    Infra/DevOps : Docker, Kubernetes, AWS/Azure/GCP, Terraform

    Documentation : Markdown, Confluence, ADR (Architecture Decision Records)

    Méthodologies : Domain-Driven Design, Event-Driven Architecture, Clean Architecture

    Confusions fréquentes

    Pas un développeur senior : il code peu (ou pas), mais définit le cadre dans lequel on code.

    Pas un DevOps : il ne gère pas l’infrastructure au quotidien, mais en conçoit les principes d’intégration.

    Pas un chef de projet : il ne gère pas les délais, mais la pérennité technique du système.

    Rémunération indicative (France, brut annuel)

    – Confirmé·e (5+ ans d’expérience technique) : 60 000 € – 80 000 €
    – Senior / Lead (7+ ans, avec pilotage d’architectures critiques) : 80 000 € – 100 000 €+
    (Dans les secteurs bancaires, cloud, ou tech scale-up, les salaires peuvent dépasser 110 000 €, surtout avec expertise cloud ou sécurité.)

    Où le rencontrer ?

    Grands groupes (banque, assurance, télécoms), éditeurs de logiciels, startups en phase de scalabilité, cabinets de conseil technique, services publics numériques, plateformes critiques (santé, énergie, transport).

    Autres appellations

    Software Architect, Architecte système, Ingénieur·architecte, Lead Architect

  • Modélisation des données

    La modélisation des données consiste à concevoir la structure logique qui décrit comment les données sont organisées, liées et stockées.

    Dans un monde où les données proviennent de sources très diverses structurées (bases SQL), semi-structurées (JSON, logs) et non structurées (textes, images) — la modélisation classique (tables rigides) devient insuffisante.

    Il faut alors adopter des schémas flexibles ou des modèles orientés graphe, capables de :

    • Accueillir des formats variés,
    • Représenter des relations complexes (ex. : « cet utilisateur a consulté cette page, puis a mentionné ce lieu sur Twitter »),
    • Évoluer sans casser l’ensemble du système.

    L’objectif n’est plus seulement de stocker, mais de relier avec du sens une démarche au cœur du web sémantique et de la documentation intelligente.

    Exemple concret : la vue 360° du client

    Pour comprendre un client dans sa globalité, une organisation peut fusionner :

    SourceType de donnéesStructure
    CRM (ex. : HubSpot, Salesforce)Identité, historique d’achat, statutStructurée (tables relationnelles)
    Logs de navigation (site web, app)Pages visitées, temps passé, parcoursSemi-structurée (JSON, événements horodatés)
    Réseaux sociaux (commentaires, mentions)Opinions, émotions, hashtagsNon structurée (texte libre, images)

    Comment les relier ?

    • Un modèle en graphe permet de représenter :
      • Le client comme un nœud central,
      • Ses interactions (achats, clics, commentaires) comme des arêtes,
      • Les entités mentionnées (produits, lieux, émotions) comme d’autres nœuds.
    • Grâce à des techniques comme le NER (Named Entity Recognition) ou le linking sémantique, on peut relier « Paris » dans un tweet à wd:Q90 (Wikidata), ou « produit X » à une fiche produit normalisée.

    Résultat : une représentation riche, dynamique et interopérable du client, bien plus utile qu’un simple tableau Excel.

    Technologies associées

    ApprocheOutils / standards
    Modèle en grapheNeo4j, Apache Jena, GraphDB, RDF/OWL
    Schémas flexiblesJSON Schema, Avro, MongoDB (schema validation optionnelle)
    Lien sémantiqueWikidata, Schema.org, ontologies SSN/SOSA (IoT), SKOS
    Enrichissement NLPspaCy, Stanza, transformers (Hugging Face)