Vous êtes sur la page 1sur 16

L'Augmentation de l'Automatisation

L'automatisation est tout processus autonome, qui réduit et élimine potentiellement le besoin
d'intervention humaine.

Auparavant, l'automatisation était réservée au secteur de la fabrication. Les tâches hautement


répétitives, telles que l'assemblage d'automobiles, ont été transférées aux machines et la chaîne
d'assemblage moderne est née. Les machines excellent à répéter la même tâche sans fatigue et
sans les erreurs que les humains sont susceptibles de faire dans ce type de travaux.

Voici quelques avantages de l'automatisation :

 La productivité est donc supérieure, car les machines peuvent fonctionner 24 heures sur 24, sans
aucune pause.
 Elles fournissent également un produit plus uniforme.
 L'automatisation permet la collecte d'immenses volumes de données qui peuvent être analysées
rapidement afin de fournir des informations qui peuvent orienter un événement ou un processus.
 Les robots sont utilisés dans des conditions dangereuses comme l'exploitation minière, la lutte contre
les incendies et le nettoyage des accidents industriels. Cela réduit le risque pour l'homme.
 Dans certaines circonstances, les appareils intelligents peuvent modifier leur comportement pour
réduire la consommation d'énergie, poser un diagnostic médical et améliorer la sécurité de conduite
automobile.

Les appareils peuvent-ils penser ? Peuvent-ils apprendre de leur environnement ? Tout dépend de
ce que l'on veut dire par « penser ». Une définition possible est la possibilité de connecter une série
d'informations ayant un lien entre elles, puis de les exploiter pour modifier un plan d'action.

Appareil Intelligent
Les appareils peuvent-ils penser ? Peuvent-ils apprendre de leur environnement ? Tout dépend de
ce que l'on veut dire par « penser ». Une définition possible est la possibilité de connecter une série
d'informations ayant un lien entre elles, puis de les exploiter pour modifier un plan d'action.

De nombreux appareils intègrent une technologie intelligente pour aider à régir leur comportement.
Cela peut être aussi simple qu'un appareil intelligent réduisant sa consommation d'énergie pendant
les périodes de forte demande ou aussi complexe qu'une voiture autonome.

Chaque fois qu'un appareil prend une mesure basée sur une information extérieure, cet appareil est
appelé appareil intelligent. De nombreux appareils avec lesquels nous interagissons sont aujourd'hui
associés au terme « intelligent ». Cela indique qu'ils ont la faculté de modifier leur comportement en
fonction de leur environnement.

Pour que les appareils «réfléchissent», ils doivent être programmés à l'aide d'outils d'automatisation
de réseau.
Formats de données
Le Concept des Formats de Données
Xml, JSON, YAML

Les formats de données ont des règles et une structure similaires à celles que nous avons avec la
programmation et les langages écrits. Chaque format de données aura des caractéristiques
spécifiques :

Comparer les Formats de Données


Comparer les Formats de Données
Pour voir ces mêmes données au format XML ou YAML, recherchez sur Internet un outil de
conversion JSON. À ce stade, il n'est pas important de comprendre les détails de chaque format de
données, mais notez comment chaque format de données utilise la syntaxe et comment les paires
clé / valeur sont représentées.

Format JSON
{

"Message": "success",

"Horodatage": 1560789260,

"iss_position": {

"latitude": "25.9990",

"longitude": "-132.6992"
}

Format YAML
message: succès

"Horodatage": 1560789260,

iss_position:

latitude: '25.9990'

longitude: '-132.6992'

Format XML
<?xml version="1.0" codage="UTF-8" ?>

<root>

<message>success</message>

<timestamp>1560789260</timestamp>

<iss_position>

<latitude>25.9990</latitude>

<longitude>-132.6992</longitude>

</iss_position>

</root>
|

JSON est un format de données lisible par l'humain utilisé par les applications pour stocker,
transférer et lire des données.

JSON est un format très populaire utilisé par les services Web et les API pour fournir des données
publiques. Ceci est dû au fait qu'il est facile à analyser et peut être utilisé avec la plupart des
langages de programmation modernes, y compris Python.

La sortie suivante montre un exemple de sortie partielle d'IOS d'une commande de show interface
GigabitEthernet0/0/0 sur un routeur.

Sortie du routeur IOS


GigabitEthernet0/0/0 est up, line protocol est up (connectée)

Description: Réseau étendu

L'adresse Internet est 172.16.0.2/24

Ces mêmes informations peuvent être représentées au format JSON. Notez que chaque objet
(chaque paire clé / valeur) est une donnée différente sur l'interface, y compris son nom, une
description et si l'interface est activée.

Sortie JSON
{

"ietf-interfaces:interface": {

"nom": "GigabitEthernet0/0/0",

Description: "Réseau étendu"

"activé": vrai,

"ietf-ip:ipv4": {

"address": [

{
"ip": "172.16.0.2",

"netmask": "255.255.255.0"

Règles de Syntaxe JSON


Ce sont quelques-unes des caractéristiques de JSON:

 Il utilise une structure hiérarchique et contient des valeurs imbriquées.


 Il utilise des accolades { } pour contenir des objets et des crochets \ [ ] contiennent des tableaux.
 Ses données sont écrites sous forme de paires clé / valeur.

Dans JSON, les données appelées objet sont une ou plusieurs paires clé / valeur entre accolades {
}. La syntaxe d'un objet JSON comprend:

 Les clés doivent être des chaînes entre guillemets " ".
 Les valeurs doivent être un type de données JSON valide (chaîne, nombre, tableau, booléen, nul ou
autre objet).
 Les clés et les valeurs sont séparées par deux points.
 Plusieurs paires clé / valeur dans un objet sont séparées par des virgules.
 L'espace blanc n'est pas significatif.

Parfois, une clé peut contenir plusieurs valeurs. C'est ce qu'on appelle un tableau. Un tableau en
JSON est une liste ordonnée de valeurs. Les caractéristiques des tableaux dans JSON incluent:

 La clé suivie de deux-points et d'une liste de valeurs entre crochets \ [].


 Un tableau est une liste ordonnée de valeurs.
 Le tableau peut contenir plusieurs types de valeurs, y compris une chaîne, un nombre, un booléen, un
objet ou un autre tableau à l'intérieur du tableau.
 Chaque valeur du tableau est séparée par une virgule.

Par exemple, une liste d'adresses IPv4 peut ressembler à la sortie suivante. La clé est «adresses».
Chaque élément de la liste est un objet distinct, séparé par des accolades { }. Les objets sont deux
paires clé / valeur: une adresse IPv4 («ip») et un masque de sous-réseau («netmask») séparés par
une virgule. Le tableau d'objets dans la liste est également séparé par une virgule après l'accolade
fermante pour chaque objet.

Liste JSON des Adresses IPv4


{

"adresses": [

"IP": "172.16.0.2",

''netmask'': ''255.255.255.0''

},

"IP": "172.16.0.3",

''netmask'': ''255.255.255.0''

},

"ip": "172.16.0.4",

''netmask'': ''255.255.255.0''

Format de données YAML


YAML est un autre type de format de données lisibles par l'homme utilisé par les applications pour
stocker, transférer et lire des données. Certaines des caractéristiques de YAML comprennent:

 C'est comme JSON et est considéré comme un surensemble de JSON.


 Il a un format minimaliste qui facilite la lecture et l'écriture.
 Il utilise l'indentation pour définir sa structure, sans utiliser de crochets ou de virgules.

Par exemple, regardez cette sortie JSON pour une interface Gigabit Ethernet 2.

JSON pour GigabitEthernet2


{

"ietf-interfaces:interface": {

"nom": "GigabitEthernet2",

"description": "Réseau étendu"

"activé": vrai,

"ietf-ip:ipv4": {

"address": [

"IP": "172.16.0.2",

''netmask'': ''255.255.255.0''

},

"IP": "172.16.0.3",

Netmask 255.255.255.0

},
{

"IP": "172.16.0.4",

''netmask'': ''255.255.255.0''

Ces mêmes données au format YAML sont plus faciles à lire. Similaire à JSON, un objet YAML est
une ou plusieurs paires valeur / clé. Les paires valeur / clé sont séparées par deux points sans
utiliser des guillemets. En YAML, un trait d'union est utilisé pour séparer chaque élément d'une liste.
Ceci est indiqué pour les trois adresses IPv4 dans la sortie suivante.

JSON pour GigabitEthernet2


ietf-interfaces:interface:

nom: GigabitEthernet2

description: Réseau étendu

activé: vrai,

ietf-ip:ipv4:

adresse:

- ip: 172.16.0.2

netmask: 255.255.255.0
- ip: 172.16.0.3

netmask: 255.255.255.0

- ip: 172.16.0.4

netmask: 255.255.255.0

Format de Données XML


XML est un autre type de format de données lisibles par l'homme utilisé pour stocker, transférer et
lire des données par des applications. Certaines des caractéristiques de XML incluent:

 C'est comme HTML, qui est le langage de balisage normalisé pour la création de pages Web et
d'applications Web.
 Il est auto-descriptif. Il enferme les données dans un ensemble de balises: <tag>data</tag>
 Contrairement à HTML, XML n'utilise ni balises ni structure de document prédéfinies.

Les objets XML sont une ou plusieurs paires clé / valeur, avec la balise de début utilisée comme
nom de la clé: <key>value</key>

La sortie suivante montre les mêmes données pour GigabitEthernet2 formatées en tant que
structure de données XML. Remarquez comment les valeurs sont incluses dans les balises d'objet.
Dans cet exemple, chaque paire clé / valeur se trouve sur une ligne distincte et certaines lignes sont
en retrait.' Ceci n'est pas obligatoire mais est fait pour la lisibilité. La liste utilise des exemples
répétées de <tag></tag> pour chaque élément de la liste. Les éléments de ces exemples répétés
représentent une ou plusieurs paires clé / valeur.

XML pour GigabitEthernet2


<?xml version="1.0" codage="UTF-8" ?>

<ietf-interfaces:interface>

<name>GigabitEthernet2</name>

<description>Wide réseau de zone</description>


<enabled>true</enabled>

<ietf-ip:ipv4>

<address>

<ip>172.16.0.2</ip>

<netmask>255.255.255.0</netmask>

</address>

<address>

<ip>172.16.0.3</ip>

<netmask>255.255.255.0</netmask>

</address>

<address>

<ip>172.16.0.4</ip>

<netmask>255.255.255.0</netmask>

</address>

</ietf-ip:ipv4>

</ietf-interfaces:interface>

Le Concept API
Les API se trouvent presque partout. Amazon Web Services, Facebook et les appareils domotiques
tels que les thermostats, les réfrigérateurs et les systèmes d'éclairage sans fil utilisent tous des API.
Ils sont également utilisés pour construire une automatisation de réseau programmable.

Une API est un logiciel qui permet à d'autres applications d'accéder à ses données ou services. Il
s'agit d'un ensemble de règles décrivant comment une application peut interagir avec une autre et
les instructions permettant à l'interaction de se produire. L'utilisateur envoie une demande d'API à un
serveur demandant des informations spécifiques et reçoit une réponse d'API en retour du serveur
avec les informations demandées.

Une API est similaire à un serveur dans un restaurant, comme le montre la figure suivante. Un client
dans un restaurant voudrait que des plats soient livrés à table. La nourriture est dans la cuisine où
elle est cuite et préparée. Le serveur est le messager, semblable à une API. Le serveur (l'API) est la
personne qui prend la commande du client (la demande) et dit à la cuisine quoi faire. Lorsque la
nourriture est prête, le serveur remettra alors la nourriture (la réponse) au client.

Un Exemple d'API
Pour vraiment comprendre comment les API peuvent être utilisées pour fournir des données et des
services, nous examinerons deux options pour faire des réservations de compagnies aériennes. La
première option utilise le site Web d'une compagnie aérienne spécifique, comme le montre la figure.
En utilisant le site Web de la compagnie aérienne, l’utilisateur entre les informations pour effectuer
une demande de réservation. Le site Web interagit directement avec la propre base de données de
la compagnie aérienne et fournit à l’utilisateur des informations correspondant à sa demande.
Au lieu d'utiliser un site Web individuel de compagnie aérienne qui a un accès direct à ses
propres informations, il existe une deuxième option. Les utilisateurs peuvent utiliser un site de
voyage pour accéder à ces mêmes informations, non seulement d'une compagnie aérienne
spécifique mais d'une variété de compagnies aériennes. Dans ce cas, l'utilisateur entre dans des
informations de réservation similaires. Le site Web du service de voyage interagit avec les
différentes bases de données des compagnies aériennes à l'aide des API fournies par chaque
compagnie aérienne. Le service de voyage utilise chaque API de compagnie aérienne pour
demander des informations à cette compagnie aérienne spécifique, puis il affiche les informations de
toutes les compagnies aériennes sur sa page Web, comme indiqué dans la figure.

L'API agit comme une sorte de messager entre l'application de requête et l'application sur le serveur
qui fournit les données ou le service. Le message de l'application de requête au serveur sur lequel
résident les données est appelé appel API.

API Ouvertes, Internes et Partenaires


Une considération importante lors du développement d'une API est la distinction entre les API
ouvertes, internes et partenaires:

 API ouvertes ou API publiques - Ces API sont accessibles au public et peuvent être utilisées
sans aucune restriction. L'API de la Station spatiale internationale est un exemple d'API publique.
Car ces API sont publiques, de nombreux fournisseurs d'API, tels que Google Maps, exigent que
l'utilisateur obtienne une clé ou un jeton gratuit avant d'utiliser l'API. Cela permet de contrôler le
nombre de demandes d'API qu'ils reçoivent et traitent. Recherchez sur internet une liste d'API
publiques.
 API internes ou privées - Ce sont des API qui sont utilisées par une organisation ou une
entreprise pour accéder aux données et services à usage interne uniquement. Un exemple d'API
interne permet aux vendeurs autorisés d'accéder aux données de vente internes sur leurs
périphériques mobiles.
 API partenaires - Il s'agit d'API utilisées entre une entreprise et ses partenaires commerciaux ou
contracteurs pour faciliter les échanges entre eux. Le partenaire commercial doit disposer d'une
licence ou d'une autre forme d'autorisation pour utiliser l'API. Un service de voyage utilisant l'API
d'une compagnie aérienne est un exemple d'API partenaire.
La figure illustre la distinction entre les API ouvertes, internes et partenaires. Les API ouvertes /
publiques sont des API accessibles au public. La figure a l'image d'un grand groupe d'individus.
Les API internes / privées sont utilisées au sein d'une organisation. La figure a une image d'un
groupe de personnages assis à table lors d'une réunion. Les API partenaires sont des API entre
une entreprise et ses partenaires commerciaux. La figure a une image de deux hommes d'affaires
se serrant la main.

Types d'API de Service Web


Un service Web est un service disponible sur internet via le World Wide Web. Il existe quatre types
d'API de service Web:

 Protocole d'accès aux objets simples (SOAP)


 Transfert d'état représentatif (REST)
 Langage de balisage extensible-Appel de procédure à distance (XML-RPC)
 JavaScript notation d'objet-Appel de procédure à distance(JSON-RPC)
SOAP est un protocole de messagerie pour l'échange d'informations structurées XML, le plus
souvent via HTTP ou SMTP (Simple Mail Transfer Protocol). Conçues par Microsoft en 1998, les
API SOAP sont considérées comme lentes à analyser, complexes et rigides.

Cela a conduit au développement d'un cadre API REST plus simple qui ne nécessite pas XML.
REST utilise HTTP, est moins détaillé et c'est plus facile à utiliser que SOAP. REST fait référence au
style d'architecture logicielle et est devenu populaire en raison de ses performances, de son
évolutivité, de sa simplicité et de sa fiabilité.

REST est l'API de service Web la plus utilisée, représentant plus de 80% de tous les types d'API
utilisés. REST sera discuter plus en détail dans ce module.

RPC est lorsqu'un système demande qu'un autre système exécute des codes et renvoie les
informations. Cela se fait sans avoir à comprendre les détails du réseau. Cela fonctionne un peu
comme une API REST mais il existe des différences concernant le formatage et la flexibilité. XML-
RPC est un protocole développé avant SOAP, et évolué plus tard vers ce qui est devenu SOAP.
JSON-RPC est un protocole très simple et similaire à XML-RPC.

API RESTful
Les navigateurs Web utilisent HTTP ou HTTPS pour demander (GET) une page Web. S'ils sont
correctement demandés (code d'état HTTP 200), les serveurs Web répondent aux demandes GET
avec une page Web codée HTML, comme illustré dans la figure.
REST est un style architectural pour la conception d'applications de service Web. Il fait référence à
un style d'architecture Web qui possède de nombreuses caractéristiques sous-jacentes et régit le
comportement des clients et des serveurs. En termes simples, une API REST est une API qui
fonctionne au-dessus du protocole HTTP. Il définit un ensemble de fonctions que les développeurs
peuvent utiliser pour effectuer des requêtes et recevoir des réponses via le protocole HTTP tel que
GET et POST.

La conformité aux contraintes de l'architecture REST est généralement appelée «RESTful». Une
API peut être considérée comme «RESTful» si elle possède les fonctionnalités suivantes:

 Client / serveur - Le client gère l'extrémité avant et le serveur gère l'extrémité arrière. L'un ou l'autre
peut être remplacé indépendamment de l'autre.
 Apatride - Aucune donnée client n'est stockée sur le serveur entre les requêtes. L'état de session
est stocké sur le client.
 Antémémorisable - Les clients peuvent mettre en cache les réponses pour améliorer les
performances.