{"id":449,"date":"2026-05-25T17:58:00","date_gmt":"2026-05-25T15:58:00","guid":{"rendered":"https:\/\/eryann.fr\/?p=449"},"modified":"2026-05-25T17:58:01","modified_gmt":"2026-05-25T15:58:01","slug":"fiche-xml","status":"publish","type":"post","link":"https:\/\/eryann.fr\/index.php\/administration-systeme\/fiche-xml\/","title":{"rendered":"Fiche xml"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">1. Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">XML (eXtensible Markup Language) est un langage de balisage utilis\u00e9 pour structurer et transporter des donn\u00e9es. On le retrouve dans de nombreux domaines : d\u00e9veloppement web, administration syst\u00e8me, \u00e9changes applicatifs, flux RSS, fichiers de configuration, bureautique ou encore services web SOAP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans un BTS CIEL ou SIO, XML permet de comprendre :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>la structuration des donn\u00e9es ;<\/li>\n\n\n\n<li>les \u00e9changes entre applications ;<\/li>\n\n\n\n<li>les fichiers de configuration ;<\/li>\n\n\n\n<li>les formats utilis\u00e9s dans les APIs et les logiciels professionnels.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Tu vas apprendre :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00e0 lire et \u00e9crire un fichier XML ;<\/li>\n\n\n\n<li>\u00e0 comprendre la structure des balises ;<\/li>\n\n\n\n<li>\u00e0 valider un XML ;<\/li>\n\n\n\n<li>\u00e0 utiliser XSD et XPath ;<\/li>\n\n\n\n<li>\u00e0 manipuler des flux XML dans des cas concrets.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">2. Sommaire<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Introduction<\/li>\n\n\n\n<li>Structure g\u00e9n\u00e9rale d\u2019un fichier XML<\/li>\n\n\n\n<li>Comprendre les balises XML<\/li>\n\n\n\n<li>Cr\u00e9er un premier fichier XML<\/li>\n\n\n\n<li>Validation XML avec XSD<\/li>\n\n\n\n<li>Rechercher des donn\u00e9es avec XPath<\/li>\n\n\n\n<li>Cas concrets d\u2019utilisation<\/li>\n\n\n\n<li>Fichiers importants<\/li>\n\n\n\n<li>Bloc de configuration complet<\/li>\n\n\n\n<li>Commandes utiles et d\u00e9pannage<\/li>\n\n\n\n<li>Logs et analyse des erreurs<\/li>\n\n\n\n<li>Erreurs fr\u00e9quentes<\/li>\n\n\n\n<li>Bonnes pratiques<\/li>\n\n\n\n<li>Aller plus loin<\/li>\n\n\n\n<li>Liens utiles<\/li>\n\n\n\n<li>Propositions de TP<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Synth\u00e8se Markdown pour ta fiche bristol<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code># XML - R\u00e9capitulatif<br><br>## Structure de base<br><br>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;<br><br>&lt;utilisateurs&gt;<br>    &lt;utilisateur id=\"1\"&gt;<br>        &lt;nom&gt;Dupont&lt;\/nom&gt;<br>        &lt;prenom&gt;Jean&lt;\/prenom&gt;<br>        &lt;mail&gt;jean@example.com&lt;\/mail&gt;<br>    &lt;\/utilisateur&gt;<br>&lt;\/utilisateurs&gt;<br><br>## Balises importantes<br><br>- Balise ouvrante : &lt;nom&gt;<br>- Balise fermante : &lt;\/nom&gt;<br>- Attribut : id=\"1\"<br><br>## Validation XML<br><br>xmllint --noout fichier.xml<br><br>## Validation avec XSD<br><br>xmllint --schema schema.xsd fichier.xml --noout<br><br>## XPath simple<br><br>\/\/utilisateur\/nom<br><br>## XPath avec attribut<br><br>\/\/utilisateur&#91;@id='1']<br><br>## Conversion XML lisible<br><br>xmllint --format fichier.xml<br><br>## V\u00e9rification syntaxe<br><br>xmlstarlet val fichier.xml<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3. Structure g\u00e9n\u00e9rale d\u2019un fichier XML<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un fichier XML contient :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>une d\u00e9claration XML ;<\/li>\n\n\n\n<li>des balises ;<\/li>\n\n\n\n<li>une hi\u00e9rarchie ;<\/li>\n\n\n\n<li>\u00e9ventuellement des attributs.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple minimal :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;<br><br>&lt;serveur&gt;<br>    &lt;nom&gt;srv-web-01&lt;\/nom&gt;<br>    &lt;ip&gt;192.168.1.10&lt;\/ip&gt;<br>&lt;\/serveur&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Explications :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?><\/code> d\u00e9finit la version XML et l\u2019encodage.<\/li>\n\n\n\n<li><code>&lt;serveur><\/code> repr\u00e9sente la balise racine.<\/li>\n\n\n\n<li><code>&lt;nom><\/code> et <code>&lt;ip><\/code> sont des \u00e9l\u00e9ments enfants.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">XML impose une structure stricte :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>chaque balise doit \u00eatre ferm\u00e9e ;<\/li>\n\n\n\n<li>un seul \u00e9l\u00e9ment racine existe ;<\/li>\n\n\n\n<li>les balises doivent \u00eatre correctement imbriqu\u00e9es.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple invalide :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;serveur&gt;<br>    &lt;nom&gt;srv01<br>&lt;\/serveur&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">La balise <code>&lt;nom&gt;<\/code> n\u2019est pas ferm\u00e9e.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Comprendre les balises XML<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">4.1 Les \u00e9l\u00e9ments<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un \u00e9l\u00e9ment contient des donn\u00e9es :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;port&gt;443&lt;\/port&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4.2 Les attributs<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Les attributs ajoutent des informations :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;service protocole=\"tcp\"&gt;https&lt;\/service&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ici :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>protocole=\"tcp\"<\/code> est un attribut ;<\/li>\n\n\n\n<li><code>https<\/code> est la valeur de l\u2019\u00e9l\u00e9ment.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4.3 Les commentaires<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!-- Ceci est un commentaire --&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4.4 Les caract\u00e8res sp\u00e9ciaux<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">XML utilise des entit\u00e9s :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&amp;lt;  correspond \u00e0 &lt;<br>&amp;gt;  correspond \u00e0 &gt;<br>&amp;amp; correspond \u00e0 &amp;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;commande&gt;apt install nginx &amp;amp;&amp;amp; systemctl start nginx&lt;\/commande&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">5. Cr\u00e9er un premier fichier XML<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple d\u2019inventaire r\u00e9seau :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;<br><br>&lt;infrastructure&gt;<br>    &lt;machine type=\"serveur\"&gt;<br>        &lt;hostname&gt;srv-web-01&lt;\/hostname&gt;<br>        &lt;ip&gt;192.168.10.20&lt;\/ip&gt;<br>        &lt;os&gt;Debian 13&lt;\/os&gt;<br>    &lt;\/machine&gt;<br><br>    &lt;machine type=\"poste-client\"&gt;<br>        &lt;hostname&gt;pc-admin-01&lt;\/hostname&gt;<br>        &lt;ip&gt;192.168.10.50&lt;\/ip&gt;<br>        &lt;os&gt;Ubuntu 26.04&lt;\/os&gt;<br>    &lt;\/machine&gt;<br>&lt;\/infrastructure&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tu peux enregistrer ce fichier dans :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/home\/admin\/infrastructure.xml<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">6. Validation XML avec XSD<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">XSD (XML Schema Definition) permet de v\u00e9rifier :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>les balises autoris\u00e9es ;<\/li>\n\n\n\n<li>les types de donn\u00e9es ;<\/li>\n\n\n\n<li>les attributs ;<\/li>\n\n\n\n<li>la structure globale.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.1 Exemple de sch\u00e9ma XSD<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;<br><br>&lt;xsd:schema xmlns:xsd=\"http:\/\/www.w3.org\/2001\/XMLSchema\"&gt;<br><br>    &lt;xsd:element name=\"serveur\"&gt;<br>        &lt;xsd:complexType&gt;<br>            &lt;xsd:sequence&gt;<br>                &lt;xsd:element name=\"nom\" type=\"xsd:string\"\/&gt;<br>                &lt;xsd:element name=\"ip\" type=\"xsd:string\"\/&gt;<br>            &lt;\/xsd:sequence&gt;<br>        &lt;\/xsd:complexType&gt;<br>    &lt;\/xsd:element&gt;<br><br>&lt;\/xsd:schema&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">6.2 Validation avec xmllint<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sous Debian ou Ubuntu :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install libxml2-utils<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Validation :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>xmllint --schema schema.xsd serveur.xml --noout<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Explications :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>--schema<\/code> indique le fichier XSD ;<\/li>\n\n\n\n<li><code>--noout<\/code> masque l\u2019affichage du XML.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">7. Rechercher des donn\u00e9es avec XPath<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">XPath permet de rechercher des \u00e9l\u00e9ments dans un document XML.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7.1 S\u00e9lection simple<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/hostname<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Retourne tous les \u00e9l\u00e9ments <code>hostname<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7.2 S\u00e9lection avec attribut<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/machine&#91;@type='serveur']<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Retourne les machines de type serveur.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7.3 S\u00e9lection pr\u00e9cise<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/machine&#91;ip='192.168.10.20']<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tr\u00e8s utile dans :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>les APIs XML ;<\/li>\n\n\n\n<li>les scripts d\u2019automatisation ;<\/li>\n\n\n\n<li>les outils de supervision.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">8. Cas concrets d\u2019utilisation<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">8.1 Flux RSS<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Les flux RSS utilisent XML.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;rss version=\"2.0\"&gt;<br>    &lt;channel&gt;<br>        &lt;title&gt;Breizh Sec Ops&lt;\/title&gt;<br>        &lt;link&gt;https:\/\/example.com&lt;\/link&gt;<br>    &lt;\/channel&gt;<br>&lt;\/rss&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">8.2 Configuration Android<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Android utilise XML pour :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>les interfaces ;<\/li>\n\n\n\n<li>les permissions ;<\/li>\n\n\n\n<li>les param\u00e8tres.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">8.3 Services web SOAP<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SOAP transporte des donn\u00e9es XML entre serveurs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">8.4 Bureautique<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Les formats :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DOCX ;<\/li>\n\n\n\n<li>XLSX ;<\/li>\n\n\n\n<li>ODT<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">reposent sur XML.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">9. Fichiers importants<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/xml\/<br>\/usr\/share\/xml\/<br>\/usr\/share\/xml\/schema\/<br>\/home\/user\/fichier.xml<br>\/home\/user\/schema.xsd<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Arborescence typique :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>projet-xml\/<br>\u251c\u2500\u2500 data\/<br>\u2502   \u2514\u2500\u2500 infrastructure.xml<br>\u251c\u2500\u2500 schema\/<br>\u2502   \u2514\u2500\u2500 infrastructure.xsd<br>\u251c\u2500\u2500 scripts\/<br>\u2502   \u2514\u2500\u2500 validation.sh<br>\u2514\u2500\u2500 logs\/<br>    \u2514\u2500\u2500 validation.log<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">10. Bloc de configuration complet<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;<br><br>&lt;infrastructure&gt;<br>    &lt;serveur id=\"1\"&gt;<br>        &lt;hostname&gt;srv-nginx-01&lt;\/hostname&gt;<br>        &lt;ip&gt;192.168.1.10&lt;\/ip&gt;<br>        &lt;services&gt;<br>            &lt;service port=\"80\" protocole=\"tcp\"&gt;http&lt;\/service&gt;<br>            &lt;service port=\"443\" protocole=\"tcp\"&gt;https&lt;\/service&gt;<br>            &lt;service port=\"22\" protocole=\"tcp\"&gt;ssh&lt;\/service&gt;<br>        &lt;\/services&gt;<br>        &lt;systeme&gt;Debian 13&lt;\/systeme&gt;<br>    &lt;\/serveur&gt;<br><br>    &lt;serveur id=\"2\"&gt;<br>        &lt;hostname&gt;srv-db-01&lt;\/hostname&gt;<br>        &lt;ip&gt;192.168.1.20&lt;\/ip&gt;<br>        &lt;services&gt;<br>            &lt;service port=\"3306\" protocole=\"tcp\"&gt;mysql&lt;\/service&gt;<br>        &lt;\/services&gt;<br>        &lt;systeme&gt;Ubuntu 26.04&lt;\/systeme&gt;<br>    &lt;\/serveur&gt;<br>&lt;\/infrastructure&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">11. Commandes utiles et d\u00e9pannage<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Installer les outils XML<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update<br>sudo apt install libxml2-utils xmlstarlet<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Paquets :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>libxml2-utils<\/code> fournit <code>xmllint<\/code><\/li>\n\n\n\n<li><code>xmlstarlet<\/code> ajoute des outils XPath et de transformation XML<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">V\u00e9rifier un fichier XML<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>xmllint --noout fichier.xml<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Formater un XML<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>xmllint --format fichier.xml<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Lire une valeur XPath<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>xmlstarlet sel -t -v \"\/\/hostname\" infrastructure.xml<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Options :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>sel<\/code> : s\u00e9lection XPath ;<\/li>\n\n\n\n<li><code>-t<\/code> : mode template ;<\/li>\n\n\n\n<li><code>-v<\/code> : affiche une valeur.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Convertir XML lisible<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>xmllint --format infrastructure.xml &gt; propre.xml<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">V\u00e9rifier plusieurs fichiers<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>find . -name \"*.xml\" -exec xmllint --noout {} \\;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">12. Logs et analyse des erreurs<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">XML ne poss\u00e8de pas de logs int\u00e9gr\u00e9s. Les outils affichent directement les erreurs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Exemple d\u2019erreur<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>xmllint fichier.xml<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Retour :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Opening and ending tag mismatch<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cette erreur indique :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>une balise ferm\u00e9e incorrectement ;<\/li>\n\n\n\n<li>une structure XML invalide.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Journalisation shell<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tu peux enregistrer les erreurs :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>xmllint fichier.xml 2&gt; validation.log<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Analyse des erreurs<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Commande :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat validation.log<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">ou :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>less validation.log<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">V\u00e9rifier automatiquement<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple de script :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash<br><br>for file in *.xml<br>do<br>    xmllint --noout \"$file\" 2&gt;&gt; erreurs.log<br>done<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">13. Erreurs fr\u00e9quentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Balise non ferm\u00e9e<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;nom&gt;serveur<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Mauvais encodage<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Toujours utiliser UTF-8 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Plusieurs balises racines<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Incorrect :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;nom&gt;srv01&lt;\/nom&gt;<br>&lt;ip&gt;192.168.1.10&lt;\/ip&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Mauvaise imbrication<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Incorrect :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;a&gt;<br>    &lt;b&gt;<br>&lt;\/a&gt;<br>&lt;\/b&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">14. Bonnes pratiques<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Utilise UTF-8 partout.<\/li>\n\n\n\n<li>Structure correctement les donn\u00e9es.<\/li>\n\n\n\n<li>Indente le XML pour am\u00e9liorer la lecture.<\/li>\n\n\n\n<li>Valide les fichiers avec XSD.<\/li>\n\n\n\n<li>\u00c9vite les noms de balises ambigus.<\/li>\n\n\n\n<li>S\u00e9pare les donn\u00e9es et la logique.<\/li>\n\n\n\n<li>Versionne les fichiers XML avec Git.<\/li>\n\n\n\n<li>Limite les permissions des fichiers contenant des secrets.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple permissions :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod 640 configuration.xml<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">15. Aller plus loin<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tu peux approfondir :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>XSLT pour transformer du XML ;<\/li>\n\n\n\n<li>SOAP ;<\/li>\n\n\n\n<li>SVG ;<\/li>\n\n\n\n<li>RSS ;<\/li>\n\n\n\n<li>les fichiers de configuration Maven ;<\/li>\n\n\n\n<li>les manifestes Android ;<\/li>\n\n\n\n<li>XML dans les APIs industrielles.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">16. Liens vers les sites officiels et contenus p\u00e9dagogiques<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Documentation officielle XML W3C<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.w3.org\/XML\">https:\/\/www.w3.org\/XML<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le W3C d\u00e9finit la sp\u00e9cification officielle du langage XML.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Recommandation XML officielle<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.w3.org\/TR\/xml\">https:\/\/www.w3.org\/TR\/xml<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Document technique complet de r\u00e9f\u00e9rence.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Documentation XPath W3C<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.w3.org\/TR\/xpath-31\">https:\/\/www.w3.org\/TR\/xpath-31<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Documentation officielle XPath.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Documentation Debian xmllint<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/manpages.debian.org\/bookworm\/libxml2-utils\/xmllint.1.en.html\">https:\/\/manpages.debian.org\/bookworm\/libxml2-utils\/xmllint.1.en.html<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Manuel officiel Debian pour <code>xmllint<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">OpenClassrooms &#8211; Structurez vos donn\u00e9es avec XML<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/openclassrooms.com\/fr\/courses\/1312676-structurez-vos-donnees-avec-xml\">https:\/\/openclassrooms.com\/fr\/courses\/1312676-structurez-vos-donnees-avec-xml<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tr\u00e8s bon cours d\u2019introduction progressif.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mozilla Developer Network XML<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/developer.mozilla.org\/fr\/docs\/Web\/XML\">https:\/\/developer.mozilla.org\/fr\/docs\/Web\/XML<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Documentation claire avec exemples pratiques.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">17. Propositions de TP pour s\u2019exercer<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">TP 1 \u2014 Inventaire r\u00e9seau XML<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objectif :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cr\u00e9er un inventaire de machines ;<\/li>\n\n\n\n<li>ajouter les IP et services ;<\/li>\n\n\n\n<li>valider avec XSD.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">TP 2 \u2014 Flux RSS personnalis\u00e9<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objectif :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cr\u00e9er un flux RSS XML ;<\/li>\n\n\n\n<li>ajouter plusieurs articles ;<\/li>\n\n\n\n<li>tester le flux dans un navigateur.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">TP 3 \u2014 Validation automatique<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objectif :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00e9crire un script Bash ;<\/li>\n\n\n\n<li>v\u00e9rifier plusieurs fichiers XML ;<\/li>\n\n\n\n<li>enregistrer les erreurs dans un log.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">TP 4 \u2014 Requ\u00eates XPath<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objectif :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>rechercher des serveurs ;<\/li>\n\n\n\n<li>filtrer selon les attributs ;<\/li>\n\n\n\n<li>extraire des informations automatiquement.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">TP 5 \u2014 G\u00e9n\u00e9ration XML avec Python<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objectif :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cr\u00e9er un script Python ;<\/li>\n\n\n\n<li>g\u00e9n\u00e9rer automatiquement un XML ;<\/li>\n\n\n\n<li>ajouter des donn\u00e9es r\u00e9seau.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>1. Introduction XML (eXtensible Markup Language) est un langage de balisage utilis\u00e9 pour structurer et transporter des donn\u00e9es. On le retrouve dans de nombreux domaines : d\u00e9veloppement web, administration syst\u00e8me, \u00e9changes applicatifs, flux RSS, fichiers de configuration, bureautique ou encore services web SOAP. Dans un BTS CIEL ou SIO, XML permet de comprendre : Tu [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","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-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":"","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-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":"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":""},"mobile":{"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":""}},"footnotes":""},"categories":[29],"tags":[56],"class_list":["post-449","post","type-post","status-publish","format-standard","hentry","category-administration-systeme","tag-xml"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Fiche xml - Eryann Breizh SecOps<\/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:\/\/eryann.fr\/index.php\/administration-systeme\/fiche-xml\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fiche xml - Eryann Breizh SecOps\" \/>\n<meta property=\"og:description\" content=\"1. Introduction XML (eXtensible Markup Language) est un langage de balisage utilis\u00e9 pour structurer et transporter des donn\u00e9es. On le retrouve dans de nombreux domaines : d\u00e9veloppement web, administration syst\u00e8me, \u00e9changes applicatifs, flux RSS, fichiers de configuration, bureautique ou encore services web SOAP. Dans un BTS CIEL ou SIO, XML permet de comprendre : Tu [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/eryann.fr\/index.php\/administration-systeme\/fiche-xml\/\" \/>\n<meta property=\"og:site_name\" content=\"Eryann Breizh SecOps\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-25T15:58:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-25T15:58:01+00:00\" \/>\n<meta name=\"author\" content=\"wpadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"wpadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/administration-systeme\\\/fiche-xml\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/administration-systeme\\\/fiche-xml\\\/\"},\"author\":{\"name\":\"wpadmin\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/#\\\/schema\\\/person\\\/d2ee98d2385cd045ed4fe1c07ca320b5\"},\"headline\":\"Fiche xml\",\"datePublished\":\"2026-05-25T15:58:00+00:00\",\"dateModified\":\"2026-05-25T15:58:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/administration-systeme\\\/fiche-xml\\\/\"},\"wordCount\":898,\"publisher\":{\"@id\":\"https:\\\/\\\/eryann.fr\\\/#organization\"},\"keywords\":[\"xml\"],\"articleSection\":[\"Administration syst\u00e8me\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/administration-systeme\\\/fiche-xml\\\/\",\"url\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/administration-systeme\\\/fiche-xml\\\/\",\"name\":\"Fiche xml - Eryann Breizh SecOps\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/eryann.fr\\\/#website\"},\"datePublished\":\"2026-05-25T15:58:00+00:00\",\"dateModified\":\"2026-05-25T15:58:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/administration-systeme\\\/fiche-xml\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/eryann.fr\\\/index.php\\\/administration-systeme\\\/fiche-xml\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/administration-systeme\\\/fiche-xml\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/eryann.fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fiche xml\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/#website\",\"url\":\"https:\\\/\\\/eryann.fr\\\/\",\"name\":\"Eryann Breizh SecOps\",\"description\":\"Fiches techniques &amp; labs en syst\u00e8mes et r\u00e9seaux poor les \u00e9tudiants en BTS CEIL ET SIO\",\"publisher\":{\"@id\":\"https:\\\/\\\/eryann.fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/eryann.fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/#organization\",\"name\":\"Breizh Sec Ops\",\"url\":\"https:\\\/\\\/eryann.fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/eryann.fr\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/cropped-088112b9-fd28-4b18-b02d-4d9dded3e900-e1777846396685.png\",\"contentUrl\":\"https:\\\/\\\/eryann.fr\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/cropped-088112b9-fd28-4b18-b02d-4d9dded3e900-e1777846396685.png\",\"width\":1246,\"height\":229,\"caption\":\"Breizh Sec Ops\"},\"image\":{\"@id\":\"https:\\\/\\\/eryann.fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/eryann.fr\\\/#\\\/schema\\\/person\\\/d2ee98d2385cd045ed4fe1c07ca320b5\",\"name\":\"wpadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d71b4031c3d015de3ca68c137413277e548b331b07db0acf781b9379b798eb3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d71b4031c3d015de3ca68c137413277e548b331b07db0acf781b9379b798eb3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d71b4031c3d015de3ca68c137413277e548b331b07db0acf781b9379b798eb3e?s=96&d=mm&r=g\",\"caption\":\"wpadmin\"},\"sameAs\":[\"https:\\\/\\\/eryann.fr\"],\"url\":\"https:\\\/\\\/eryann.fr\\\/index.php\\\/author\\\/wpadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Fiche xml - Eryann Breizh SecOps","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:\/\/eryann.fr\/index.php\/administration-systeme\/fiche-xml\/","og_locale":"fr_FR","og_type":"article","og_title":"Fiche xml - Eryann Breizh SecOps","og_description":"1. Introduction XML (eXtensible Markup Language) est un langage de balisage utilis\u00e9 pour structurer et transporter des donn\u00e9es. On le retrouve dans de nombreux domaines : d\u00e9veloppement web, administration syst\u00e8me, \u00e9changes applicatifs, flux RSS, fichiers de configuration, bureautique ou encore services web SOAP. Dans un BTS CIEL ou SIO, XML permet de comprendre : Tu [&hellip;]","og_url":"https:\/\/eryann.fr\/index.php\/administration-systeme\/fiche-xml\/","og_site_name":"Eryann Breizh SecOps","article_published_time":"2026-05-25T15:58:00+00:00","article_modified_time":"2026-05-25T15:58:01+00:00","author":"wpadmin","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"wpadmin","Dur\u00e9e de lecture estim\u00e9e":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/eryann.fr\/index.php\/administration-systeme\/fiche-xml\/#article","isPartOf":{"@id":"https:\/\/eryann.fr\/index.php\/administration-systeme\/fiche-xml\/"},"author":{"name":"wpadmin","@id":"https:\/\/eryann.fr\/#\/schema\/person\/d2ee98d2385cd045ed4fe1c07ca320b5"},"headline":"Fiche xml","datePublished":"2026-05-25T15:58:00+00:00","dateModified":"2026-05-25T15:58:01+00:00","mainEntityOfPage":{"@id":"https:\/\/eryann.fr\/index.php\/administration-systeme\/fiche-xml\/"},"wordCount":898,"publisher":{"@id":"https:\/\/eryann.fr\/#organization"},"keywords":["xml"],"articleSection":["Administration syst\u00e8me"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/eryann.fr\/index.php\/administration-systeme\/fiche-xml\/","url":"https:\/\/eryann.fr\/index.php\/administration-systeme\/fiche-xml\/","name":"Fiche xml - Eryann Breizh SecOps","isPartOf":{"@id":"https:\/\/eryann.fr\/#website"},"datePublished":"2026-05-25T15:58:00+00:00","dateModified":"2026-05-25T15:58:01+00:00","breadcrumb":{"@id":"https:\/\/eryann.fr\/index.php\/administration-systeme\/fiche-xml\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/eryann.fr\/index.php\/administration-systeme\/fiche-xml\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/eryann.fr\/index.php\/administration-systeme\/fiche-xml\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/eryann.fr\/"},{"@type":"ListItem","position":2,"name":"Fiche xml"}]},{"@type":"WebSite","@id":"https:\/\/eryann.fr\/#website","url":"https:\/\/eryann.fr\/","name":"Eryann Breizh SecOps","description":"Fiches techniques &amp; labs en syst\u00e8mes et r\u00e9seaux poor les \u00e9tudiants en BTS CEIL ET SIO","publisher":{"@id":"https:\/\/eryann.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/eryann.fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/eryann.fr\/#organization","name":"Breizh Sec Ops","url":"https:\/\/eryann.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/eryann.fr\/#\/schema\/logo\/image\/","url":"https:\/\/eryann.fr\/wp-content\/uploads\/2026\/05\/cropped-088112b9-fd28-4b18-b02d-4d9dded3e900-e1777846396685.png","contentUrl":"https:\/\/eryann.fr\/wp-content\/uploads\/2026\/05\/cropped-088112b9-fd28-4b18-b02d-4d9dded3e900-e1777846396685.png","width":1246,"height":229,"caption":"Breizh Sec Ops"},"image":{"@id":"https:\/\/eryann.fr\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/eryann.fr\/#\/schema\/person\/d2ee98d2385cd045ed4fe1c07ca320b5","name":"wpadmin","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/d71b4031c3d015de3ca68c137413277e548b331b07db0acf781b9379b798eb3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d71b4031c3d015de3ca68c137413277e548b331b07db0acf781b9379b798eb3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d71b4031c3d015de3ca68c137413277e548b331b07db0acf781b9379b798eb3e?s=96&d=mm&r=g","caption":"wpadmin"},"sameAs":["https:\/\/eryann.fr"],"url":"https:\/\/eryann.fr\/index.php\/author\/wpadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/posts\/449","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/comments?post=449"}],"version-history":[{"count":1,"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/posts\/449\/revisions"}],"predecessor-version":[{"id":450,"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/posts\/449\/revisions\/450"}],"wp:attachment":[{"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/media?parent=449"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/categories?post=449"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eryann.fr\/index.php\/wp-json\/wp\/v2\/tags?post=449"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}