8768 sujets

Développement web côté serveur, CMS

Bonjour

Je m'interroge dans le cadre d'un projet, sur la possibilité d'intégrer au coeur d'une page Web, un bout de code XML
AI je le droit , ou plutôt les navigateurs peuvent il planter (firefox et IE, les autre je m'en fiche car sur mon intranet les utilisateurs n'ont que ces deux la, FF étant celui préconisé) si au coeur du HTML j'attaque un bout de XML ?
L'idée étant d'avoir au cœur de mon joomla des données structurées et qu'un module "parcours" mon site pour afficher une "synthèse" des XML trouvés. Je ne développe pas plus car c'est bien + complexe que ca.

Merci
Hello,

La balise <pre> est faite pour ça Smiley smile
Il te suffit d'entourer une portion de code (XML, ou même HTML, CSS, ...) pour que son contenu ne soit pas interprété par le navigateur.
Modérateur
Salut,

le XSLT est peut être plus pertinent ?

Il y a quelques tuto sur le net :
- w3school
- Tutoriel XSLT débutant

edit: Je viens de me souvenir qu'en php, il y a un module pour travailler sur l'XSLT :
XSL
En python, il y a à peu près la même chose : lxml, xml etree, lxslt, etc.
Modifié par niuxe (06 Apr 2023 - 10:33)
J entends bien mais ma question se pose plutôt sur le mélange xml et html que sur la façon de traiter le xml
Modérateur
slhuilli a écrit :
Bonjour
... un bout de code XML
... les navigateurs peuvent il planter ... si au coeur du HTML j'attaque un bout de XML ?
L'idée étant d'avoir ... des données structurées
... pour afficher une "synthèse"


Bonjour, la question n'est pas trés claire:
1. bout de XML, a priori sans doctype => ce n'est qu'un balisage exotique dans le flux HTML de ta page
2. Les navigateurs ? ... il verront des balises qu'il ne reconnaitront pas , elle ne recevront aucun style particulier (seront traitées en display:inline par exemple). Pour les cachées, les placer dans un parent HTML neutre en (display:none;)
3. des données structurées , il n'y a pas que XML , en ce moment JSON-LD est populaire et est facile à traité tant coté visiteur que serveur. Aucune interférence avec le visuel, mais il y a plein d'autre moyen de distribuer des données non visuel dans ton documents comme les microdata (qu'on voient dans les epubs par exemple) , les data-* attributs pour un usage personnalisé sans suivre un format standard, etc. etc.
4. une synthèse, si tu as un déjà l'outil et qu'il requiert seulement une syntaxe XML sans que cela soit un veritable document XML , alors , je dirais que tu peut insérer ces balises dans ton HTML en prenant soin de les balisé à l'aide d'un conteneur HTML neutre et le retiré du flux et de le caché, a moins que tu souhaites affiché leur contenu.

Cdt
Modifié par gcyrillus (06 Apr 2023 - 14:35)
Bonjour, c'est spécifiquement le point 2 qui m intéressé en terme de "risque". Un plantage de Firefox peut-il peut-il planter?
Car seul firefox est concerné sur notre intranet on a rien d autre
Modérateur
Bonjour,

Firefox ne plantera pas.

On notera qu'il est autorisé d'utiliser des balises aux noms variés dans du html (donc les balises xml que tu utilises), mais à la condition que ces noms contiennent un tiret.

Par exemple, <mon-toto> est une balise autorisée. <toto> n'est pas une balise autorisée. Mais même si la balise n'est pas autorisée, le navigateur ne plantera pas.

Amicalement,
Modifié par parsimonhi (06 Apr 2023 - 16:28)
Meilleure solution
Merci parsimonhi, j'avais déja vu de genre de notation mais j'ignorais la règle.
Ca va résoudre beaucoup de choses ca, enfin par rapport à mes besoins !
Je remercie tout le monde, je pense désormais avoir toutes les informations nécessaires pour débuter une belle analyse de ce projet,
Et pour utiliser ces balises de type <mon-toto>, il faut déclarer des choses particulières ? un doctype précis ? une entête ?
La question qui n'est pas claire c'est "pourquoi faire" ?

J'ai eu à m'occuper d'intégrer il y a quelques années des pages "visite virtuelle" dans le site osirisnet.net
Voir par exemple le code de la page https://www.osirisnet.net/3d-tours/kv16/index.php?fr
qui fait référence à un outil JavaScript
<script type='text/javascript' src="/3d-tours/x3dom.js"></script>

Ce n'est moi qui ai écrit cet outil ni la structure xml, je me suis simplement chargé d'intégrer ça dans une page HTML et de faire un peu de code JavaScript pour cela.

Cela peut éventuellement t'être utile.
Modérateur
Bonjour,

slhuilli a écrit :
Et pour utiliser ces balises de type <mon-toto>, il faut déclarer des choses particulières ? un doctype précis ? une entête ?

Il faut utiliser de préférence le doctype du html5, c'est à dire simplement :
<!DOCTYPE html>

On peut se contenter de ça.

Mais on peut aussi définir des comportements spécifiques via du javascript. Voir par exemple Using_custom_elements. Il est cependant peu probable que tu aies besoin d'aller jusque là.

Amicalement,
D'accord.
Mon joomla m'a généré un <!DOCTYPE html>

Ça va m'éviter de surcharger le Joomla de base pour faire ça.

Merci à vous tous
Modifié par slhuilli (07 Apr 2023 - 07:41)
Modérateur
Quel est l'intérêt d'afficher en brute du xml dans une page html ? Si tu veux afficher du xml directement, tu peux. Dans ce cas-là, tu fais une api. Il y a peut être des chances que tu dois protéger ces données puisque c'est un module qui doit chercher les données. Quelqu'un peut très bien tromper les données....

Du xml brute, ce n'est pas sexy à lire d'où mon conseil de t'orienter sur xslt qui lui te donnera un meilleur rendu couplé avec du css.

Sinon, je rejoins ce que t'a conseillé Loraga. Ton xml à l'intérieur d'éléments <pre> font l'affaire. en plus, il y a des librairies qui te donneront une coloration syntaxique.

slhuilli a écrit :
L'idée étant d'avoir au cœur de mon joomla des données structurées et qu'un module "parcours" mon site pour afficher une "synthèse" des XML trouvés. Je ne développe pas plus car c'est bien + complexe que ca.


tu n'as pas besoin d'afficher pour faire ce genre chose. Tu te compliques la vie. Surtout que dès le départ, tu vas devoir chercher les fichiers en php et ça, d'une manière récursive. Après tu as une autre manière (pas sûr que tu aies les droits). tu envoies une commande shell (en php de mémoire, c'est exec())
Modifié par niuxe (07 Apr 2023 - 15:22)
L intérêt est d associer mon xml à ma fiche. Tout est encore à l étape d analyse.
L intérêt est aussi d avoir des données structurées au lieu de html transitionnel car les utilisateurs peuvent écrire n importe quoi.
Je poursui ma réflexion et je vous la suggererai