diff --git a/infotro/README.md b/infotro/README.md index e98fd92..0efec6e 100644 --- a/infotro/README.md +++ b/infotro/README.md @@ -7,8 +7,10 @@ ## [SDi - Système Distribué](/infotro/SDi/) -- [Transmission process](/infotro/SDi/transmission_process.md) - +- [Transmission process](/infotro/SDi/transmission_process.md) +- [IOT Technologies](/infotro/SDi/iot_technologies.md) +- [Protocol development](/infotro/SDi/protocol_development.md) +- [Bluetooth](/infotro/SDi/bluetooth.md) ## [Eln - Électronique](/infotro/Eln/) - [AD/DA](/infotro/Eln/ADDA) diff --git a/infotro/SDi/README.md b/infotro/SDi/README.md new file mode 100644 index 0000000..70b8805 --- /dev/null +++ b/infotro/SDi/README.md @@ -0,0 +1,8 @@ +

+SDi - Système Distribué +

+ +- [Transmission process](/infotro/SDi/transmission_process.md) +- [IOT Technologies](/infotro/SDi/iot_technologies.md) +- [Protocol development](/infotro/SDi/protocol_development.md) +- [Bluetooth](/infotro/SDi/bluetooth.md) \ No newline at end of file diff --git a/infotro/SDi/bluetooth.md b/infotro/SDi/bluetooth.md new file mode 100644 index 0000000..84629e1 --- /dev/null +++ b/infotro/SDi/bluetooth.md @@ -0,0 +1,4 @@ +

+Bluetooth +

+ diff --git a/infotro/SDi/iot_technologies.md b/infotro/SDi/iot_technologies.md new file mode 100644 index 0000000..afeecb8 --- /dev/null +++ b/infotro/SDi/iot_technologies.md @@ -0,0 +1,121 @@ +

+IOT Technologies +

+ +## Serialisattion +Sérialiser est nécessaire pour deux principales raisons : + +1. **Communication entre systèmes :** Lorsque des objets résident en mémoire vive (RAM) et doivent être échangés avec +d'autres systèmes via des canaux de communication, la sérialisation les convertit en séquences d'octets pouvant être +transmises efficacement. + +2. **Stockage persistant :** Parfois, il est nécessaire de conserver des objets au-delà de l'exécution du programme, +les stockant dans une mémoire persistante (comme le stockage de masse). La sérialisation permet de traduire ces objets +en un format pouvant être stocké et récupéré ultérieurement. + +## Basé texte ou binaire +- **Encodage des données :** + - **Texte :** Les données sont encodées sous forme de flux de caractères imprimables (comme dans XML ou JSON). + - **Binaire :** Les données sont encodées sous forme de flux d'octets, sans nécessiter de représenter les caractères imprimables. + +- **Lisibilité et Efficacité :** + - **Texte :** Lisible par les humains, facilite le débogage. Cependant, peut être moins compact, nécessitant plus de bande passante. + - **Binaire :** Plus compact, nécessite moins de bande passante. Cependant, illisible pour les humains, compliquant le débogage. + +### Sérialisation basée texte +La sérialisation basée texte est généralement utilisée pour les données structurées, comme les documents XML ou JSON. +Ces formats sont lisibles par les humains, ce qui facilite le débogage. Cependant, ils sont moins compacts que les +formats binaires, nécessitant plus de bande passante. + +#### XML (eXtensible Markup Language) +XML est un langage de balisage qui définit un ensemble de règles pour l'encodage de documents dans un format qui est +à la fois humain et machine lisible. Il est largement utilisé pour représenter des données structurées et pour échanger +des informations sur Internet. XML est un format de données ouvert et indépendant du logiciel et du matériel. + +1. **Structure :** +XML utilise des balises pour définir des éléments structurés. Chaque élément a une balise d'ouverture et une balise de fermeture. Les balises peuvent contenir des données ou d'autres balises. + +2. **Attributs :** +Les éléments peuvent avoir des attributs qui fournissent des informations supplémentaires. +Les attributs sont définis à l'intérieur de la balise d'ouverture. + +3. **Hiérarchie :** +Les éléments peuvent être imbriqués pour créer une structure hiérarchique, formant ainsi un arbre de données. + +4. **Document XML :** +Un document XML commence souvent par une déclaration indiquant la version d'XML utilisée. Ensuite, il a un élément racine qui contient tous les autres éléments du document. + +5. **Namespace :** +Les espaces de noms (namespace) permettent d'éviter les conflits de noms en associant un préfixe à un espace de noms unique. + +6. **Caractères d'échappement :** +Certains caractères spéciaux (comme `<`, `>`, `"`, `'`, `&`) doivent être échappés pour éviter toute confusion avec la syntaxe XML. + +7. **Validation :** +La validité d'un document XML peut être vérifiée en le comparant à un schéma XML (XSD) qui définit la structure attendue du document. + +***Éléments :*** +```xml + + data + +``` + +***Attributs :*** +```xml + + data + +``` + +***Namespace :*** +```xml + + + data + + +``` + +
+ Exemple + +```xml + + + + For ever + Pavarotti + + + No, la morte + 3:50 + + + Che voi m 'amate + 2:55 + + + 30 + + +``` + +![xml_example.png](xml_example.png) + +
+ + + +En résumé, XML offre une syntaxe flexible pour décrire des données structurées de manière lisible par les humains et +interprétable par les machines, facilitant l'échange d'informations entre systèmes hétérogènes. + + +#### JSON (JavaScript Object Notation) +JSON est un format de données léger et facile à lire et à écrire. Il est basé sur un sous-ensemble du langage de +programmation JavaScript, Standard ECMA-262 3ème édition - Décembre 1999. JSON est un format de données texte qui +est complètement indépendant du langage mais utilise des conventions familières aux programmeurs de la famille de +langages C, y compris C, C++, C#, Java, JavaScript, Perl, Python et bien d'autres. Ces propriétés font de JSON un +langage d'échange de données idéal. + + diff --git a/infotro/SDi/protocol_developement.md b/infotro/SDi/protocol_developement.md new file mode 100644 index 0000000..867ae50 --- /dev/null +++ b/infotro/SDi/protocol_developement.md @@ -0,0 +1,4 @@ +

+Protocol developement +

+ diff --git a/infotro/SDi/xml_example.png b/infotro/SDi/xml_example.png new file mode 100644 index 0000000..f3934ff Binary files /dev/null and b/infotro/SDi/xml_example.png differ diff --git a/infotro/_navbar.md b/infotro/_navbar.md index 352264a..bd1e3b7 100644 --- a/infotro/_navbar.md +++ b/infotro/_navbar.md @@ -4,6 +4,9 @@ * [RealTime](/infotro/PTR/RealTime) * [SDi - Systèmes Distribués](/infotro/SDi) * [Transmission process](/infotro/SDi/transmission_process.md) + * [IOT Technologies](/infotro/SDi/iot_technologies.md) + * [Protocol development](/infotro/SDi/protocol_development.md) + * [Bluetooth](/infotro/SDi/bluetooth.md) * [Eln - Électronique](/infotro/Eln/) * [AD/DA](/infotro/Eln/ADDA) * [Sigma / Delta](/infotro/Eln/Sigma-Delta)