AccueilCCNAAPI REST Cisco via Postman

API REST Cisco via Postman

Interagir avec une API REST Cisco via Postman : Le Guide Pratique CCNA

Introduction

Dans l’é­vo­lu­tion des réseaux, le rôle de l’in­gé­nieur réseau s’est trans­for­mé. Fini le temps où l’on confi­gu­rait chaque équi­pe­ment en tapant des lignes de com­mande (CLI) une par une. Aujourd’­hui, la pro­gram­ma­bi­li­té et l’au­to­ma­ti­sa­tion sont au cœur du pro­gramme CCNA. L’une des com­pé­tences clés à maî­tri­ser est l’in­te­rac­tion avec les équi­pe­ments réseau via des inter­faces de pro­gram­ma­tion, ou API REST. Dans cet article, nous allons explo­rer les concepts fon­da­men­taux et mettre en pra­tique ces connais­sances à l’aide de l’ou­til Postman.

Théorie : Programmabilité Réseau et API REST

Une API REST (Repre­sen­ta­tio­nal State Trans­fer Appli­ca­tion Pro­gram­ming Inter­face) per­met à deux sys­tèmes infor­ma­tiques de com­mu­ni­quer entre eux de manière stan­dar­di­sée, en s’ap­puyant sur les pro­to­coles du Web. Pour les équi­pe­ments Cis­co (comme ceux fonc­tion­nant sous IOS XE), cela signi­fie que nous pou­vons envoyer des requêtes pour récu­pé­rer la confi­gu­ra­tion ou appli­quer des modi­fi­ca­tions, sans pas­ser par SSH ou Telnet.

Les verbes HTTP : GET et POST

L’in­te­rac­tion avec une API REST se fait prin­ci­pa­le­ment grâce aux méthodes (ou verbes) HTTP :

  • GET : Uti­li­sé pour lire ou récu­pé­rer des infor­ma­tions depuis l’é­qui­pe­ment réseau (ex : obte­nir l’é­tat des interfaces).
  • POST : Uti­li­sé pour créer une nou­velle res­source (ex : confi­gu­rer une nou­velle inter­face loopback).
  • PUT / PATCH : Uti­li­sés pour mettre à jour ou modi­fier une res­source existante.
  • DELETE : Uti­li­sé pour sup­pri­mer une configuration.

Le format JSON (JavaScript Object Notation)

Lorsque nous com­mu­ni­quons avec une API REST, les don­nées échan­gées doivent être struc­tu­rées dans un for­mat lisible à la fois par les humains et les machines. Le for­mat le plus cou­rant est le JSON. Il est basé sur des paires clé-valeur (key-value pairs) et des listes.

{
  "interface": {
    "name": "GigabitEthernet1",
    "description": "Lien vers le routeur Core",
    "enabled": true,
    "ipv4": {
      "address": "192.168.1.1",
      "netmask": "255.255.255.0"
    }
  }
}

Ce for­mat léger et struc­tu­ré est idéal pour ana­ly­ser les confi­gu­ra­tions réseau ou envoyer de nou­velles com­mandes via notre API.

Cas Pratique : Interagir avec Cisco IOS XE via Postman

Post­man est un client HTTP gra­phique très popu­laire qui per­met de construire et d’en­voyer faci­le­ment des requêtes vers une API REST. Ima­gi­nons que nous sou­hai­tons inter­ro­ger un rou­teur Cis­co IOS XE (confi­gu­ré pour accep­ter les connexions RESTCONF) pour obte­nir la liste de ses interfaces.

Étape 1 : Préparation dans Postman

  1. Ouvrez Post­man et créez une nou­velle requête (New Request).
  2. Sélec­tion­nez la méthode HTTP GET dans le menu déroulant.
  3. Entrez l’URL de l’A­PI RESTCONF du rou­teur. Par exemple : https://<IP_DU_ROUTEUR>/restconf/data/ietf-interfaces:interfaces

Étape 2 : Configuration de l’Authentification

Le rou­teur n’ac­cepte pas les requêtes ano­nymes. Nous devons four­nir nos identifiants :

  1. Allez dans l’on­glet Autho­ri­za­tion.
  2. Sélec­tion­nez le type Basic Auth.
  3. Entrez le nom d’u­ti­li­sa­teur (User­name) et le mot de passe (Pass­word) confi­gu­rés sur le rou­teur avec le niveau de pri­vi­lège 15.

Étape 3 : Définition des Headers (En-têtes)

Il est cru­cial de spé­ci­fier au rou­teur dans quel for­mat nous sou­hai­tons rece­voir la réponse :

  1. Allez dans l’on­glet Hea­ders.
  2. Ajou­tez une clé nom­mée Accept avec pour valeur application/yang-data+json.
  3. Ajou­tez (si Post­man ne le fait pas auto­ma­ti­que­ment) une clé Content-Type avec la même valeur application/yang-data+json.

Étape 4 : Exécution et Analyse

  1. Cli­quez sur le bou­ton bleu Send.
  2. Si le cer­ti­fi­cat SSL du rou­teur n’est pas recon­nu (auto-signé), assu­rez-vous d’a­voir désac­ti­vé la véri­fi­ca­tion SSL dans les para­mètres de Post­man (Set­tings > SSL cer­ti­fi­cate veri­fi­ca­tion = OFF).
  3. Dans la sec­tion de réponse en bas, vous devriez obte­nir un code de sta­tut 200 OK.
  4. Le corps de la réponse (Body) affi­che­ra les don­nées des inter­faces au for­mat JSON. Féli­ci­ta­tions, vous venez de com­mu­ni­quer avec votre rou­teur via une API REST !

Conclusion

L’u­ti­li­sa­tion de Post­man pour inter­agir avec des API REST est une com­pé­tence fon­da­men­tale pour l’in­gé­nieur réseau d’au­jourd’­hui, et elle est par­ti­cu­liè­re­ment mise en avant dans la cer­ti­fi­ca­tion CCNA. Com­prendre com­ment struc­tu­rer une requête HTTP (GET, POST), gérer l’au­then­ti­fi­ca­tion et lire des don­nées JSON vous ouvre les portes de l’au­to­ma­ti­sa­tion réseau avec Python et Ansible. N’hé­si­tez pas à pra­ti­quer sur des envi­ron­ne­ments de labo­ra­toire (comme Cis­co Dev­Net) pour conso­li­der ces acquis. Bonne configuration !

Article précédent

Les plus populaires