{"id":1109,"date":"2026-01-30T18:40:13","date_gmt":"2026-01-30T17:40:13","guid":{"rendered":"https:\/\/network360.fr\/?page_id=1109"},"modified":"2026-02-01T17:45:33","modified_gmt":"2026-02-01T16:45:33","slug":"devnea-netconf-restconf","status":"publish","type":"page","link":"https:\/\/network360.fr\/index.php\/devnea-netconf-restconf\/","title":{"rendered":"DEVNEA &#8211; NETCONF &amp; RESTCONF"},"content":{"rendered":"\n<div class=\"wp-block-uagb-tabs uagb-block-913a9f0b uagb-tabs__wrap uagb-tabs__vstyle8-desktop uagb-tabs__vstyle6-tablet uagb-tabs__stack1-mobile\" data-tab-active=\"0\"><ul class=\"uagb-tabs__panel uagb-tabs__align-left\" role=\"tablist\"><li class=\"uagb-tab uagb-tabs__active\" role=\"none\"><a href=\"#uagb-tabs__tab0\" class=\"uagb-tabs-list uagb-tabs__icon-position-left\" data-tab=\"0\" role=\"tab\"><div><strong>SNMP, NETCONF et RESTCONF<\/strong><\/div><\/a><\/li><li class=\"uagb-tab \" role=\"none\"><a href=\"#uagb-tabs__tab1\" class=\"uagb-tabs-list uagb-tabs__icon-position-left\" data-tab=\"1\" role=\"tab\"><div><strong>NETCONF Overview<\/strong><\/div><\/a><\/li><li class=\"uagb-tab \" role=\"none\"><a href=\"#uagb-tabs__tab2\" class=\"uagb-tabs-list uagb-tabs__icon-position-left\" data-tab=\"2\" role=\"tab\"><div><strong>Python ncclient<\/strong><\/div><\/a><\/li><li class=\"uagb-tab \" role=\"none\"><a href=\"#uagb-tabs__tab3\" class=\"uagb-tabs-list uagb-tabs__icon-position-left\" data-tab=\"3\" role=\"tab\"><div><strong>RETCONF Overview<\/strong><\/div><\/a><\/li><\/ul><div class=\"uagb-tabs__body-wrap\">\n<div class=\"wp-block-uagb-tabs-child uagb-tabs__body-container uagb-inner-tab-0\" aria-labelledby=\"uagb-tabs__tab0\">\n<p>\ud83d\udccc <strong>Fiche R\u00e9sum\u00e9 \u2013 SNMP, NETCONF et RESTCONF<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 1. SNMP (Simple Network Management Protocol)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Protocole historique des ing\u00e9nieurs r\u00e9seau.<\/li>\n\n\n\n<li>Fonctionne en <strong>push &amp; pull<\/strong> :\n<ul class=\"wp-block-list\">\n<li>Polling (interrogation des \u00e9quipements)<\/li>\n\n\n\n<li>Traps (alertes)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Tr\u00e8s r\u00e9pandu dans les infrastructures IT.<\/li>\n\n\n\n<li>\u274c Peu adapt\u00e9 \u00e0 la <strong>configuration<\/strong> des \u00e9quipements.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 2. NETCONF<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cr\u00e9\u00e9 en <strong>2006<\/strong> pour d\u00e9passer les limites de SNMP.<\/li>\n\n\n\n<li>Normalis\u00e9 par l\u2019<strong>IETF<\/strong> (RFC 6241 \u2013 2011).<\/li>\n\n\n\n<li>Permet la gestion fiable des configurations.<\/li>\n\n\n\n<li>Bas\u00e9 sur des mod\u00e8les <strong>YANG<\/strong>.<\/li>\n\n\n\n<li>Utilis\u00e9 pour l\u2019automatisation r\u00e9seau.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 3. RESTCONF<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Protocole d\u00e9riv\u00e9 de NETCONF.<\/li>\n\n\n\n<li>Bas\u00e9 sur <strong>REST<\/strong> et <strong>HTTP<\/strong>.<\/li>\n\n\n\n<li>Plus flexible pour les d\u00e9veloppeurs.<\/li>\n\n\n\n<li>Facile \u00e0 int\u00e9grer dans les outils d\u2019automatisation.<\/li>\n\n\n\n<li>Utilise aussi les mod\u00e8les <strong>YANG<\/strong>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 4. YANG (Mod\u00e8le de donn\u00e9es)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Langage de mod\u00e9lisation.<\/li>\n\n\n\n<li>D\u00e9crit la structure des donn\u00e9es r\u00e9seau.<\/li>\n\n\n\n<li>Standardise la lecture et la modification des configurations.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 5. Objectifs du cours<\/h3>\n\n\n\n<p>Ce cours permet de :<\/p>\n\n\n\n<p>\u2705 Comprendre NETCONF et RESTCONF<br>\u2705 Comparer leurs diff\u00e9rences<br>\u2705 Utiliser la librairie Python <strong>ncclient<\/strong><br>\u2705 Manipuler les \u00e9quipements via API<br>\u2705 R\u00e9aliser des labs pratiques<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udcca Comparaison rapide<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Protocole<\/th><th>Fonction<\/th><th>Transport<\/th><th>Configuration<\/th><th>Usage principal<\/th><\/tr><\/thead><tbody><tr><td>SNMP<\/td><td>Supervision<\/td><td>UDP<\/td><td>\u274c Limit\u00e9<\/td><td>Monitoring<\/td><\/tr><tr><td>NETCONF<\/td><td>Configuration<\/td><td>SSH<\/td><td>\u2705 Oui<\/td><td>Automatisation<\/td><\/tr><tr><td>RESTCONF<\/td><td>API<\/td><td>HTTP<\/td><td>\u2705 Oui<\/td><td>D\u00e9veloppement<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-tabs-child uagb-tabs__body-container uagb-inner-tab-1\" aria-labelledby=\"uagb-tabs__tab1\">\n<p>\ud83d\udccc <strong>Fiche R\u00e9sum\u00e9 \u2013 NETCONF Overview<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 1. Objectif de NETCONF<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Protocole de gestion r\u00e9seau nouvelle g\u00e9n\u00e9ration.<\/li>\n\n\n\n<li>Cr\u00e9\u00e9 pour corriger les limites de SNMP.<\/li>\n\n\n\n<li>Orient\u00e9 <strong>gestion transactionnelle<\/strong>.<\/li>\n\n\n\n<li>S\u00e9pare :\n<ul class=\"wp-block-list\">\n<li>\ud83d\udcc4 <strong>Configuration data<\/strong> (modifiable)<\/li>\n\n\n\n<li>\ud83d\udcca <strong>State data<\/strong> (lecture seule)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 2. Types de donn\u00e9es<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u2705 Configuration Data<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Donn\u00e9es modifiables.<\/li>\n\n\n\n<li>Permettent de passer de l\u2019\u00e9tat par d\u00e9faut \u00e0 l\u2019\u00e9tat actuel.<\/li>\n\n\n\n<li>Ex : interfaces, routage, VLAN.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u2705 State Data<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Donn\u00e9es non modifiables.<\/li>\n\n\n\n<li>Informations d\u2019\u00e9tat et statistiques.<\/li>\n\n\n\n<li>Ex : status interface, trafic, erreurs.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 3. Datastores NETCONF<\/h2>\n\n\n\n<p>NETCONF stocke les configurations dans des bases appel\u00e9es <strong>datastores<\/strong> :<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Datastore<\/th><th>R\u00f4le<\/th><\/tr><\/thead><tbody><tr><td>running<\/td><td>Config active<\/td><\/tr><tr><td>startup<\/td><td>Config au d\u00e9marrage<\/td><\/tr><tr><td>candidate<\/td><td>Config en attente<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udccc Candidate Configuration<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zone de test (staging).<\/li>\n\n\n\n<li>Modifs non appliqu\u00e9es.<\/li>\n\n\n\n<li>Application via <code>&lt;commit&gt;<\/code>.<\/li>\n\n\n\n<li>Tout est valid\u00e9 d\u2019un coup (transaction).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 4. Pile de protocoles NETCONF<\/h2>\n\n\n\n<p>NETCONF repose sur 4 couches :<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1\ufe0f\u20e3 Transport<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Principalement : <strong>SSH<\/strong><\/li>\n\n\n\n<li>Connexion persistante<\/li>\n\n\n\n<li>S\u00e9curis\u00e9e (authentification, chiffrement)<\/li>\n<\/ul>\n\n\n\n<p>\u27a1\ufe0f Port par d\u00e9faut : <strong>TCP 830<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">2\ufe0f\u20e3 Messages<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bas\u00e9s sur XML<\/li>\n\n\n\n<li>Types :\n<ul class=\"wp-block-list\">\n<li><code>&lt;rpc&gt;<\/code> (requ\u00eate)<\/li>\n\n\n\n<li><code>&lt;rpc-reply&gt;<\/code> (r\u00e9ponse)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Identifi\u00e9s par <code>message-id<\/code><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">3\ufe0f\u20e3 Operations<\/h3>\n\n\n\n<p>Commandes NETCONF principales :<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Op\u00e9ration<\/th><th>R\u00f4le<\/th><\/tr><\/thead><tbody><tr><td><code>&lt;get&gt;<\/code><\/td><td>\u00c9tat + config<\/td><\/tr><tr><td><code>&lt;get-config&gt;<\/code><\/td><td>Config uniquement<\/td><\/tr><tr><td><code>&lt;edit-config&gt;<\/code><\/td><td>Modifier config<\/td><\/tr><tr><td><code>&lt;copy-config&gt;<\/code><\/td><td>Copier datastore<\/td><\/tr><tr><td><code>&lt;delete-config&gt;<\/code><\/td><td>Supprimer datastore<\/td><\/tr><tr><td><code>&lt;lock&gt;<\/code> \/ <code>&lt;unlock&gt;<\/code><\/td><td>Verrouiller<\/td><\/tr><tr><td><code>&lt;close-session&gt;<\/code><\/td><td>Fermeture<\/td><\/tr><tr><td><code>&lt;kill-session&gt;<\/code><\/td><td>Forcer arr\u00eat<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">4\ufe0f\u20e3 Content<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Donn\u00e9es XML bas\u00e9es sur mod\u00e8les.<\/li>\n\n\n\n<li>Souvent d\u00e9riv\u00e9es de <strong>YANG<\/strong>.<\/li>\n\n\n\n<li>Transport\u00e9es dans <code>&lt;rpc&gt;<\/code>.<\/li>\n<\/ul>\n\n\n\n<p>\u27a1\ufe0f NETCONF transporte du XML conforme aux mod\u00e8les.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 5. Filtres NETCONF<\/h2>\n\n\n\n<p>Permettent de limiter les donn\u00e9es re\u00e7ues.<\/p>\n\n\n\n<p>Exemple :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;filter type=\"subtree\"&gt;\n<\/code><\/pre>\n\n\n\n<p>\u27a1\ufe0f R\u00e9cup\u00e8re uniquement une partie cibl\u00e9e (ex : interface eth0).<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 6. Fonctionnement d\u2019une session NETCONF<\/h2>\n\n\n\n<p>\u00c9tapes classiques :<\/p>\n\n\n\n<p>1\ufe0f\u20e3 Connexion SSH sur port 830<br>2\ufe0f\u20e3 \u00c9change de <code>&lt;hello&gt;<\/code> (capacit\u00e9s)<br>3\ufe0f\u20e3 N\u00e9gociation client\/serveur<br>4\ufe0f\u20e3 Envoi <code>&lt;rpc&gt;<\/code><br>5\ufe0f\u20e3 R\u00e9ponse <code>&lt;rpc-reply&gt;<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udccc Terminaison des messages<\/h3>\n\n\n\n<p>Tous les messages finissent par :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>]]&gt;]]&gt;\n<\/code><\/pre>\n\n\n\n<p>\u27a1\ufe0f Marque fin de transmission.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 7. Capacit\u00e9s (Capabilities)<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Envoy\u00e9es dans <code>&lt;hello&gt;<\/code>.<\/li>\n\n\n\n<li>Indiquent les fonctions support\u00e9es :\n<ul class=\"wp-block-list\">\n<li>Version NETCONF<\/li>\n\n\n\n<li>Validation<\/li>\n\n\n\n<li>Rollback<\/li>\n\n\n\n<li>Notifications<\/li>\n\n\n\n<li>YANG library\u2026<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>\u27a1\ufe0f Client et serveur n\u00e9gocient leurs possibilit\u00e9s.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 8. Exemple de connexion<\/h2>\n\n\n\n<p>Connexion SSH :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh -p 830 user@device -s netconf\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 9. Avantages cl\u00e9s de NETCONF<\/h2>\n\n\n\n<p>\u2705 Transactions atomiques<br>\u2705 S\u00e9paration config \/ \u00e9tat<br>\u2705 Rollback possible<br>\u2705 Automatisation fiable<br>\u2705 Standardis\u00e9 (IETF)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 10. Question Examen Importante<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u2753 Port NETCONF par d\u00e9faut ?<\/h3>\n\n\n\n<p>\u2705 <strong>TCP 830<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83e\udde0 M\u00e9mo Ultra-Rapide (Examen)<\/h1>\n\n\n\n<p>NETCONF =\n&#8211; SSH (830)\n&#8211; XML\n&#8211; RPC\n&#8211; YANG\n&#8211; Candidate \u2192 Commit\n&#8211; Running \/ Startup \/ Candidate\n&#8211; Transactionnel<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-tabs-child uagb-tabs__body-container uagb-inner-tab-2\" aria-labelledby=\"uagb-tabs__tab2\">\n<p>\ud83d\udccc <strong>Fiche R\u00e9sum\u00e9 \u2013 Python ncclient &amp; NETCONF<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 1. Qu\u2019est-ce que ncclient ?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Biblioth\u00e8que <strong>Python open-source<\/strong> pour NETCONF.<\/li>\n\n\n\n<li>Permet de communiquer avec des \u00e9quipements r\u00e9seau via NETCONF.<\/li>\n\n\n\n<li>Traduit le XML NETCONF en objets Python.<\/li>\n\n\n\n<li>Conforme \u00e0 <strong>RFC 4741<\/strong>.<\/li>\n\n\n\n<li>Simplifie l\u2019automatisation r\u00e9seau.<\/li>\n<\/ul>\n\n\n\n<p>\ud83d\udc49 Objectif : \u00e9viter de manipuler trop de XML \u00e0 la main.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 2. R\u00f4le principal de ncclient<\/h2>\n\n\n\n<p>Ncclient g\u00e8re automatiquement :<\/p>\n\n\n\n<p>\u2705 Connexion client\/serveur<br>\u2705 Authentification<br>\u2705 \u00c9change des capacit\u00e9s<br>\u2705 Gestion de session<br>\u2705 Envoi\/R\u00e9ception RPC<\/p>\n\n\n\n<p>\u27a1\ufe0f Le d\u00e9veloppeur se concentre sur la logique m\u00e9tier.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 3. Installation<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install ncclient\n<\/code><\/pre>\n\n\n\n<p>D\u00e9p\u00f4t officiel :<br>\ud83d\udc49 <a href=\"https:\/\/github.com\/ncclient\/ncclient\">https:\/\/github.com\/ncclient\/ncclient<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 4. Connexion \u00e0 un \u00e9quipement<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Import des modules<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>from ncclient import manager\nimport lxml.etree as ET\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Connexion<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>device = manager.connect(\n  host=\"csr1kv1\",\n  port=830,\n  username=\"cisco\",\n  password=\"cisco\",\n  timeout=90,\n  hostkey_verify=False\n)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Param\u00e8tres importants<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Param\u00e8tre<\/th><th>R\u00f4le<\/th><\/tr><\/thead><tbody><tr><td>host<\/td><td>Adresse \u00e9quipement<\/td><\/tr><tr><td>port<\/td><td>Port SSH (830)<\/td><\/tr><tr><td>username\/password<\/td><td>Identifiants<\/td><\/tr><tr><td>timeout<\/td><td>D\u00e9lai<\/td><\/tr><tr><td>device_params<\/td><td>Type d\u2019\u00e9quipement<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 5. Utilisation des filtres<\/h2>\n\n\n\n<p>Les filtres limitent les donn\u00e9es retourn\u00e9es.<\/p>\n\n\n\n<p>Exemple :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;filter&gt;\n  &lt;interfaces&gt;...&lt;\/interfaces&gt;\n&lt;\/filter&gt;\n<\/code><\/pre>\n\n\n\n<p>\u27a1\ufe0f \u00c9quivalent \u00e0 un filtre RESTCONF.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 6. Lire la configuration (GET)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">R\u00e9cup\u00e9rer \u00e9tat + config<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>reply = device.get(('subtree', get_filter))\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Affichage<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>print(ET.tostring(reply.data_ele, pretty_print=True))\n<\/code><\/pre>\n\n\n\n<p>\u27a1\ufe0f \u00c9quivalent CLI : <code>show interface<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 7. Lire la config uniquement (GET-CONFIG)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Depuis le datastore running<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>response = device.get_config('running', filter)\n<\/code><\/pre>\n\n\n\n<p>\u27a1\ufe0f \u00c9quivalent CLI : <code>show run<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 8. Modifier la configuration (EDIT-CONFIG)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Cr\u00e9ation du XML config<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;config&gt;...&lt;\/config&gt;\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Envoi<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>device.edit_config(\n  target='running',\n  config=edit_gig1_conf\n)\n<\/code><\/pre>\n\n\n\n<p>\u27a1\ufe0f \u00c9quivalent CLI :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>configure terminal\ninterface ...\ndescription ...\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 9. Exemple d\u2019usage typique<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Lire interfaces<\/h3>\n\n\n\n<p>\u2714\ufe0f get()<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Lire config interface<\/h3>\n\n\n\n<p>\u2714\ufe0f get_config()<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Modifier interface<\/h3>\n\n\n\n<p>\u2714\ufe0f edit_config()<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">V\u00e9rifier<\/h3>\n\n\n\n<p>\u2714\ufe0f show run \/ get_config()<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 10. Avantages de ncclient<\/h2>\n\n\n\n<p>\u2705 Simple \u00e0 utiliser<br>\u2705 Compatible multi-vendeurs<br>\u2705 Moins de XML manuel<br>\u2705 Bas\u00e9 sur standards<br>\u2705 Id\u00e9al pour scripts r\u00e9seau<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83e\udde0 M\u00e9mo Ultra-Rapide (Examen)<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>ncclient =\n- Python + NETCONF\n- Port 830\n- manager.connect()\n- get()\n- get_config()\n- edit_config()\n- XML + YANG\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83c\udfaf Workflow Classique<\/h1>\n\n\n\n<p>1. Connect\n2. Filter\n3. get \/ get_config\n4. edit_config\n5. Verify\n<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-tabs-child uagb-tabs__body-container uagb-inner-tab-3\" aria-labelledby=\"uagb-tabs__tab3\">\n<p>\ud83e\udde9 <strong>RESTCONF \u2014 Fiche R\u00e9sum\u00e9<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 1. D\u00e9finition<\/h3>\n\n\n\n<p>RESTCONF est un <strong>protocole HTTP<\/strong> permettant de <strong>configurer et interroger<\/strong> les \u00e9quipements r\u00e9seau via des <strong>API REST<\/strong>, bas\u00e9es sur des <strong>mod\u00e8les YANG<\/strong>.<\/p>\n\n\n\n<p>\ud83d\udc49 Il est comparable \u00e0 NETCONF, mais fonctionne avec les m\u00e9thodes REST classiques.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 2. Caract\u00e9ristiques principales<\/h3>\n\n\n\n<p>\u2705 Bas\u00e9 sur <strong>HTTP \/ HTTPS<\/strong><br>\u2705 Utilise les <strong>mod\u00e8les YANG<\/strong><br>\u2705 Format <strong>JSON ou XML<\/strong><br>\u2705 API via <strong>URL<\/strong><br>\u2705 Stateless (sans session persistante)<br>\u2705 \u00c9crit directement dans la <strong>running-config<\/strong><br>\u274c Pas de <em>candidate configuration<\/em><\/p>\n\n\n\n<p>\ud83d\udc49 RESTCONF = version REST simplifi\u00e9e de NETCONF<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 3. RESTCONF vs NETCONF<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Crit\u00e8re<\/th><th>RESTCONF<\/th><th>NETCONF<\/th><\/tr><\/thead><tbody><tr><td>Connexion<\/td><td>Stateless<\/td><td>Session persistante<\/td><\/tr><tr><td>Transport<\/td><td>HTTP(S)<\/td><td>SSH<\/td><\/tr><tr><td>Format<\/td><td>JSON \/ XML<\/td><td>XML<\/td><\/tr><tr><td>Candidate config<\/td><td>\u274c<\/td><td>\u2705<\/td><\/tr><tr><td>Simplicit\u00e9<\/td><td>\u2705<\/td><td>\u26a0\ufe0f Plus complexe<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 4. M\u00e9thodes HTTP (Op\u00e9rations)<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>M\u00e9thode<\/th><th>R\u00f4le<\/th><\/tr><\/thead><tbody><tr><td>GET<\/td><td>Lire une config<\/td><\/tr><tr><td>POST<\/td><td>Cr\u00e9er<\/td><\/tr><tr><td>PUT<\/td><td>Remplacer<\/td><\/tr><tr><td>PATCH<\/td><td>Modifier partiellement<\/td><\/tr><tr><td>DELETE<\/td><td>Supprimer<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u26a0\ufe0f <strong>Tr\u00e8s important :<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>PATCH<\/code> \u2192 ajoute\/modifie sans supprimer<\/li>\n\n\n\n<li><code>PUT<\/code> \u2192 remplace TOUT ce qui n\u2019est pas d\u00e9clar\u00e9<\/li>\n<\/ul>\n\n\n\n<p>\ud83d\udc49 PUT = configuration d\u00e9clarative<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 5. Correspondance RESTCONF \/ NETCONF<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>RESTCONF<\/th><th>NETCONF<\/th><\/tr><\/thead><tbody><tr><td>GET<\/td><td><code>&lt;get&gt;<\/code>, <code>&lt;get-config&gt;<\/code><\/td><\/tr><tr><td>POST<\/td><td><code>&lt;edit-config create&gt;<\/code><\/td><\/tr><tr><td>PUT<\/td><td><code>&lt;edit-config replace&gt;<\/code><\/td><\/tr><tr><td>PATCH<\/td><td><code>&lt;edit-config merge&gt;<\/code><\/td><\/tr><tr><td>DELETE<\/td><td><code>&lt;edit-config delete&gt;<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 6. Formats de donn\u00e9es<\/h3>\n\n\n\n<p>RESTCONF supporte :<\/p>\n\n\n\n<p>\u2705 JSON (le plus utilis\u00e9)<br>\u2705 XML<\/p>\n\n\n\n<p>Exemple Header :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HEADERS = {\"Accept\": \"application\/yang-data+json\"}\n<\/code><\/pre>\n\n\n\n<p>ou<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HEADERS = {\"Accept\": \"application\/yang-data+xml\"}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 7. Utilisation avec Python<\/h3>\n\n\n\n<p>RESTCONF fonctionne comme une API web classique.<\/p>\n\n\n\n<p>Exemple simple :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import requests\n\nAUTH = (\"cisco\",\"cisco\")\nHEADERS = {\"Accept\": \"application\/yang-data+json\"}\n\nresponse = requests.get(\n \"https:\/\/csr1kv1\/restconf\/data\/...\",\n auth=AUTH,\n headers=HEADERS,\n verify=False\n)\n\nprint(response.text)\n<\/code><\/pre>\n\n\n\n<p>\ud83d\udc49 On utilise <code>requests<\/code> comme pour toute API REST.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 8. Structure hi\u00e9rarchique (JSON\/YANG)<\/h3>\n\n\n\n<p>Les r\u00e9ponses sont <strong>arborescentes<\/strong> :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>interface\n \u2514\u2500\u2500 GigabitEthernet\n     \u2514\u2500\u2500 ip\n         \u2514\u2500\u2500 address\n             \u2514\u2500\u2500 primary\n<\/code><\/pre>\n\n\n\n<p>\u27a1\ufe0f On peut cibler directement une info dans l\u2019URL.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 9. Acc\u00e8s cibl\u00e9 via URL<\/h3>\n\n\n\n<p>Exemple : description de Gi4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/interface=GigabitEthernet\/4\/description\n<\/code><\/pre>\n\n\n\n<p>Adresse IP primaire :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/interface=GigabitEthernet\/4\/ip\/address\/primary\n<\/code><\/pre>\n\n\n\n<p>\ud83d\udc49 L\u2019URL suit exactement la hi\u00e9rarchie YANG.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 10. PATCH vs PUT (Point cl\u00e9 examen \u26a0\ufe0f)<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u2705 PATCH = Modification partielle<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ajoute<\/li>\n\n\n\n<li>Met \u00e0 jour<\/li>\n\n\n\n<li>Ne supprime rien<\/li>\n<\/ul>\n\n\n\n<p>Exemple :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ajouter un r\u00e9seau OSPF<\/li>\n\n\n\n<li>Ajouter une IP secondaire<\/li>\n<\/ul>\n\n\n\n<p>\u27a1\ufe0f Safe \ud83d\udc4d<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">\u274c PUT = Remplacement total<\/h4>\n\n\n\n<p>PUT \u00e9crase tout ce qui n\u2019est pas d\u00e9clar\u00e9.<\/p>\n\n\n\n<p>Exemple :<\/p>\n\n\n\n<p>Si tu envoies :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n \"primary\": {\n   \"address\": \"10.1.22.1\",\n   \"mask\": \"255.255.255.0\"\n }\n}\n<\/code><\/pre>\n\n\n\n<p>\ud83d\udc49 Toutes les IP secondaires sont supprim\u00e9es \ud83d\ude31<\/p>\n\n\n\n<p>\u27a1\ufe0f \u00c0 utiliser avec prudence.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 11. Concept cl\u00e9 : Configuration d\u00e9clarative<\/h3>\n\n\n\n<p>Avec PUT :<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u00ab\u00a0Voici l\u2019\u00e9tat final que je veux.\u00a0\u00bb<\/p>\n<\/blockquote>\n\n\n\n<p>Le routeur :<\/p>\n\n\n\n<p>\u274c Supprime le reste<br>\u2705 Applique exactement ce que tu d\u00e9clares<\/p>\n\n\n\n<p>Avantage : coh\u00e9rence<br>Risque : suppression involontaire<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 R\u00e9cap Express (\u00e0 m\u00e9moriser)<\/h2>\n\n\n\n<p>\ud83d\udccc RESTCONF = API REST + YANG<br>\ud83d\udccc HTTP + JSON\/XML<br>\ud83d\udccc Stateless \u2192 running-config direct<br>\ud83d\udccc GET = lire<br>\ud83d\udccc PATCH = modifier<br>\ud83d\udccc PUT = remplacer<br>\ud83d\udccc URLs = hi\u00e9rarchie YANG<br>\ud83d\udccc Tr\u00e8s utilis\u00e9 en automation r\u00e9seau<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-tabs-child uagb-tabs__body-container uagb-inner-tab-4\" aria-labelledby=\"uagb-tabs__tab4\">\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-tabs-child uagb-tabs__body-container uagb-inner-tab-5\" aria-labelledby=\"uagb-tabs__tab5\">\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-tabs-child uagb-tabs__body-container uagb-inner-tab-6\" aria-labelledby=\"uagb-tabs__tab6\">\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.<\/p>\n<\/div>\n<\/div><\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1109","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>DEVNEA - NETCONF &amp; RESTCONF - Network360<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/network360.fr\/index.php\/2025\/12\/17\/redistribution-ospf-route-statique\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DEVNEA - NETCONF &amp; RESTCONF - Network360\" \/>\n<meta property=\"og:url\" content=\"https:\/\/network360.fr\/index.php\/2025\/12\/17\/redistribution-ospf-route-statique\/\" \/>\n<meta property=\"og:site_name\" content=\"Network360\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-01T16:45:33+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/network360.fr\\\/index.php\\\/2025\\\/12\\\/17\\\/redistribution-ospf-route-statique\\\/\",\"url\":\"https:\\\/\\\/network360.fr\\\/index.php\\\/2025\\\/12\\\/17\\\/redistribution-ospf-route-statique\\\/\",\"name\":\"DEVNEA - NETCONF &amp; RESTCONF - Network360\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/network360.fr\\\/#website\"},\"datePublished\":\"2026-01-30T17:40:13+00:00\",\"dateModified\":\"2026-02-01T16:45:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/network360.fr\\\/index.php\\\/2025\\\/12\\\/17\\\/redistribution-ospf-route-statique\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/network360.fr\\\/index.php\\\/2025\\\/12\\\/17\\\/redistribution-ospf-route-statique\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/network360.fr\\\/index.php\\\/2025\\\/12\\\/17\\\/redistribution-ospf-route-statique\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/network360.fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DEVNEA &#8211; NETCONF &amp; RESTCONF\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/network360.fr\\\/#website\",\"url\":\"https:\\\/\\\/network360.fr\\\/\",\"name\":\"Network360\",\"description\":\"Network360.FR | Boostez votre carri\u00e8re r\u00e9seau : CCNA, Cisco, Automation |\",\"publisher\":{\"@id\":\"https:\\\/\\\/network360.fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/network360.fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/network360.fr\\\/#organization\",\"name\":\"Network360\",\"url\":\"https:\\\/\\\/network360.fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/network360.fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/network360.fr\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/cropped-LOGO3-3_preview_rev_1-1.png?fit=501%2C410&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/network360.fr\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/cropped-LOGO3-3_preview_rev_1-1.png?fit=501%2C410&ssl=1\",\"width\":501,\"height\":410,\"caption\":\"Network360\"},\"image\":{\"@id\":\"https:\\\/\\\/network360.fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DEVNEA - NETCONF &amp; RESTCONF - Network360","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/network360.fr\/index.php\/2025\/12\/17\/redistribution-ospf-route-statique\/","og_locale":"fr_FR","og_type":"article","og_title":"DEVNEA - NETCONF &amp; RESTCONF - Network360","og_url":"https:\/\/network360.fr\/index.php\/2025\/12\/17\/redistribution-ospf-route-statique\/","og_site_name":"Network360","article_modified_time":"2026-02-01T16:45:33+00:00","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/network360.fr\/index.php\/2025\/12\/17\/redistribution-ospf-route-statique\/","url":"https:\/\/network360.fr\/index.php\/2025\/12\/17\/redistribution-ospf-route-statique\/","name":"DEVNEA - NETCONF &amp; RESTCONF - Network360","isPartOf":{"@id":"https:\/\/network360.fr\/#website"},"datePublished":"2026-01-30T17:40:13+00:00","dateModified":"2026-02-01T16:45:33+00:00","breadcrumb":{"@id":"https:\/\/network360.fr\/index.php\/2025\/12\/17\/redistribution-ospf-route-statique\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/network360.fr\/index.php\/2025\/12\/17\/redistribution-ospf-route-statique\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/network360.fr\/index.php\/2025\/12\/17\/redistribution-ospf-route-statique\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/network360.fr\/"},{"@type":"ListItem","position":2,"name":"DEVNEA &#8211; NETCONF &amp; RESTCONF"}]},{"@type":"WebSite","@id":"https:\/\/network360.fr\/#website","url":"https:\/\/network360.fr\/","name":"Network360","description":"Network360.FR | Boostez votre carri\u00e8re r\u00e9seau : CCNA, Cisco, Automation |","publisher":{"@id":"https:\/\/network360.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/network360.fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/network360.fr\/#organization","name":"Network360","url":"https:\/\/network360.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/network360.fr\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/network360.fr\/wp-content\/uploads\/2024\/12\/cropped-LOGO3-3_preview_rev_1-1.png?fit=501%2C410&ssl=1","contentUrl":"https:\/\/i0.wp.com\/network360.fr\/wp-content\/uploads\/2024\/12\/cropped-LOGO3-3_preview_rev_1-1.png?fit=501%2C410&ssl=1","width":501,"height":410,"caption":"Network360"},"image":{"@id":"https:\/\/network360.fr\/#\/schema\/logo\/image\/"}}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"hd_qu_size2":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Admin","author_link":"https:\/\/network360.fr\/index.php\/author\/netadmin\/"},"uagb_comment_info":0,"uagb_excerpt":null,"_links":{"self":[{"href":"https:\/\/network360.fr\/index.php\/wp-json\/wp\/v2\/pages\/1109","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/network360.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/network360.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/network360.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/network360.fr\/index.php\/wp-json\/wp\/v2\/comments?post=1109"}],"version-history":[{"count":6,"href":"https:\/\/network360.fr\/index.php\/wp-json\/wp\/v2\/pages\/1109\/revisions"}],"predecessor-version":[{"id":1138,"href":"https:\/\/network360.fr\/index.php\/wp-json\/wp\/v2\/pages\/1109\/revisions\/1138"}],"wp:attachment":[{"href":"https:\/\/network360.fr\/index.php\/wp-json\/wp\/v2\/media?parent=1109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}