FAQ - Réponses à vos questions sur les interfaces, les langages et Ajax

Ajax

Interfaces et langages

XML, RDF, RSS


Une question? Posez la sur dans le nouveau système de commentaires dynamique...

Ajax

Pourquoi utiliser Ajax?

Ajax permet de supprimer les délais d'attente de données en provenance du serveur, et d'afficher une page modifiée instantanément sans à-coups. Mais l'utilisation d'un framework Ajax va au-dela, jusqu'à la construction d'applications web avec interface graphique.

Que dois-je apprendre pour utiliser Ajax?

Les composantes du HTML dynamique sont ce qui permet de donner à une application Ajax sa fluidité et facilitent la réalisation d'un site: JavaScript, DOM, CSS.
En outre l' objet XMLHttpRequest doit être bien connu: il propose un ensemble restreint d'attributs et méthodes et utilise les méthodes http: GET, POST, HEAD, PUT, DELETE.

L'objet XMLHttpRequest est-il un standard W3C?

Oui. La traduction française de la spécification XMLHTTPRequest est précisément hébergée sur Xul.fr et faite par le webmestre du site. Le document deviendra une recommandation du W3C une fois terminé.

Que signifie asynchrone?

Le navigateur lorsqu'il envoie une requête au serveur, est dissocié de celle-ci, il n'attend pas la réponse du serveur et rend la main à l'utilisateur. Lorsque la réponse arrive (la plupart du temps en quelques dixièmes de secondes, mais cela pourrait être plus long), elle est prise en compte automatiquement, et la page mise à jour si besoin.

Dois-je utiliser XML avec Ajax?

Bien que XML soit utilisé pour former le nom Ajax, il constitue une option et non une nécessité et l'on peut aussi bien utiliser des fichiers au format texte, et donc des fichiers au format JSON qui est textuel et fournit une alternative simplifiée à XML.

Lorsqu'on lance une requête Ajax, l'objet créé comme instance de XMLHttpRequest à deux attributs qui sont assignés avec la réponse du serveur:

  1. responseText qui contient un document texte.
  2. responseXML contenant un document XML dont les balises sont accessibles par DOM.

responseText peut contenir un fichier JSON, celui-ci représente les données de façon plus concise que XML et a l'avantage d'être utilisable directement par JavaScript, car il est similaire à la définition d'un tableau.
Mais il doit être évalué par JavaScript pour être assigné à une variable.

Le code aura cette forme:

function demo() 
{ 
   if (req.readyState == 4) 
   { 
        var x = eval('(' + req.responseText + ')'); 
   }
} 

La variable x contient un tableau reprenant les données du fichier JSON.

Dois-je utiliser GET ou POST?

On utilise GET pour recevoir des données venant du serveur, et POST pour lui transmettre des données.

Que faire avec le fichier lu grâce à XMLHttpRequest?

Cela dépend du type de fichier:
- si c'est un fichier texte, il est assigné à une variable et utilisé comme une chaîne de caractères.
- si c'est un fichier XML, responsXML est aussi assigné et utilisé par les méthodes de DOM.
- s'il est au format JSON, il est parsé par la méthode eval().

Qu'est-ce que JSON?

JSON (prononcer Jason en anglais) est un format de fichier qui est reconnu par le standard JavaScript depuis 1999. Il est très simple et permet d'échanger des données entre le navigateur et le serveur.

Qu'est-ce qu'un agent utilisateur?

Cela peut être un navigateur, un robot de moteur de recherche, ou n'importe quelle sorte d'application cliente qui accède au Web. Dans le protocole HTTP, l'agent utilisateur qui envoie une requête est identifié par une chaîne de caractères commençant par les mots "User-Agent:" suivis par le nom de l'application, la version, le système d'exploitation, la langue, etc...... Exemples:
User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 SeaMonkey/1.0.4
User-Agent:Googlebot/2.1 (+https://www.google.com/bot.html)

Quels sont les avantages de XMLHttpRequest sur IFrame?

IFrame est un moyen plus classique de modifier une page sans la recharger entièrement, avec des données reçues du serveur, cependant l'objet XMLHttpRequest à les avantages suivants:
- Il permet d'échanger des fichiers XML utilisables par l'interface DOM, ce que IFrame ne fait pas.
- Il fonctionne de manière plus rapide.
- Il dispose de la fonction abort().
- Il est plus simple.
- Il dispose d'une liste de frameworks impressionnante.
IFrame ne devrait être utilisé que lorsque XHR ne peut l'être, avec des navigateurs anciens par exemple.

Puis-je utiliser Ajax localement, sans serveur?

L'objet XMLHttpRequest fonctionne sans serveur mais de façon imparfaite. La propriété readyState vaut toujours 4 et status n'a pas la valeur qu'aurait retournée un serveur 0. En ignorant ces tests, on peut charger un document et le traiter en JavaScript.

Ajax remplace t-il Flash?

Flash est une technologie d'animation avant d'être un mode d'interaction avec le serveur et un outil de réalisation d'interface. Il propose le dessin vectoriel et un langage de Script, ActionScript. Il permet de réaliser des pages dynamiques, des animations, des jeux.

Tout cela peut se remplacer par:

Les langages d'interface

Qu'est-ce qu'une interface prédictive?

Ce concept est utilisé par le logiciel Mathematica en version 9. Cela consiste à adapter l'interface en fonction des besoins de l'utilisateur et quand celui-ci passe une commande au programme, l'interface s'adapte à celle-ci et propose de nouvelles commandes utiles dans le nouveau contexte ouvert.

Qu'est-ce que XUL?

XUL se prononce "Zoul" et signifie "XML-based User interface Language", donc langage d'interface utilisateur basé XML, et est un moyen de décrire des interfaces graphique en XML. Il était originellement utilisé pour l'interface de Mozilla et peut maintenant être utilisé par tout programme de façon indépendante avec le runtime XULRunner.

C'est le langage d'interface pour les extensions à Firefox.

Est-ce plus simple d'utiliser XUL plutôt que GTK ou Visual Studio?

Le code d'une interface graphique décrite en XUL est plus lisible que l'équivalent GTK ou le code produit par Visual Studio ou autre IDE. On peut déplacer une partie du code comme une partie de texte et cela marche!
Créer une application avec un IDE est bien sûr plus simple que de taper directement le code correspondant, mais une fois que XUL disposera d'un IDE complet (voir XulDev), il retrouvera son avantage car ses possibilités sont plus étendues que celles des GUI classiques.

Ou trouver un tutoriel sur XUL?

Un tutoriel XUL en français se trouve sur ce site.
Un tutoriel plus complet en anglais est disponible sur Mozilla en traduction française.

Qu'est-ce que Canvas?

C'est une balise qui permet à l'utilisateur de dessiner sur l'écran et au programmeur de fabriquer de nouveaux éléments pour XUL. A ne pas confondre avec la balise Canvas dans les nouvelles versions de HTML.
Canvas a des sous-éléments, au même titre que box, et des propriétés CSS.

Est-ce que Xul.fr est le site officiel de XUL en France?

Il n'y a pas de site XUL officiel en France, pas plus que pour Mozilla, si l'on entend par là un site qui soit créé par la fondation Mozilla (il y a un site Mozilla européen). Xul.fr dispose d'une autorisation par Mozilla d'utilisation du nom XUL.
Il y a cependant plusieurs sites consacrés à XUL en France.

Qu'est-ce que XAML?

XAML est l'équivalent de XUL imaginé par Microsoft, principalement pour le système d'exploitation Vista, successeur de Windows XP. XAML signifie "eXtensible Application Markup Language" (langage à balises extensible pour applications) et se prononce Zammel.
XAML fonctionne sur l'environnement .net et non pas en mode natif, il est plus simple que XUL mais pas multi-plateformes.
Voir les différences entre XUL et XAML sur cette page.

Sur quels systèmes pourrais-je utiliser XAML?

XAML est l'élément principal de WPF et fonctionne sous .Net et donc aussi sous Mono pour Linux.
C'est aussi le langage d'interface de Windows 8 pour ce qui est de l'interface moderne à tuiles, un temps dénommée Metro.

Qu'est-ce que WPF?

WPF (Windows Presentation Foundation) est la couche graphique du système d'exploitation Vista.
Il est disponible aussi pour XP en tant que partie de WinFX qui est une extension à l'environnment .Net.
Il servira à la fois aux applications locales et comme interface graphique pour les services web, à travers Internet Explorer.

Qu'est-ce que WPF/E?

WPF/E, (Windows Presentation Foundation Everywhere) était le nom de code de Silverlight.

XML, RDF, RSS

Que signifie XML?

Ce sont les "initiales" de eXtended Markup Language, donc langage de balises étendu. Il décrit et analyse les données dans balises.

Qu'est-ce que RDF?

Pour RDF ou "cadre de description de ressources", les données sont des ressources pour le programme qui les utilise. RDF décrit les caractéristiques des données utiles au fonctionnement d'un programme. Par exemple, le contenu des listes, des arborescences, affichées par un programme. Ou les textes dans plusieurs langues. Les structure de ces composants graphiques se réflète dans la structure du fichier RDF.
Plus de détails dans la page RDF.

Pourquoi utiliser RDF plutôt que XML?

On pourrait utiliser XML, en définissant ses propres balises descriptives et en écrivant le code pour les traiter. Mais RDF dispose de librairies prédéfinies pour traiter de telles données, selon leurs caractéristiques. Et l'on sait, en utilisant le format RDF, comment construire un fichier de ressource pour tout programme.

Quelle version de RSS dois-je utiliser?

Les deux formats les plus utilisés et par conséquents les plus aptes à promouvoir le contenu d'un site, sont RSS 2.0 et Atom. Google par exemple reconnait ces deux formats pour les sitemaps.

Comment trouvera-t-on mon fil RSS?

Votre fil une fois réalisé conformément au tutoriel RSS sur ce site, est signalé au public par un bouton orange XML ou RSS. Le fil sera repris par le lecteur à l'aide d'un logiciel spécialisé ou avec Internet Explorer 7, en cliquant sur une icône.
Vous pouvez ajouter l'URL de votre fil sur Yahoo et Google, ainsi que sur les répertoires comme Dmoz.org. Par ailleurs de nombreux sites publient des listes de fils RSS.

Comment faire connaître un fichier RSS aux navigateurs?

Pour rendre le fichier du flux accessible aux navigateurs, insérer les lignes suivantes dans le code HTML de votre page d'accueil:

<link rel="alternate"  type="application/rss+xml" href="https://www.xul.fr/rss.xml" title="Flux au format RSS pour Xul">
<link rel="alternate"  type="application/atom+xml" href="https://www.xul.fr/atom.xml" title="Flux au format Atom pour Xul">

La première pour les format RSS la seconde pour le format Atom. Remplacer l'URL par celle de votre fichier. L'en-tête de votre page HTML ressemblera alors à ceci:

<head>
 <title>Xul.fr, titre de page</title> 
    <link rel="stylesheet" type="text/css" href="xul.css" >
    <link rel="alternate"  type="application/rss+xml" href="https://www.xul.fr/rss.xml" title="Flux au format RSS pour Xul">
    <link rel="alternate"  type="application/atom+xml" href="https://www.xul.fr/atom.xml" title="Flux au format Atom pour Xul">
 </head>
© 2006-2017 Xul.fr