Connecteur en développement logiciel

Un connecteur est un composant logiciel qui permet à deux systèmes hétérogènes (ex. : une application et un service externe) de communiquer de manière structurée et sécurisée.

Il agit comme un traducteur : il connaît les protocoles, formats et règles des deux côtés, et gère :

  • L’authentification (clés API, OAuth, etc.),
  • La transformation des données (ex. : JSON ↔ XML),
  • La gestion des erreurs (timeout, erreurs 4xx/5xx),
  • Et parfois la mise en cache ou la file d’attente.

Objectif : que le code principal n’ait pas à connaître les détails techniques du service externe.

Exemple simple : créer un plugin WordPress qui affiche la météo

Vous voulez qu’un petit bloc sur votre site WordPress affiche la température de votre ville.
Mais WordPress ne sait pas récupérer la météo tout seul.
→ Vous créez un plugin connecteur qui parle à un service météo externe (comme OpenWeather).

Comment ça marche ?

  1. Le service externe : OpenWeather (gratuit, simple, fiable).
  2. Votre plugin : il va :
    • Contacter OpenWeather avec une clé API,
    • Récupérer la température,
    • L’afficher sur votre site.

Code minimal (à mettre dans un vrai plugin)

Fichier : wp-content/plugins/meteo-simple/meteo-simple.php

<?php
/**
 * Plugin Name: Météo Simple
 */
function afficher_meteo() {
    $ville = 'Lyon';
    $api_key = 'VOTRE_CLE_ICI'; // gratuite sur openweathermap.org

    $url = "https://api.openweathermap.org/data/2.5/weather?q={$ville}&appid={$api_key}&units=metric";
    $reponse = file_get_contents($url);
    $data = json_decode($reponse, true);

    if ($data && isset($data['main']['temp'])) {
        $temp = round($data['main']['temp']);
        return "<div class='meteo'>🌤️ {$temp}°C à {$ville}</div>";
    }
    return "<div class='meteo'>Météo indisponible</div>";
}

// Rend la fonction utilisable dans les pages ou widgets
add_shortcode('meteo', 'afficher_meteo');

Ensuite, dans n’importe quelle page WordPress, vous écrivez :

[meteo]


→ Et la température s’affiche !

Ce que ce plugin fait comme « connecteur » :

  • Il parle à un service externe (OpenWeather),
  • Il traduit la réponse (JSON → texte lisible),
  • Il protège votre site si le service tombe en panne (message d’erreur propre).

Et surtout :

WordPress n’a pas besoin de savoir comment marche OpenWeather.
Votre plugin gère tout — c’est ça, un connecteur.

Précautions d’usage

Mettre une clé API directement dans le code d’un plugin WordPress (dans un fichier .php) est risqué, surtout si :

  • Vous partagez le code (GitHub, collègue, etc.),
  • Le site est compromis,
  • Ou si le serveur affiche du code source par erreur.

Voici la méthode simple, sécurisée et recommandée pour protéger votre clé API dans WordPress :

Solution : stocker la clé dans wp-config.php

Le fichier wp-config.php est :

  • Hors du dossier public (souvent en dehors de /public_html),
  • Jamais exposé par le navigateur,
  • Déjà utilisé par WordPress pour les identifiants de base de données.

Étapes

  1. Ouvrez le fichier wp-config.php (à la racine de votre site WordPress).
  2. Ajoutez cette ligne avant la ligne /* That's all, stop editing! */ :
// Clé API pour le plugin Météo Simple
define('OPENWEATHER_API_KEY', 'votre_vraie_cle_ici_123456789');
  1. Dans votre plugin, utilisez la constante au lieu d’une chaîne en dur :
function afficher_meteo() {
    $ville = 'Paris';
    $api_key = OPENWEATHER_API_KEY; // ← sécurisé !

    $url = "https://api.openweathermap.org/data/2.5/weather?q={$ville}&appid={$api_key}&units=metric";
    // ... reste du code
}
Les contenus de définition restent publics. Les ressources (outils, grilles, supports) liées à cette fiche sont disponibles dans l’espace membre.