Accueil Recherche | Plan Technique | Liens | Actualités | Formation | Emploi | Forums | Base
logo CERIG NOTE TECHNIQUE cerig.efpg.inpg.fr 
Vous êtes ici : Accueil >Technique > Internet et le web > Du bon usage des cadres
          Révision : 28 août 2000
Note précédente Liste des notes     Du bon usage des cadres     Page technique Note suivante
 
Jean-Claude Sohm (CERIG / EFPG)
(04 janvier 2000)
 

La technique des cadres (frames) permet de diviser en plusieurs zones la fenêtre du navigateur affichant une page web, et de modifier l'affichage d'une zone grâce à une action effectuée dans une autre zone. Ces zones sont appelées "cadres" en français, et "frames" en anglais.
   Cette intéressante technique, maintenant âgée de 4 ans, a joué de malchance. Elle a été mal implémentée dans le HTML, ignorée d'une partie des moteurs de recherche, traitée de manière peu claire par les navigateurs, et mal utilisée par bien des concepteurs de sites. Elle est donc devenue impopulaire auprès d'une fraction notable des internautes. De ce fait, les webmestres tendent de plus en plus à l'abandonner, sur tout ou partie de leur site.
   La technique des cadres n'est certainement pas en voie de disparition. Mais si rien n'est fait pour améliorer son implémentation dans le HTML, elle risque de se marginaliser peu à peu.
 

Introduction

En savoir plus sur les cadres :

Dans la terminologie du web, les cadres (en anglais "frames") représentent une technique qui permet de diviser la fenêtre affichée par le navigateur en plusieurs parties appelées cadres, d'afficher une page HTML distincte dans chaque cadre, et de modifier le contenu d'un cadre à partir d'un autre cadre.

Les cadres ont été introduits par Netscape en 1996, dans la version 2 de son célèbre navigateur. Microsoft a suivi le mouvement avec la version 3 d'Internet Explorer. Les cadres ont été entérinés par le W3C, et ajoutés au HTML. Notre opinion est que cet ajout n'a pas été fait de manière satisfaisante, et que cela explique -- au moins partiellement -- le devenir mouvementé que connaissent les cadres depuis lors.

Au début, les cadres furent l'objet d'un véritable engouement chez les concepteurs de sites, qui commencèrent à en mettre un peu partout. Sur le web, les amateurs de cadres furent légion, et il le firent savoir ; aujourd'hui encore, il suffit d'interroger un moteur de recherche important (ex : FAST) avec l'expression "frames tutorial" pour obtenir plus d'une centaine de réponses pertinentes (mais pas forcément intéressantes). Les infographistes, par contre, ont toujours été fort divisés : les uns trouvent très laid de partager une page web en plusieurs parties clairement séparées, les autres se servent des cadres (en cachant généralement leurs séparations) pour obtenir des effets inédits dans leurs présentations.

A l'expérience, les cadres révélèrent des défauts multiples, et vint l'heure du reflux (aux États-Unis du moins) : de nombreux webmestres abandonnèrent les cadres, sur tout ou partie de leur site. Il devint de bon ton, chez les concepteurs, d'énumérer les inconvénients des cadres, et d'en déconseiller l'emploi. Voici quelques cas parmi les plus cités :

    Si l'on examine les 15 sites les plus fréquentés en France, et les 20 sites les plus fréquentés aux États-Unis, on s'aperçoit qu'aucun d'entre eux n'utilise de cadre ;
  même remarque en ce qui concerne la quasi totalité des 100 sites les plus consultés par les particuliers américains (moteurs de recherche, portails du web, météo, commerce électronique, jeux, nouvelles -- et 4 sites pornographiques, plutôt mal classés, ce qui ramène ce genre à ses justes proportions) ;
  Disney, souvent cité comme le meilleur exemple de site très fréquenté utilisant des cadres, les a pratiquement tous éliminés ;
  la société Netscape elle-même n'utilise pas de cadre sur son site principal, ni sur les pages qui traitent... des cadres ;
  pas de cadres non plus sur la majorité des sites offrant un "frames tutorial", ce qui constitue une nouvelle version du célèbre "Faites ce que je vous dis, et non ce que je fais".

On pourrait multiplier les exemples, et en tirer la leçon suivante : plus un site est soucieux de sa fréquentation, moins il utilise les cadres. Il existe cependant des cas où les cadres rendent service, et où leurs avantages l'emportent sur leurs inconvénients. Le CERIG, qui a longtemps regardé le système des cadres avec prudence (et même avec un peu de suspicion), mène actuellement une expérience sur son emploi dans la partie du site qui s'y prête le mieux. Les résultats préliminaires de cet essai seront présentés plus loin, en attendant que le recul du temps permette une étude plus substantielle.
 

En quoi consistent les cadres ?

Les cadres ne constituent pas simplement un moyen d'afficher plusieurs pages web simultanément dans la fenêtre de votre moniteur. Cela, vous pouvez le faire vous-même si vous en avez envie ; certains internautes, d'ailleurs, le pratiquent systématiquement, pour compenser les lenteurs d'Internet. Ce que vous ne pouvez pas faire, par contre, c'est modifier le contenu d'une fenêtre à partir d'une commande donnée dans une autre. Là réside l'intérêt des cadres.

[Préambule][Partie I][Partie II][Partie III]
[Généralités]
[Introduction]
---------------
texte de
l'introduction
---------------
[Préambule][Partie I][Partie II][Partie III]
[Chapitre I]
[Chapitre II]
[Chapitre III]
--------------
texte du
chapitre III
de la partie I
[Préambule][Partie I][Partie II][Partie III]
[Chapitre I]
[Chapitre II]
--------------
texte du
chapitre II
de la partie III
Figure 1 : présentation d'un rapport dans un jeu de cadres
(de gauche à droite : états successifs de l'affichage)

L'exemple de la figure 1 ci-dessus montre comment on peut présenter un rapport dans un jeu de cadres sur un site Internet (ou sur un intranet). Le cadre du haut permet de passer d'une partie du rapport à l'autre, et d'afficher (en rouge dans cet exemple) la partie choisie. Le cadre de gauche permet, dans cette partie, de passer d'un chapitre à l'autre, et d'afficher (en rouge dans cet exemple) le chapitre choisi. Le texte de ce dernier s'affiche dans le cadre de droite. L'internaute sait en permanence où il se trouve dans la lecture du rapport, et peut naviguer aisément sans retourner à la page contenant le sommaire. Une telle présentation n'est pas indispensable, mais elle est généralement perçue comme commode, et agréable d'emploi.
 

Le fonctionnement des cadres

Page de cadres (frameset)
Zone haute (1ère page)
Zone basse, divisée en :
Zone gauche
(2ème page)
Zone droite
(3ème page)
Figure 2 : le principe de fonctionnement
des cadres (frames)

La figure 2 représente le fonctionnement des cadres. Nous nous sommes placés, comme pour la figure précédente, dans le cas où la fenêtre du navigateur est partagée en trois parties par le jeu de cadres.

Le découpage de la fenêtre en cadres, les propriétés générales de ces cadres, le fonctionnement des liens hypertextes entre cadres, et les pages à afficher lorsque le jeu de cadres apparaît à l'écran, sont définis dans une première page HTML appelée "frameset", ou "page de cadres". On notera, sur la figure 2, l'emboîtement des deux divisions successives : dans le frameset, la page est d'abord découpée en deux par une séparation horizontale, puis la zone du bas est à son tour découpée en deux par une séparation verticale. Chacune des trois zones ainsi obtenues contient une page web distincte. Un tel système de cadres contient donc 4 pages HTML, qui sont : le frameset, et les trois pages occupant chacune des trois zones. Ces zones sont généralement appelées "cadres".

Cadre haut (1ère page)
Cadre gauche
(2ème page)

 

Cadre droit
(3ème page)

Figure 3 : l'affichage des cadres
dans la fenêtre du navigateur

La figure 3 représente le résultat obtenu lorsque le système de cadres précité est affiché dans la fenêtre d'un navigateur : on notera que la page de cadres (frameset) n'est pas vue par l'internaute. Cette division en trois cadres est très prisée de certains sites professionnels, qui se servent du cadre du haut pour afficher le nom et le logo de l'entreprise, et du cadre de gauche pour afficher les éléments de la navigation. Les informations que l'internaute recherche s'affichent dans le cadre de droite, auquel on réserve en général la plus grande place.

La rubrique des "liens imprimerie" du CERIG présente un autre exemple d'utilisation des cadres. La page est divisée en deux parties par une séparation horizontale ; la zone haute affiche la liste de liens demandée par l'internaute, la zone basse contient l'index alphabétique correspondant.
 

Un paradigme intéressant

Il est clair pour tout le monde que, d'un point de vue pratique, le système des cadres présente un intérêt non négligeable. Parmi les usages les plus fréquents, on peut citer :

    l'aide à la navigation dans le site : les éléments de cette navigation restent en permanence affichée dans un des cadres, et l'on peut de faire en sorte que l'internaute sache toujours où il se trouve ;
  l'affichage des images de grande taille : un cadre peut contenir les miniatures, et les images en vraie grandeur s'affichent, à la demande, dans le cadre voisin. On évite ainsi l'ouverture d'une nouvelle fenêtre ;
  l'aide à la présentation : un cadre peut contenir le plan ou le résumé du texte qui s'affiche dans la fenêtre voisine, attirer l'attention sur un "scoop" (sites publiant des nouvelles), contenir un petit moteur de recherche local, etc. sans masquer l'information que l'internaute est en train de consulter dans le cadre voisin ;
  la publicité : les bandeaux restent affichés dans le cadre supérieur (hélas !), et ne disparaissent pas lorsque l'internaute fait fonctionner l'ascenseur du cadre inférieur (où se trouve l'information qu'il recherche) ;
  le maintien dans un site : un premier cadre permet de conserver la présence du site initial pendant que l'internaute suit des liens vers d'autres sites dans un second cadre ;
  le commerce électronique : l'acheteur peut consulter en permanence l'état de sa commande dans un cadre séparé ;
  etc.

Les cadres, bien sûr, n'ont pas que des avantages. On peut, sans chercher bien loin, leur trouver aussi quelques défauts :

    le jeu de cadres occupe de la place, au détriment de la zone dans laquelle s'affiche l'information essentielle ;
  la présence de cadres alourdit le code HTML, ce qui allonge le temps de chargement ;
  l'aspect esthétique d'une page contenant des cadres ne plait pas à tout le monde ;
  l'emboîtement excessif des cadres réduit la zone utile, quand une page web contenant des cadres s'affiche elle-même dans le cadre d'une autre page.

La place perdue. Chaque nouveau cadre occupe de la place dans la fenêtre du navigateur, au détriment du cadre principal dans lequel s'affiche l'information recherchée. Certes, les écrans de 14" exploités en VGA (640 x 480 pixels) se font rares chez les utilisateurs. A l'heure actuelle, la moyenne des internautes contemple le web à travers une fenêtre de 15" de diagonale nominale, exploitée à la résolution de 800 x 600 pixels. A une diagonale effective de 15" correspond une largeur de fenêtre 28,5 cm, soit une largeur utile de 27,6 cm environ (compte tenu de la place occupée par le cadre du navigateur). Si l'écran est nettement moins haut qu'une feuille de papier A4 (21x29,7 cm), il est par contre un peu plus large. Il est donc tentant d'attribuer le surcroît de place à un cadre occupant la partie droite ou gauche de la page. Un cadre occupant le haut ou le bas de la page risque par contre d'être plus mal accepté, surtout lorsqu'il comporte des informations dont l'internaute pourrait fort bien se passer (publicité...). On notera que le raisonnement que nous venons de faire doit être modulé en fonction de la plate-forme utilisée, le PC affichant (par défaut) des caractères dont la taille est supérieure (d'un facteur 4/3) à ceux du Mac.

Le temps de chargement. Les cadres alourdissent le code HTML, et accroissent donc le temps de chargement. Évidemment, les cadres ne sont pas les seuls fautifs : les mises en page trop compliquées (mea culpa pour certaines de mes contributions au CERIG...), les figures trop lourdes et/ou trop nombreuses, les animations et autres vidéos, un serveur poussif ou dont la liaison à Internet n'a pas un débit suffisant, peuvent jouer un rôle au moins aussi néfaste que les cadres. Mais, quand on travaille à réduire le temps de chargement d'une page, on est fort tenté de faire passer les cadres à la trappe, parce qu'ils n'apparaissent pas comme indispensables. On notera qu'aucun "portail du web" n'utilise de cadres, et que les pages d'accueil des dits portails se chargent généralement plus vite que celles des autres sites.

L'aspect esthétique. Beaucoup d'infographistes reprochent aux cadres de rompre l'unité de la page qui s'affiche dans le navigateur, tandis que d'autres les trouvent fort laids. Mme L.Weinman, qui dispense des cours d'infographie dans des universités américaines, raconte dans un de ses livres* que chaque fois qu'elle prend contact avec de nouveaux étudiants, elle demande à ceux qui détestent les cadres de bien vouloir lever la main... et que la moitié de l'auditoire s'exécute ! Les séparations visibles entre cadres, et la multiplication des ascenseurs, sont les plus critiqués. On peut cependant trouver des infographistes qui apprécient les cadres, et les utilisent pour obtenir des effets particuliers.

Première page de cadres
   
Seconde page de cadres
   
Troisième page de cadres
  Information utile...
Figure 4 : les joies du surf
dans les cadres...

L'emboîtement. Vous examinez une page "encadrée" (ou "framée" ?). Vous cliquez sur un lien... qui conduit vers un frameset. Pour peu que vous récidiviez, la fenêtre de votre navigateur va ressembler au dessin de la figure 4, dans lequel la zone grise représente la place utile dont vous bénéficiez encore pour examiner l'information qui vous intéresse.

Ce genre de mésaventure est heureusement peu fréquent, mais tous ceux qui surfent beaucoup y ont été un jour où l'autre confrontés. D'abord, les pages encadrées ne sont pas la règle, et vous allez commencer à penser que c'est une chance. Ensuite, les concepteurs corrects font en sorte que, quand vous activez un lien, la nouvelle page sorte du système de cadres. Sinon, il faut en sortir de vous-même !

Si vous utilisez le navigateur de Netscape, ou la toute dernière version d'Internet Explorer (5.01 plus la mise à jour en ligne), il vous suffit d'utiliser la fonction "Ouvrir le cadre dans la nouvelle fenêtre", obtenue d'un clic droit de la souris (PC) dans le cadre en question. Si vous utilisez une version plus ancienne du navigateur de Microsoft, vous avez le choix entre les deux méthodes suivantes :

    effectuer un clic droit (PC) dans le cadre concerné, et utiliser la fonction "Créer un raccourci". Ce dernier est placé sur le bureau. Faites un double clic dessus et la page s'affiche hors cadre dans la fenêtre de votre navigateur par défaut ;
  effectuer un clic droit (PC) dans le cadre concerné, et utiliser la fonction "Propriétés". Sélectionner l'URL de la page, la copier par CTRL+c (la touche Ctrl étant enfoncée, appuyer sur la touche c), refermer la fenêtre "Propriétés", cliquer dans la fenêtre "Adresse" du navigateur, coller l'adresse de la page grâce à CTRL+v, et appuyer sur la touche "Entrée".

Encore faut-il que la page encadrée ne contienne pas un programme écrit en Javascript qui vous ramène de force dans le système de cadres. Si tel est le cas, et si la liaison à Internet est lente, vous observerez sans doute que la page s'affiche d'abord sans cadre, puis -- le programme Javascript se déclenchant -- qu'elle se réaffiche ensuite dans le jeu de cadres. En appuyant sur le bouton "Arrêter" au bon moment, vous obtiendrez la page hors cadre. Si tel n'est pas le cas, vous pouvez intervenir dans les préférences de votre navigateur pour débrayer l'interpréteur Javascript.

Un argument obsolète. On ne peut plus reprocher aux cadres de ne pas être gérés par les navigateurs. Celui de Netscape reconnaît les cadres depuis la version 2 (version la plus récente à ce jour : 4.6), et celui de Microsoft depuis la version 3 (version la plus récente à ce jour : 5.01). Les internautes dont le système ne peut pas afficher les cadres sont devenus fort rares -- à l'exception peut-être de ceux qui ont un handicap, et utilisent de ce fait un navigateur spécial. Ce cas mis à part, ceux qui naviguent sur le web avec la version 1 de Netscape, ou la version 2 de Microsoft, ou un navigateur préhistorique tel que Mosaïc, devraient très sérieusement songer à se mettre à jour...
 

Une implémentation déficiente dans le HTML

Tel qu'implémenté dans le HTML, le système des cadres permet à l'internaute d'afficher correctement des pages web regroupées dans un même frameset, et de faire fonctionner les liens internes. Mais si l'internaute clique sur un lien externe, les choses commencent à se gâter. En effet, il n'existe pas de balise indiquant au navigateur si une page doit s'afficher ou non dans un jeu de cadres : l'internaute peut voir une page s'affiche dans un jeu de cadres pour lequel elle n'est pas prévue, sans compter le phénomène d'emboîtement que nous avons déjà signalé.

Le problème de fond des cadres :

Dans l'état actuel des choses, on ne peut pas garder trace de l'environnement d'une page encadrée (framée). De ce fait, on ne peut pas la réafficher telle qu'elle se présentait à l'origine.

Les choses vont encore plus mal si l'internaute désire garder trace du jeu de cadres qui s'affiche dans la fenêtre de son navigateur, et entend reconstituer cet affichage ultérieurement, car cela pose un problème de fond qui n'a jamais été résolu. Pour garder complètement trace d'une page HTML insérée dans un système de cadres, il faudrait enregistrer : l'adresse de la page affichée dans chaque cadre, l'adresse du frameset, et repérer dans quel cadre chaque page doit s'afficher. Toutes ces informations sont indispensables, parce que le contenu de chaque cadre peut varier à partir de l'affichage initial indiqué du jeu de cadres, comme le montre l'exemple de la figure 1. Or il n'existe rien dans le HTML qui permettre de stocker ces informations, ou de les reconstituer en cas de besoin.

Il en résulte qu'il est toujours possible d'enregistrer l'adresse d'une page web, même si elle est affichée dans un jeu de cadres, mais il est impossible de la réafficher telle qu'elle se présentait. Le navigateur auquel on fournit une adresse URL ne peut pas savoir que la page correspondante était affichée dans un jeu de cadres ; il ne dispose pas des informations qui lui permettrait de reconstruire ce jeu, et il ignore tout des autres pages qu'il faudrait afficher dans ces cadres. La page demandée est donc affichée seule  : tant pis pour l'internaute qui se trouve privé des informations qui se trouvaient dans les autres cadres -- du moyen de naviguer dans le site auquel appartient la page, par exemple.

On peut admettre que les informaticiens de la société Netscape, lorsqu'ils ont conçu les cadres, n'aient pas mesuré toutes les conséquences de leur action : quand on innove, on ne peut songer à tout. Mais que le W3C, gardien du temple HTML, ait enregistré les cadres tels quels, sans chercher de solution au problème précité alors que celui-ci commençait à être bien connu, laisse pantois. A quoi sert, en définitive, cet organisme de concertation et de normalisation ?
 

Le dilemme des moteurs de recherche

Les robots ("spiders") des moteurs de recherche parcourent le web et "aspirent" les pages HTML pour en récupérer le texte et l'indexer. Ils ignorent les balises, à l'exception de celles qui contiennent des liens (<A...>). Certains moteurs (AltaVista, Google, NorthernLight) extraient également les liens contenus dans les balises <FRAME> du frameset, mais d'autre les ignorent (Excite, Inktomi, Go) ou les traitent partiellement (Lycos). Pour eux, le frameset est un cul-de-sac dans lequel ils ne trouvent pratiquement rien à indexer. Certains responsables des moteurs de recherche mettent régulièrement en garde les concepteurs de sites sur le fait que les pages encadrées (framées) ne sont pas vues de leur robot, et ne sont donc pas indexées par leur moteur. Les webmestres sont très sensibles à ce problème d'indexation, car il conditionne en grande partie la fréquentation de leur site, donc à terme son existence même.

Le principal danger des cadres :

Les pages web qui s'affichent dans les cadres ne sont pas indexées par tous les moteurs de recherche. C'est l'audience du site qui en souffre, et c'est le premier reproche que font les webmestres au système des cadres.

Le palliatif qui consiste à utiliser une méta-balise du frameset pour fournir aux moteurs de recherche un nombre appréciable de mots-clés, ne fonctionne qu'imparfaitement. D'abord, cette liste ne peut s'allonger indéfiniment : certains moteurs tronquent au-delà de 1024 caractères. Ensuite, tous les moteurs ne lisent pas les méta-balises. Enfin, les mots-clés rassemblés dans la méta-balise ne se retrouvent pas dans la page : comme la répétition d'un même mot-clé est l'un des critères de classement utilisés par les moteurs de recherche, la page sera mal classée. Autant dire qu'elle ne sera pas retrouvée : quand un moteur annonce 3000 réponses à une question, il n'en affiche que 200, et l'internautes n'en lit que quelques dizaines tout au plus.

On peut tout à fait concevoir qu'à l'avenir tous les robots soient programmés de manière à récupérer parfaitement les liens contenus dans les balises <FRAME...> d'un frameset, mais pour l'instant il n'en est pas ainsi. La situation a peu de chances d'évoluer, parce que les concepteurs de sites sont démunis de moyens de pression sur les opérateurs des moteurs de recherche, et que ces derniers ont déjà assez à faire pour parcourir les centaines de millions de pages qui se trouvent sur le web, pour ne pas vouloir en plus s'occuper de cadres dont la popularité ne va pas grandissant. Peut-être hésitent-ils à indexer des pages encadrées, sachant que le lien qu'ils vont créer ne permettra pas de réafficher la page dans son jeu de cadres, et que l'internaute risque de pester contre le résultat obtenu.

La seule solution valable consiste, pour un gestionnaire de site, à dédoubler les pages "encadrées" par des pages qui ne le sont pas, et qui seront de ce fait visitées normalement par les moteurs de recherche. Nous verrons plus loin qu'il y a au moins une autre bonne raison pour agir ainsi.
 

Les mauvaises manières des navigateurs...

Faites l'expérience suivante : ouvrez une page du CERIG contenant des cadres, puis servez-vous de l'index situé dans le cadre du bas pour modifier l'affichage dans le cadre du haut. Comme vous pouvez le constater, l'URL qui s'affiche dans le champ "Adresse" du navigateur ne change pas. Cet URL correspond au frameset initial, et n'a plus qu'un lien lointain avec ce qui est affiché. Les internautes chevronnés connaissent ce piège, mais les débutants ne comprennent pas ce qui leur arrive. Le comportement des éditeurs de navigateur, qui rencontrent ce problème depuis des années, et ne font rien pour y remédier, est scandaleux.

Mais ce n'est qu'un début ! La procédure générale, qui permet de garder trace d'une page encadrée grâce à un signet (Netscape) ou favori (Internet Explorer), enregistre l'URL du frameset, et non celle de la page encadrée intéressant l'internaute (faites l'expérience avec la page précitée du CERIG). Si vous avez modifié l'affichage du frameset initial, et si vous voulez garder trace d'une des pages actuellement affichées, il vous faut suivre une procédure particulière :

    si vous utilisez le navigateur de Netscape, faites un clic droit (PC) dans le cadre qui vous intéresse, et choisissez la fonction "Ajouter un signet" ;
  si vous utilisez le navigateur de Microsoft, faites un clic droit (PC) dans le cadre qui vous intéresse, et choisissez la fonction "Ajouter aux Favoris...".

Continuons ! Vous voulez imprimer tout ou partie de la fenêtre de votre navigateur, laquelle contient des cadres ? Faites bien attention à ce que vous faites ! Ainsi :

   si vous utilisez le navigateur de Netscape, sélectionnez le cadre qui vous intéresse en cliquant dedans, puis utilisez la fonction "Imprimer le cadre...". Sauf erreur de ma part, vous n'avez pas la possibilité d'imprimer la totalité de la fenêtre. Remarque : le cadre sélectionné est entouré d'un léger trait bleu, ce qui permet de le repérer facilement (merci à Netscape) ;
si vous utilisez le navigateur de Microsoft, utiliser la fonction "Fichier / Imprimer...". La boite de dialogue qui s'ouvre vous propose trois options : "Tel qu'à l'écran" (qui imprime toute la fenêtre), "Le cadre sélectionné seulement", et "Tous les cadres individuellement". Cette fois, vous êtes bien servi (merci à Microsoft).

Pour terminer, examinons ce qui se passe lorsque nous voulons rafraîchir l'affichage :

    dans le navigateur de Netscape, la fonction "Recharger" réaffiche... le frameset dans son état initial ! Pour rafraîchir la page web affichée dans un cadre, il faut faire un clic droit de la souris (PC) dans ce cadre, et utiliser la fonction "Recharger le cadre" ;
  dans le navigateur de Microsoft, la fonction "Actualiser" rafraîchit toute la fenêtre du navigateur. Un clic droit de la souris, suivi du choix de la fonction "Actualiser", rafraîchit le cadre correspondant.

On ne peut pas dire que les éditeurs de navigateurs aient fait un effort démentiel pour que l'internaute qui voit s'afficher des cadres comprenne clairement ce qui lui arrive. Les cadres n'étant plus en odeur de sainteté, il y a peu de chances pour que cette situation change prochainement.

Décidément, je suis bien mauvaise langue ! La version 5.5 d'Internet Explorer (disponible en français depuis le milieu de l'année 2000), règle le problème. Si vous enregistrez le favori d'une page contenant des cadres, le navigateur de Microsoft garde en mémoire tout ce qu'il faut pour vous la restituer parfaitement. Faites l'expérience avec une page du Cerig contenant des cadres : après avoir modifié l'affichage initial en choisissant une lettre autre que A, enregistrez un favori, fermez votre navigateur (pour vider le cache), relancez-le, et cliquez sur le favori. Cela marche ! à condition que vous ayez la dernière version d'Internet Explorer (5.5). Euh... n'oubliez pas de revenir sur cette page pour lire la suite.

Ceci dit, le problème du fonctionnement des liens hypertextes vers des pages encadrées autres que celles du frameset initial reste entier.
 

... et celles de certains webmestres

Pour que vous ne quittiez pas leur site, certains webmestres font en sorte que les pages correspondant aux liens qu'ils citent s'affichent dans le cadre d'une de leurs pages. On vous fournit des liens, certes, mais on vous garde au chaud. Une telle façon d'agir n'est, à notre avis, ni très correcte, ni très conforme à l'éthique du net. Si vous ne voulez pas que l'internaute quitte votre site en cliquant sur un lien (lui-même souhaite peut-être rester !), faites en sorte que la page à laquelle mène le lien s'ouvre dans une nouvelle fenêtre. Ainsi, la vôtre restera présente sur l'écran de l'internaute, qui finira bien par s'en apercevoir.

Il y a des cas où les intentions du concepteur de site sont vraiment malhonnêtes. Vous créez une page avec trois cadres, vous bourrez celui du haut de bandeaux publicitaires, celui de gauche de liens vers des pages appartenant à un site concurrent à forte fréquentation, et vous faites en sorte que les pages correspondantes s'affichent dans le cadre de droite. Vous vous faites ainsi des recettes publicitaires au détriment de votre collègue. Aux États-Unis, un tribunal vous condamnera, au nom d'une jurisprudence qui semble déjà bien établie. En d'autres pays, il en sera bientôt de même.
 

Les cadres, ces mal aimés des internautes

Après tout ce que nous venons d'écrire, personne ne s'étonnera qu'une fraction notable des internautes évite les cadres chaque fois que l'occasion leur en est donnée. Une expérience menée par le CERIG permet d'appréhender quantitativement ce phénomène. À la fin du mois de novembre 1999, le CERIG a modifié la charte graphique des pages de liens consacrés à l'imprimerie française, et en a profité pour ajouter une option "Avec cadres" à la présentation initiale qui n'utilisait pas de cadres. Une statistique effectuée sur 250 requêtes montre que 40% des visiteurs préfèrent l'option "sans cadres". Ce chiffre doit être manié avec prudence, car il concerne une expérience qui ne fait que commencer, et qui révèle des variations importantes d'une semaine sur l'autre. Néanmoins, il explique pourquoi les concepteurs de sites prudents offrent l'alternative "Frames / No frames" aux internautes   : on ne peut pas impunément heurter les desiderata d'une fraction notable de son public !

Pourquoi 40 % environ des internautes évitent-ils les cadres ? La raison n'est pas technique, car rarissimes sont aujourd'hui les internautes dont le navigateur n'affiche pas les cadres, comme nous l'avons déjà expliqué plus haut. La vraie raison est pratique : l'internaute craint d'enregistrer de faux signets (ou favoris), il redoute les problèmes d'impression, il voudrait bien sortir d'un cadre mais ne sait pas toujours comment faire, ou bien un script l'en empêche... Il se peut également que l'internaute soit rebuté par les cadres pour des raisons esthétiques, ou qu'il redoute que la version "avec cadres" ne soit plus longue à charger.

En France, les concepteurs de sites aiment toujours les cadres, comme le montre une enquête effectuée par le CERIG à partir de ses pages de liens "imprimerie". Sur 435 adresses, 150 ont été sélectionnées au hasard, et ont fourni les pourcentages de sites suivants :

    47 % ne contiennent pas de cadres ;
  38 % contiennent deux cadres. La séparation verticale est présente dans les 3/4 des cas ;
  15 % contiennent trois cadres. La séparation en un cadre haut, un gauche et un droit est la plus fréquente (plus de la moitié des cas).

Une fraction notable des sites utilisant des cadres s'en sert dès la page d'accueil, et rarissimes sont les sites qui offrent à l'internaute le choix "Avec ou sans cadres". Ceci montre que, si la technique des cadres est apparemment en perte de vitesse aux États-Unis, le même phénomène ne s'est pas encore manifesté en France. Cet effet peut sans doute être attribué au décalage de quelques années que l'on constate entre les deux pays en ce qui concerne le développement technologique.
 

Du bon usage des cadres

Ayant fait le tour des problèmes soulevés par l'emploi des cadres dans les pages web, nous pouvons maintenant essayer de formuler quelques conseils pour les utiliser le mieux (ou le moins mal) possible. Il faut :

    user des cadres avec modération et à bon escient ;
  laisser le choix à l'internaute (avec ou sans cadres) ;
  permettre à l'internaute de redimensionner les cadres s'il le désire ;
  aider l'internaute qui arrive directement sur une page qui, étant destinée à être encadrée, se trouve privée de son environnement ;
  permettre à l'internaute d'extraire une page (normalement encadrée) du jeu de cadres s'il le désire ;
  éviter d'encadrer les pages web des autres sites dans une page de cadres de son propre site ;
  aider l'internaute à extraire une page (non destinée à être encadrée) du cadre où elle se trouve piégée.

Bref, il faut être raisonnable dans l'usage des cadres et courtois vis à vis de l'internaute -- ce qui est très difficile, je vous le concède.

1- User des cadres avec modération et à bon escient. Il ne faut pas, à notre avis, utiliser les cadres sur la totalité d'un site. En particulier, il faut éviter d'en introduire dans la page d'accueil, qui doit rester simple et se charger rapidement. Les cadres sont utiles pour scinder une longue liste à l'aide d'un index, et c'est la raison pour laquelle le CERIG a choisi sa liste de 340 liens relatifs à l'imprimerie (cette liste s'allonge régulièrement depuis que ces lignes ont été écrites) pour faire son essai d'utilisation des cadres. L'index s'affiche en bas de page dans un cadre de faible hauteur. La disposition horizontale a été choisie parce qu'elle permet de loger facilement les 26 lettres de l'alphabet.

La lourdeur des cadres :

La gestion de l'option "Frames/No Frames" alourdit le travail de création et de maintenance des pages web. De nombreux responsables de sites web abandonnent les cadres pour cette raison.

2- Ne pas contraindre l'internaute à entrer dans un jeu de cadres. Tout le monde n'aime pas les cadres, tant s'en faut ! Si vous ne voulez pas rebuter une partie des internautes qui vient visiter votre site, n'imposez pas une technologie discutée. Le choix "avec ou sans cadres", ou le bouton "I hate frames !", doivent être la règle. Évidemment, cette double présentation coûte du temps : il faut faire deux maquettes de page, transporter les données des pages sans cadres aux pages avec cadres par copier/coller, effectuer les ajouts et corrections deux fois, contrôler que les pages avec cadres et les pages sans cadres contiennent bien la même information, et modifier éventuellement tous les liens externes (voir plus loin). Ne pas assurer l'option "frames / no frames" est coûteux en audience, mais l'assurer est coûteux en temps.

L'attribut NORESIZE

L'usage de cet attribut devrait être sévèrement puni ! Hors motif esthétique, l'internaute doit pouvoir modifier le jeu de cadres qui s'affiche dans la fenêtre de son navigateur.

3- Laisser l'internaute redimensionner les cadres. Sauf exception rare, l'internaute doit absolument pouvoir redimensionner les cadres : pour gagner de la place, pour cacher une pub désagréable, pour utiliser des caractères plus grands, pour favoriser l'affichage de l'information utile au détriment de celle qui ne l'est pas, etc. Quelle que soit la raison, l'internaute doit être et rester maître de la fenêtre de son navigateur. Prendre, de manière plus ou moins poussée, le contrôle de cette fenêtre est contraire à la déontologie du web, et va provoquer colère et dégoût chez l'internaute. Ceci dit, si votre but est d'indisposer et de faire fuir les visiteurs de votre site, usez et abusez des cadres fixes : c'est une excellente solution.

Il arrive que l'on soit obligé, pour assurer un certain aspect esthétique à la fenêtre, de masquer la séparation entre deux cadres. Or une séparation qui n'est pas matérialisée ne peut pas être déplacée. Il ne faut donc pas abuser de cette pratique.

4- Aider l'internaute à rétablir le jeu de cadres. Vous êtes un internaute chevronné. Vous avez correctement enregistré le signet d'une page encadrée, et vous voulez l'utiliser. Vous affichez alors une page hors du cadre dans lequel elle est prévue, ce qui risque de la priver de ses éléments de navigation. Vous retrouvez votre information, certes, mais vous ne pouvez pas naviguer dans le site que vous venez d'atteindre. La solution à ce problème - si le créateur du site n'a pas prévu cette situation - consiste à tronquer progressivement l'URL de la page, avec l'espoir d'afficher une page du site située à un niveau hiérarchique supérieur (voire la page d'accueil elle-même), et de retrouver ainsi le moyen de naviguer.

Pour aider l'internaute, vous pouvez doter chaque page encadrée (framée) :

    d'un élément de navigation permettant de revenir au frameset initial. Si vous n'avez pas abusé des cadres, l'internaute ne se trouve sans doute pas transporté trop loin de la page qui l'intéresse. Il va y revenir rapidement, et vous saura gré de l'avoir aidé à replacer ladite page dans l'environnement de cadres qui lui convient. Cette solution est imparfaite, mais elle a le mérite de ne pas être lourde à mettre en œuvre. C'est elle qui a été choisie par le CERIG pour son essai de cadres  ;
  d'une petite phrase expliquant la situation ("cette page devrait être présentée dans des cadres ; si ce n'est pas le cas, cliquez ici"), et réaffichant la page dans son environnement normal. C'est très gentil vis à vis de l'internaute, mais c'est lourd à gérer. Car il faut créer un frameset distinct pour chaque affichage possible... Les créateurs de sites vraiment courageux existent, puisque la petite phrase précitée se rencontre parfois sur le web ;
  d'un petit programme en JavaScript (quelques lignes suffisent), réaffichant systématiquement la page dans le frameset qui lui convient. C'est la pire des méthodes, car elle cumule la lourdeur de la solution précédente, avec l'inconvénient d'empêcher l'internaute qui le désire de sortir la page du jeu de cadres -- ce qui nous amène au point suivant.

5- Ne pas "encadrer" l'internaute de force. L'internaute peut avoir une bonne raison pour extraire une page du jeu de cadres dans lequel elle est présentée (pour prendre connaissance des informations dans la plus grande fenêtre possible, par exemple, ou pour enregistrer le signet de la page, etc.). Ne l'en empêchez pas ! L'internaute doit rester maître de ce qu'il fait dans la fenêtre de son navigateur. Il ne faut donc pas rajouter de programme en JavaScript réaffichant de force la page dans son jeu de cadres.

6- Ne pas encadrer les pages des autres sites. Ce n'est pas fair play, c'est désagréable pour l'internaute, cela peut vous conduire en justice, nous en avons déjà parlé. Si vous ne voulez pas que votre site disparaisse de l'affichage quand l'internaute clique sur un lien externe, faites en sorte que les liens externes s'affichent dans une nouvelle fenêtre.

7- Aider l'internaute prisonnier d'un cadre à s'échapper. Tous les concepteurs de sites ne sont pas corrects. Le malheureux internaute qui visite vos pages est peut-être prisonnier du jeu de cadres d'un autre site, et il se peut qu'il ne sache pas comment faire pour en sortir. Certains concepteurs de sites poussent la bonté jusqu'à aider leur visiteur à se "déframer" si besoin est. Vous avez le choix entre deux méthodes, qui consistent à inclure dans chacune de vos page web :

    une petite phrase cliquable, du type "Caught in a frame ? Escape !". Le lien correspondant permet de réafficher la page hors du jeu de cadres ;
  un petit programme en JavaScript (une seule ligne, qui peut être placée dans la balise BODY), qui teste la présence d'un jeu de cadres et déclenche le réaffichage de la page le cas échéant. N'utilisez jamais cette solution ! La plupart des navigateurs sont bogués de telle sorte que cette malheureuse ligne de code empêche l'icône "Précédent" de fonctionner normalement. Pour revenir en arrière, il faut utiliser la liste déroulante qui est associée à l'icône "Précédent" (IE), ou la fonction "Aller" du menu (Netscape), revenir à l'avant-dernier site consulté, puis avancer de nouveau d'un cran grâce à l'icône "Suivant". La plupart des internautes ne connaissent pas cette manœuvre ; quand ils découvrent que l'icône "Précédent" ne fonctionne pas, ils pensent que vous faites exprès de les piéger dans votre site. Ils vous maudiront (ce n'est pas grave...), et ne reviendront jamais vous visiter (c'est désastreux !).

Force nous est d'avouer qu'au CERIG, nous n'avons pas jusqu'à présent poussé la bonté jusqu'à aider nos visiteurs piégés dans les cadres de certains de nos confrères (ah ! les coquins). Mais nous y songeons sérieusement...
 

Conclusion

Pour le web, les cadres constituent une innovation intéressante, mais pas une révolution. Par ailleurs, cette technologie a joué de malchance : elle été mal introduite dans le HTML, les pages contenant des cadres ne sont pas traitées par les navigateurs avec toute la clarté nécessaire, et les concepteurs de sites ne font pas toujours des cadres le meilleur usage. Il en résulte qu'une fraction notable des internautes (40% selon le résultat initial d'un test effectué par le CERIG) n'aime pas les cadres. Les concepteurs de sites soucieux de leur audience s'appliquent à donner à l'internaute le choix  entre des pages avec ou sans cadres, ce qui alourdit leur tâche en regard d'avantages plutôt modestes. Il en résulte que de nombreux webmestres finissent par se lasser, et abandonnent progressivement l'usage des cadres. Les moyens d'un site web, en effet, ne sont pas inépuisables, et ceux que l'on consacre à la présentation ne sont plus disponibles pour le contenu. Or l'internaute ne visite pas un site pour admirer des cadres, mais pour y trouver l'information qu'il recherche.

Les cadres, donc, doivent être utilisés avec parcimonie et à bon escient ; mieux vaut les éviter sur la page d'accueil du site. Il faut permettre à l'internaute de redimensionner les cadres chaque fois que les séparation sont visibles, et toujours donner le choix entre une présentation avec cadres et une présentation sans cadres.

Les cadres, certes, ne vont pas disparaître du web du jour au lendemain. Mais leur usage va en diminuant, et si rien n'est fait pour corriger les principaux défauts du système des cadres, ces derniers constitueront à terme une technologie marginale.
 

Référence bibliographique

* Lynda Weinman.
   Conception graphique des sites web (Campus Press, troisième édition, 1999)

Note précédente Liste des notes Page technique  Note suivante 
 
Accueil | Technique | Liens | Actualités | Formation | Emploi | Forums | Base
 
Copyright © CERIG/EFPG 1996-2002
Mise en page : J.C. Sohm