pour mieux organiser ses paragraphes avec les float et tout je pense, enfin bon personnellement je m'en fou un peu je les met hors des <p> sauf quand vraiment je dois tout bien caser.
Je ne crois pas qu'il s'agisse d'une erreur de Mathieu Nebra ; c'est indiqué à la fois sur le livre, et sur le site. C'était le cas dans l'ancienne version du cours XHTML, c'est toujours le cas dans la version mise à jour HTML5.
Maintenant si ce n'est pas une règle appliqué sur ce présent, je ne comprends pas trop... "Fais ce que je dis, fais pas ce que je fais" ?
Car dans le cours, il dit pas que c'est recommandé ou que ça peut aider, il dit que c'est obligatoire :
"Les images doivent se trouver obligatoirement à l'intérieur d'un paragraphe (<p></p>)."
Le passage de ce cours est ici, au titre "insertion d'une image.
Bonjour,
Il se trouve que Mathieu précise ceci pour les débutants et surtout, pour éviter qu'il n'y ai de quelconque bug dans leurs codes. La plus part du temps, tu ne l'utiliseras pas mais le faire est une bonne habitude à prendre ! Surtout si tu as beaucoup de texte sur ta page. Sachant que dans son exemples il y a du texte, il utilise les balises paragraphes. Personnellement, je les utilises rarement. Mais au début c'est toujours bien de s'en servir pour n'importe qu'elle contenue !
Je ne vois en quoi ça aide les débutants de donner des informations fausses. C'est comme d'enseigner la mise en page en tableau avant de passer aux div, "parce que c'est plus simple". Non. C'est juste faux.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
portion de texte, de volume varié, signalée en son début par un renfoncement (ou indentation), c'est-à-dire par un retrait de la ligne par rapport à la justification du texte manuscrit ou imprimé. Ce début en retrait de la première ligne d’un paragraphe est appelé aussi « alinéa », terme qui, par extension, peut désigner le paragraphe lui-même.
Donc si l'image a pour vocation d'être présente dans un texte on pourra la mettre dans un paragraphe.
Sinon alors on la placera dans l'élément le plus adapté.
Ce n'est pas parce que vous ne savez pas vous servir d'un marteau qu'il faut planter des clous au tournevis.
Pour que le code soit valide suivant les spécifications du W3C, en XHTML, les images (de type "inline") doivent être obligatoirement contenues entre des balises de type "Bloc" comme c'est le cas des balises de paragraphe.
Pour que le code soit valide suivant les spécifications du W3C, en XHTML, les images (de type "inline") doivent être obligatoirement contenues entre des balises de type "Bloc" comme c'est le cas des balises de paragraphe.
Si, c'est une erreur puisque la paragraphe n'est pas la seule balise de type bloc existante.
Ce n'est pas parce que vous ne savez pas vous servir d'un marteau qu'il faut planter des clous au tournevis.
Ah !
Donc non il n'est pas obligatoire que <img> soit dans <p>, mais il est obligatoire que <img> soit dans un bloc ? De même que tous les éléments en ligne doivent l'être ?
Du point de vue de la spéc <body> n'est ni bloc ni en-ligne on dirait
C'est logique, l'élément body n'appartient à aucun modèle de contenu.
Citation : nightmat
il se comporte comme un bloc ça c'est certain
On parle alors d'un élément de rendu block
Cette catégorisation %block et %inline disparait de HTML5, celui-ci classe les éléments selon leurs sémantiques (body est par exemple considéré comme un sectioning root). Ces éléments se trouvent également dans des groupes d'appartenances qui servent à définir des modèles de contenus et donc déterminer les imbrications autorisées.
je déterre le sujet car 5 ans après, le tuto (la phrase en question tout du moins) n'a pas changé d'un poil et fait que j'atterris ici...sans d'ailleurs réellement comprendre la "solution" apportée.
Idéalement et en tant qu'apprenant, j'aimerais voir dans le tuto une raison apparaître derrière le fameux "Les images doivent se trouver obligatoirement à l'intérieur d'un paragraphe (<p></p>)."
Ou alors voir cette phrase supprimée et ainsi ne pas m'embrouiller la tête avec des questions potentiellement inutiles.
---
Edit avec la suite de la leçon plus bas:
Je ne vois pas vraiment de changement. Quand dois-je placer mon image dans un paragraphe et quand dois-je la placer dans une figure ?
Bonne question ! Tout dépend de ce que votre image apporte au texte :
Si elle n'apporte aucune information (c'est juste une illustration pour décorer) : placez l'image dans un paragraphe.
Si elle apporte une information : placez l'image dans une figure.
La balise <figure>a un rôle avant tout sémantique. Cela veut dire qu'elle indique à l'ordinateur que l'image a du sens et qu'elle est importante pour la bonne compréhension du texte. Cela peut permettre à un programme de récupérer toutes les figures du texte et de les référencer dans une table des figures, par exemple.
J'arrive ici des années après car je me suis posée la même question et je comprends pourquoi le cours reste inchangé.
Donc au cas où quelqu'un d'autre arriverait jusqu'ici :
A ce moment du cours (Partie 1, Chapitre 6, "Insérez des images"), Mathieu n'a pas encore introduit les notions "inline" et "block". Ces notions ne sont introduites que dans la Partie 2, Chapitre 1, "Mettez en place le CSS". Il est donc logique que par soucis de simplification Matthieu indique à ce moment là la balise block <p> qu'on vient juste d'apprendre.
La notion est ensuite entièrement expliquée dans la Partie 3, Chapitre 2, "Découvrez le modèle des boîtes" avec l'explication finale : "une balise de type inline se trouve obligatoirement à l'intérieur d'une balise block." Et quelques chapitres plus loin, dans le "TP : Créez un site pas à pas", Mathieu place des <img /> dans diverses balises block, entre autre <div/>, <h1> et <p>.
Le cours n'est donc pas faux, il est simplement très bien construit dans son approche progressive pour des débutants.
Je suis pour enseigner des choses pas vraiment exactes pour qu'elles soient compréhensibles (exemple : le modèle des "couches" des électrons de l'atome en physique, parce que la physique quantique en collège, oué, c'est compliqué), mais là… franchement rien d'inconcevable, d'inexplicable facilement. Le cours *est* faux depuis HTML5, depuis le 22 juin 2012.
La phrase précise du cours est :
Les images doivent se trouver obligatoirement à l'intérieur d'un paragraphe (<p></p>).
Si c'était pour enseigner la différence entre block et inline, dans ce cas, il aurait fallu dire quelque chose comme :
Pour l'instant, nous allons placer nos images à l'intérieur d'un paragraphe (<p></p>), afin de les séparer du reste du texte.
Ici, ce n'est pas le cas. À aucun moment.
Non, c'est juste 1) faux (et ça l'a toujours été, cette contrainte précise n'a jamais existé dans le HTML), 2) obsolète, puisque la notion de block et inline n'est que dans le CSS depuis des années. C'est juste… pas mis à jour, depuis des années.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Je me permets de répondre pour éviter que des personnes soient induites en erreur par votre commentaire. Votre phrase de remplacement est fausse, le but n'est pas de séparer l'image du reste du texte, une image peut tout à fait être en plein milieu d'un paragraphe de texte.
Ceci n'est pas un débat, c'est une page d'aide. Je n'irai pas plus loin dans la conversation, j'ai exprimé ma compréhension du sujet, qui est différente des messages postés précédemment, et qui me semble utile pour aider d'autres personnes. Je ne vois pas l'utilité, contrairement à vous, de faire un post supplémentaire qui n'apporte rien à ce qui a été dit précédemment. Si vous pensez pouvoir faire mieux que Matthieu je vous suggère de créer votre propre site de cours.
Si vous pensez pouvoir faire mieux que Matthieu je vous suggère de créer votre propre site de cours.
Alors c'est marrant, parce que c'est justement ce qu'elles et ils ont fait. Et en tant que professionnels du milieu, nous sommes nombreux à en plébisciter la qualité des cours et à louer la démarche bien plus communautaire et ouverte du site, en plus d'y participer nous-mêmes pour les améliorer régulièrement. Et quand bien même si ça n'avait pas été fait, ce n'est pas un argument recevable.
Du reste, Lamecarlate n'a pas voulu dire qu'une image devait être séparée d'un texte ; sa phrase de remplacement sert à indiquer que dans le cas où on aurait ça :
<p><img src="" alt></p>
Alors dire qu'on le fait pour séparer l'image du reste du texte serait bien plus pertinent. Et je suis d'accord également avec elle pour dire que non, ce cours est loin d'être bien construit ; pour preuve, on est très régulièrement obligé d'expliquer aux gens qui l'ont suivi que non, on n'est pas obligé de mettre une image dans un paragraphe, parce qu'à aucun moment le cours ne déconstruit cette affirmation. Il ne s'agit donc pas d'un "processus" d'apprentissage, mais simplement d'une erreur, qui a été signalée plusieurs centaines de fois.
C'est d'autant plus évident qu'il suffirait de ne PAS dire ça pour que ce soit plus simple pour un débutant. Et ayant moi-même été formateur en web pendant près de 5 ans, aucun de mes élèves n'a jamais cru qu'il était nécessaire de mettre une image dans un paragraphe. Parce que ça n'a juste aucun sens.
Alors on peut discuter deux heures sur la meilleure tournure de phrase à adopter, mais une chose est certaine : il est absolument faut de dire qu'une image doit être insérée dans une balise paragraphe.
- Edité par EmmanuelBeziat 27 octobre 2019 à 18:46:11
Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !
L'apprentissage doit-il se faire dans les détails ou survoler globalement les choses puis affiner parla suite ?
Faut-il enseigner à un enfant du primaire qu'un nombre ne peut être négatif durant sa scolarité pour qu'il apprenne à son entrée au collège que ce n'est pas le cas.
Faut-il enseigner à un collégien qu'un nombre multiplié par lui-même ne peut être négatif, partir sur cette base un certain nombre d'année pour lui apprendre au bout du compte que cette affirmation est fausse.
En réalité,je pense qu'un élève au bout du compte doit pouvoir extrapoler ce qu'on lui enseigne et ne pas rester sur ses acquis : si un sage vous montre la lune, tout enseignant espère que vous n'allez pas rester à observer son doigt.
Donc je suis POUR dire que "une image doit être insérée dans une balise paragraphe" pour pouvoir nuancer par la suite : c'est UN cours de html, ce n'est pas LE cours de html
Mais encore une fois, le cours ne nuance pas par la suite.
Et il n'est pas plus compliqué pour quelqu'un de comprendre qu'une image peut s'insérer dans n'importe quelle balise que seulement dans un paragraphe. Oui, mettre de côtés certains aspects trop complexes pour un débutant est une méthode pédagogique. Mais il n'y a rien de complexe à éluder ici.
Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Développement productif par l'informatique de votre entreprise
Développement productif par l'informatique de votre entreprise
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !
Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !