Accueil » Articles » Apprenez à coder en HTML et en CSS !

Apprenez à coder en HTML et en CSS !

CHAPITRE 10 : LES FORMULAIRES

Introduction aux formulaires

Les formulaires sont certainement le moyen le plus simple et le plus utilisé pour recueillir des données à propos de vos utilisateurs. En cela, ils sont essentiels et incontournables.

Cependant, nous touchons là aux limites du HTLM. En effet, si l’on peut créer des formulaires en HTML, en ne peut pas en revanche stocker ni utiliser les données du formulaire avec ce langage. Pour cela, nous devrons utiliser d’autres langages comme le PhP et le MySQL par exemple.

Mais voyons déjà comment créer un formulaire : cela vous fera une très bonne base si vous souhaitez pousser plus loin votre apprentissage des langages de programmation.

Créer le squelette de notre formulaire

Pour créer notre formulaire, nous allons devoir tout d’abord utiliser l’élément form avec deux attributs : method et action.

L’attribut action, tout d’abord, va servir à indiquer où les informations recueillies dans le formulaire doivent être envoyées pour être traitées. Ce sera généralement vers une page PhP. Comme nous ne savons pas encore coder en PhP, il faudra l’imaginer pour le moment.

L’attribut method va lui spécifier de quelle manière on va envoyer ces données. On peut choisir entre deux valeurs : GET et POST. En utilisant la valeur get, les données vont transiter via l’URL de la page ce qui ne sera pas le cas si l’on utilise la valeur post.

Il faut savoir que la valeur get est assez limitée par rapport à post. En effet, avec get, on est limité dans le nombre d’informations que l’on peut envoyer et surtout les informations sont visibles lors de l’envoi, ce qui est problématique si l’on envoie un mot de passe par exemple.

C’est pourquoi je vous conseille de plutôt utiliser la valeur post, qui ne possède pas ces inconvénients.

Ebauche de formulaire

Créer un formulaire simple

Nous allons commencer par créer un formulaire très simple, demandant simplement un pseudo et un mot de passe à l’utilisateur.

Pour capturer des données textuelles simples comme un pseudo par exemple, on utilise soit l’élément input (pour des textes courts), soit l’élément textarea (pour des textes longs).

Dans notre cas, nous allons utiliser l’élément input. Cet élément prend forcément un attribut « type ». La valeur de l’attribut type correspond au type de données demandées. On a le choix entre text, password, date, email, tel, number, time, color et url.

Toutes ces valeurs ont été créées pour des raisons de sémantique. A noter également que l’affichage par défaut de chaque champ de votre formulaire pourra être légèrement différent selon la valeur choisie pour l’attribut type.

Il faut également préciser un deuxième attribut à l’élément input qui est l’attribut name. On lui donnera la valeur que l’on souhaite en essayant de rester cohérent. Cet attribut va nous être très utile pour traiter les données de notre formulaire.

A noter que l’élément input est représenté sous forme d’une balise orpheline.

Creation premier formulaire simple avec input

Il va maintenant falloir indiquer à votre visiteur ce qu’il doit renseigner comme information dans chaque champ. C’est le rôle du label, qu’on va donc ajouter juste avant l’input.

A noter que pour afficher du texte dans un formulaire, il faut entourer ce texte avec un élément de type block. Généralement, on utilisera donc un élément p.

Ensuite, toujours pour des raisons de sémantique, il est bon et conseillé de lier le label à l’input qui lui correspond. Pour cela, on va ajouter un attribut for au label et un attribut id à l’input, et leur attribuer exactement la même valeur. Notez que cette valeur peut être la même que celle donnée à l’attribut name de l’élément input.

Voilà donc pour notre champ « pseudo ». Maintenant, on va faire exactement la même opération pour notre champ mot de passe, à la différence que cette fois on va utiliser un input de type « password ». Cela aura pour effet que les caractères inscrits ne s’affichent pas à l’écran.

C’est tout, notre premier formulaire est prêt !

Notre premier formulaire avec pseudo et mot de passe

Demander un Email, une adresse de site web et un numéro de téléphone à l’utilisateur

Pour demander à l’utilisateur de saisir son adresse mail, il vous faudra utiliser un input de type « email ». Cela permet à votre navigateur de savoir qu’il doit normalement recevoir une adresse mail.

Si vous souhaitez donner la possibilité à vos utilisateurs de laisser un lien vers leur site Internet, vous devrez utiliser un input de type « url ».

Si, enfin, vous voulez que l’utilisateur renseigne son numéro de téléphone, il vous faudra utiliser un input de type « tel ».

Demander un mail, un site ou un numero de telephone avec un formulaire HTML

Créer une zone de saisie multi-lignes

Imaginons que vous vouliez créer un livre d’or pour votre site web, ou tout simplement que vous souhaitiez laisser la possibilité à vos visiteurs de laisser des commentaires, alors vous aurez certainement besoin de créer une zone de texte multi-lignes.

Pour faire cela, on va cette fois-ci utiliser l’élément textarea plutôt que l’élément input. Tout comme pour l’élément input, on va lui attribuer un attribut name et utiliser un label.

Si vous souhaitez modifier la taille de votre champ, vos pouvez évidemment utiliser les propriétés width et height en CSS. Notez que cela fonctionne également pour un élément de type input.

Permettre envoi de texte long avec texarea dans notre formulaire HTML

Cases à cocher, zones d’options et listes

On peut encore agrémenter notre formulaire en proposant à nos visiteurs de choisir une réponse parmi différentes possibilités.

Nous allons voir trois façons de faire cela avec les types checkbox (cases à cocher), radio (zones d’options) et l’élément select (listes déroulantes).

Pour créer une zone de formulaire avec des cases à cocher, il suffit d’utiliser l’élément input avec cette fois-ci un attribut de type checkbox.

Des cases a cocher pour notre formulaire HTML

Cette fois-ci, on écrira le label après l’input afin de bien avoir la case à cocher avant le texte.

Pensez bien également à mettre une valeur différente au name de chaque input afin de pouvoir par la suite identifier quelle case a été cochée.

Si vous le désirez, vous pouvez pré-cocher une case par défaut en ajoutant l’attribut checked à un input.

Precocher une case de notre formulaire HTML avec checked

Pour les zones d’options, on va cette fois-ci utiliser un élément input de type radio.

Notez que cette fois-ci, et dans ce cas uniquement, vous devez donner la même valeur à l’attribut name pour toutes les options à l’intérieur d’une même question.

On utilisera donc en plus un attribut value afin de bien savoir quelle case a été cochée par le visiteur.

Créer des zones options pour notre formulaire HTML

On peut encore une fois utiliser l’attribut checked afin de pré-cocher une case.

La différence entre les cases à cocher et les zones d’options est que le visiteur ne peut choisir qu’une réponse dans le cas des zones d’options, au contraire des cases à cocher où il peut cocher autant de cases qu’il souhaite.

Les listes déroulantes, enfin, s’utilisent généralement lorsqu’il faut faire un choix parmi une longue liste. On ne va cette fois-ci pas utiliser l’élément input mais l’élément select à la place avec ses attributs name et id.

A l’intérieur de cet élément select, nous allons utiliser un élément option pour chaque option de la liste accompagné d’un attribut value.

Enfin, sachez également que l’on peut grouper les options des listes déroulantes sous un dénominateur commun grâce à l’élément optgroup et son attribut label.

Select va nous permettre de creer des listes de choix pour notre formulaire HTML

Cela commence à nous faire un beau formulaire, non ?

Finaliser et envoyer notre formulaire

Nous avons vu l’essentiel de ce qu’il vous fallait savoir pour créer des formulaires en HTML.

Cependant, sachez qu’il existe encore énormément de petites choses à propos des formulaires dont je n’ai pas parlé afin de ne pas surcharger le cours. N’hésitez donc pas à aller vous renseigner !

Parmi ces petites choses, justement, j’aimerais vous parler encore des attributs placeholder, required et des éléments fieldset et legend.

L’attribut placeholder, tout d’abord, sert à donner davantage d’indications sur vos champs à vos visiteurs. Il vous sert à donner un exemple de remplissage de champ.

Utiliser placeholder pour donner des indications sur le remplissage des champs de notre formulaire HTML

Pour rendre une question de votre formulaire obligatoire, vous devrez utiliser l’attribut required.

Attribut required sert a rendre une question de un formulaire obligatoire

Enfin, l’élément fieldset sert à organiser votre formulaire en différentes rubriques. Cela peut être utile si celui-ci devient long. Vous pouvez ensuite donner une légende à chaque rubrique grâce à l’élément legend.

Utiliser les Elements Fieldset et Legend pour grouper les champs d un formulaire HTML

Il est enfin temps d’envoyer notre formulaire ! Pour créer le bouton d’envoi, on va tout simplement utiliser un input de type submit avec un attribut value.

Utiliser un input de type submit pour envoyer notre formulaire HTML

Ca y est, vous savez créer des formulaires ! Il ne vous reste « plus » qu’à apprendre à traiter les données mais pour cela il vous faudra certainement apprendre le PhP !

59 commentaires

  1. Salut pierre j’ai déjà lu certaines de vos vidéos sur youtube et c’est là que je ai connu… honnêtement avec vous j’ai vite appris les bases et c’est pourquoi j’ai cherché votre site… Et je suis sûr qu’en suivant tous vos cours je pourrais me débrouiller, j’apprécie votre travail c’est vraiment une bonne pédagogie que vous suivez et cela aide les débutants comme nous surtout que les cours avec ce genre de méthode est difficile à trouver en français… Bon courage et je vous remercie pour le temps que vous avez pris pour faire ces cours, on sent que vous avez vraiment mis du sérieux

  2. Je tiens à vous remercier et à vous féliciter pour la simplicité et la clarté des tuto. Les videos sont une méthode très utiles et efficace pour apprendre la programmation. Vous êtes méthodique ce qui facilite la compréhension, mais ce que j’ai pas aimé c’est la pagination en fin d’articles. Je crois qu’un menu pour pouvoir accéder à un cour précis serai plus utile si on veut faire une petite révision.
    J’ai parcouru les tuto PHP, c’est génial, vous allez surement avoir du succès donc continuez comme ça, enrichissez la bibliothèque francophone, je sais que gérer un site à long terme et maintenir la même cadence n’est pas si facile que ça.
    J’adore la programmation web et je passe mon temps entre les sites, je suis heureux de tomber sur le votre par hasard en faisant une recherche google sur les fonctions PHP.
    J’utilise wordpress, je serai heureux si vous écriviez des tuto sur ce CMS, notamment la création d’un thème en utilisant des videos.
    Merci encore Pierre Giraud, bonne continuation.

    • Bonjour,

      Merci beaucoup pour votre commentaire et vos encouragements ! Je prends également note de vos remarques. Merci encore !
      Je vais essayer de faire quelques cours sur WordPress prochainement.

      Amicalement,
      Pierre

    • Bravo Pierre,
      Vos cours sont géniaux. De plus les mots employés par vous sont précis et explicites.
      Merçi et bonne continuation.

  3. Heu… désolé il y a bien un sommaire sur votre site… mille excuses !

  4. Bonjour,
    Votre site est très pédagogique et très bien conçu. Je l’utilise depuis une dizaine de jours. Comme la chronologie des thèmes abordés me convient très bien, j’y reviens chaque jour. Il manque un sommaire pour reprendre la lecture là où je l’avais laissée. Cela éviterait une recherche fastidieuse à la « molette » et améliorerait grandement le confort de l’utilisateur.
    J’ai hâte de découvrir vos œuvres sur PhP et JavaScript… pour le moment je n’est trouvé que des cours « lourding » et indigeste.
    Encore merci !

    • Bonjour,

      Merci pour votre commentaire ! Je réfléchis depuis quelques temps déjà à comment proposer une ergonomie optimale pour les lecteurs tout en gardant un format « blog »… Ce n’est pas si simple que cela, mais j’y travaille !

      Amicalement,
      Pierre

  5. Merci pour ces cours que vous mettez a la porte de tout le monde. Je suis passionne du web comme vous et le tuto me permet de me forme en autodidacte.
    Merci encor

  6. Bonjour,
    votre cour est très impressionnant. Moi je l’adore beaucoup.
    Et j’ai une question, au fait au niveau du css on ne pas créer d’autre papier(fichier)? ou c’est dans le seul papier css (style.css) qu’on a crée qu’ on va mettre tous nos codes css liés à différents pages.

    • Bonjour,

      Merci pour votre commentaire. Vous pouvez créer autant de fichier CSS que vous le souhaitez, le tout étant de ne pas oublier de lier les fichiers CSS voulus aux fichiers HTML.

      Amicalement,
      Pierre

  7. Bonjour Pierre Giraud! C’est cherchant des vidéos sur youtube concernant le HTML / CSS que je suis tombé sur par hasard une de tes vidéos:HTML/CSS. J’avoue que le cours sur HTML/CSS est très pédagogique simple . Je suis sûr qu’avec tes cours je vais savoir coder tout comme toi.

    Merci!

  8. bonjour Pierre,
    je saisi cela peut paraître c..
    mais je ne parviens pas à trouver une adresse mail pour télécharger js bin, lol
    on me renvois systématiquement à node que j’ai téléchargé, et puis … ?

    je suis sur mac maverick,;textWrangler

    merci; A+

  9. Bonjour Pierre,

    Merci infiniment pour vos cours (je suis celui sur le html/css actuellement.
    C’est clair et bien enseigné.

  10. Boivin Christophe

    Bonjour Pierre,

    C’est simple, l’un des meilleur tutoriel (voir le meilleur) pour apprendre HTML et CSS.
    Je commence à peine la construction de mon futur site dédié au Moyen Age.
    J’ai plus appris avec ce tutoriel en quelques heures que d’autres en plusieurs jours.

    Merci

  11. Bonjour Pierre,

    Il se fait tard, mais après avoir regarder tes quelques 4h30 de cours html/css, je ne pouvais pas m’endormir sans te laisser un commentaire. Ton approche pédagogique est tout bonnement incroyable (moi qui passe le concours de prof dans l’année, ça met la pression 🙂 ). Et j’en ai vu des tutos de tout genre, mais je dois dire que rares sont ceux avec une voix aussi agréable à écouter pendant plusieurs heures derrière un écran. Je ne peux que te féliciter pour ton travail en espérant pouvoir suivre tes prochaines vidéos (notamment sur le responsive design). Bon trêves de compliments, tu y prendrais gout…soit certain que je passerai par toi une fois mon site terminé pour prendre un herbergeur qui te rapporte quelques piecettes. Encore bravo et à bientôt.
    Boris

    • Bonjour,

      Merci beaucoup pour ce commentaire qui fait très plaisir à lire, d’autant plus de la part d’un futur professeur (je l’espère !) ! Et merci d’avance pour l’attention quant à l’hébergeur. Bon courage pour la suite !

      Amicalement,
      Pierre

  12. super votre approche – pouvez vous m’envoyer le fichier PDF
    merci
    cordialement
    alain

  13. Bjr mr Pierre avant tout merci pour ce tuto sur comment crée un site avec HTML et CSS encore merci mes j’aimerai avoir aussi la suite de vos vidéo pour ce cour. Je vais m’abonner maintenant sur votre compte youtube et j’espère avoir un liens pour avoir la suite des cours

    Merci

    • Bonjour,

      Vous pouvez trouver toutes les vidéos de mon cours HTML / CSS sur mon site dans l’article relatif, ou sur YouTube. Le cours est complet et toutes les vidéos sont là.

      Amicalement,
      Pierre

  14. Bonjour, et bonne et heureuse année 2015.
    Merci de votre aide pour un grand débutant comme moi. En formation Community Manager depuis 1 mois, j’ai effectivement compris qu’il va m’être utile d’avoir des bases pour gagner du temps avec les développeurs par exemple.
    Vos vidéos sont pédagogiques. Cela fait plaisir quand on trouve quelqu’un qui se met à la portée des autres.
    Pourriez vous en retour m’envoyer le support sur ma boite mail. Je vous écris en parallèle sur pierre.giraud@edhec.com.
    Bien à vous
    OA

  15. Bonjour,

    Tout d’abord une très bonne année à toi. Ensuite un grand merci pour tes tutos qui sont très explicites et très complets. Je me suis abonné à ta chaine Youtube et je vais suivre l’évolution de ton site. si j’ai besoin de ton aide je n’hésiterai pas à faire appel à toi. Encore merci pour tes tutos 😉

  16. Salut Pierre,

    tout d’abord, merci beaucoup pour tes cours et je te souhaite une très bonne et heureuse année. J’espère apprendre le HTML, le CSS et tout savoir sur le PHP via tes cours :). Autrement dit, j’espère que tu nous réserve encore de nombreuses vidéos. 🙂 Je n’ai malheureusement pas eu le doc PDF. Peux-tu me l’envoyer par mail stp ? 🙂

  17. Salut,
    Merci bcp pour tes efforts, je suis débutant et j’ai une petite question concernant le problème d’affichage des accents sachant que j’ai utilisé le metacharset « utf-8 » comme indiqué, et j’ai toujours des points d’interrogations à la place. Peux-tu m’aider sur ce point s’il te plait ?
    N.B. j’utilise un mac ; j’ai testé sur Firefox et Safari (même problème d’accents).
    Merci encore une fois.

    • Bonjour,

      Le meta charset va aider Google (ou Yahoo, etc.) à savoir comment lire ta page. Il n’y aura donc pas de problème d’accent une fois sur le web. Cependant, si tu travailles en local, il faut bien faire attention à ce que ton éditeur soit lui aussi en tuf-8. Par défaut, je sais qu’avec Mac on a droit au format étrange « Mac-Rom »… Il faut donc chercher l’onglet « encodage » dans ton éditeur de texte et fixer ça.

      Amicalement,
      Pierre

      • Mohamed FERSSIWI

        Je te souhaite d’abord une année 2015 pleine de succès dans tes projets.

        Effectivement, j’ai changé dans les préférences de Komodo « Custom encoding » et « Default encoding » à « Utf-8 » j’ai écrasé mes anciens fichiers html mais les « ? » persistent sur firefox et safari même avec un test en ligne !

        Merci bcp !

        • Bonjour,

          Merci, bonne année à toi aussi !

          Si tu utilises Komodo, regarde en bas de ta fenêtre lorsque tu as un fichier ouvert. Tu peux changer l’encodage à partir de là également. Ensuite, normalement, il n’y a plus qu’à enregistrer le fichier et à rafraichir la page si elle était déjà ouverte. Les points d’interrogations devraient disparaitre… en théorie.

          Bon courage !

  18. bonjour et MERCI.

    Super travail, tutos clairs, nets et précis (sans parler de la qualité pédagogique des vidéos).
    Vidéos découvertes par hasard au gré de mes navigations sur le web… maintenant votre site est épinglé dans mes favoris, et je viens le voir régulièrement.
    SUPER
    Philippe

  19. bonjour pierre
    j’essaye de partager sur fbook pour telecharger le pdf mais ca ne marche pas.
    je vous envoies alors un email à pierre.giraud@edhec.com

  20. Salut,
    J ai un soucis je tweet je share mais rien ne passe.j aimerai bien avoir le tuto en pdf ce serait plus utile pr moi.Merci d avance.

  21. Je viens de parcourir rapidement vos tutos,ils sont impecable.Merci de continuer avec cette allure.J;ai aussi le même problème avec un des internautes concernant le téléchargement.Voici mon adresse mail

  22. Salut Pierre,

    Merci beaucoup pour ces tutos très bien conçus !
    Je voulais télécharger le pdf mais malgré un partage sur twitter, et le partage facebook qui ne fonctionne pas, je n’ai pas pu me le procurer.
    Si tu peux faire qqch 🙂

    Merci à toi !

    Deborah

  23. J »ai prix gout aux html et css grace à tes tutos.ces derniers moments, je me suis vraiment accroché à mon ordi pour revoirr agréablement et sans cesse tes tutos.Bon courage et merci.

  24. Juste un grand merci pour toutes ces formations, ce temps passé à nous expliquer (ce que tu fais très bien).
    Un grand MERCI encore et continue c super !!!!!!

  25. Bonjour Mr.Pierre:
    Je voudrais vous remercier pour votre formation si instructive,mais,est-ce à tout ce qu’il y a à savoir dans ces deux langages ? Je veux apprendre plus
    Par exemple,votre formation PhP e SQL sur youtube ,est elle complète ou y a t-il d’autres vidéos à venir ?
    Et pour finr,où pourais-je apprendre plus ?

    • Bonjour,

      Il y a toujours à apprendre ! Mais concernant HTML et CSS, je fais quand même un joli tour d’horizon avec ce cours, donc on peut dire que la formation est « complète ». Concernant mon cours sur PhP et MySQL, celui ci est en cours; et est assez loin d’être terminé !

      Il existe de nombreuses autres ressources pour apprendre à coder, comme le site du w3c par exemple. Je vous laisse chercher sur ce point.

      Amicalement,
      Pierre

  26. Salut Pierre,

    Je viens de terminer cette excellente formation sur le html et le css. Merci de donner de ton temps et de partager tes connaissances! C’est un vrai plaisir de te suivre.
    Je commence de suite ta formation sur le php!

    A bientôt
    Grégory

  27. Bonjour Pierre, je tenais tout d’abord à prendre le temps de vous écrire un petit commentaire de remerciement (ce qui n’est pas dans mon habitude) mais le partage de vos connaissances avec une méthode très fluide comme la votre est vraiment super, vous aidez je pense beaucoup d’étudiants ou autres professionnels, je dois même vous avouer que vous êtes beaucoup plus clair dans vos explications que la plupart des professeurs d’informatique.
    Bonne continuation à vous et à votre travail.

  28. Bjr Pierre , j’ai suivi le cours sur html et css, c’est vraiment très claire et compréhensible, j’ai créer un compte sur youtube mais je ne sais pas comment acédé à vos vidéo étand dans mon compte youtube je vx uniquement suivre vos cours car tu explique clairement et ça m’aide à avancé sur le codage htmal & css.

    Que Dieu vous prolonge la vie bcp des d’années ,afin que d’autre génération soient former par votre expérience.
    MERCI EN TOUT CAS Pierre tu es excellent;

    J’attend impatiemment les cours de langage PHP

    Merci à vous !

  29. j’ai suivi vos cours avec beaucoup d’intérêt. ils sont vraiment très bien agencés, merci bcp!!
    par ailleurs, je ne sais toujours pas comment découper une page comme ta page d’accueil.

    encore merci

  30. Merci Pierre Giraud pour votre formation sur le HTML et le CSS, grâce à vous je suis prêt à attaquer le PHP et le SQL !

    Encore merci !

  31. Bonjour

    Merci, beaucoup pour la presentation, mais est ce tu peux m’aider à telechrger le jsbin pour et l’exemple de la presentation afin de relire l’esempe à tete repose.
    ça urge pour mettre l’evemple en ppratique afin de maitriser bien les cours .
    et est ce que tu as fait les cours de Javascript et PHP Merci d’avance et à bientot

    • Bonjour,
      Impossible de télécharger JsBin : c’est un service offert sur le web sous forme de site web, pas un logiciel téléchargeable. Concernant Js et PhP je suis en train de créer les scripts.
      Amicalement,
      Pierre

  32. fodemoudou kaba

    je suis lnformaticien et je souhaitrais apprendre beaucoup de langage avec pierre car j’aime sa façon d’enseigner c’est un vrai pédagogue

  33. Bonjour,

    Je navigue depuis longtemps sur le WEB pour examiner les tutoriels proposés sur divers sujets.
    Concernant l’apprentissage du HTML et du CSS, je trouve que vos cours sont d’une excellente qualité, même par rapports à des concurrents tels que le site du ZERO qui excelle dans la méthode.
    Bravo les 4 vidéos sont géniales.
    Apres avoir travaillé de longs mois sur ces 2 langages, j’essaie d’aborder doucement le JavaScript.
    Qui vivra verra !!
    Bravo encore et merci

    • Bonjour,

      Merci beaucoup pour ce commentaire qui fait plaisir à lire ! Je suis heureux que mes cours vous aient plu & aient pu vous être utiles.
      J’ai été un petit peu débordé par les événements ce mois-ci (déménagement, site e-commerce à créer…) ce qui explique le manque d’article. Cependant, je compte bien finir mon cors sur HTML et CSS et ensuite poursuivre sur ma lancée avec du PhP et le JavaScript. N’hésitez donc pas à revenir jeter un coup d’oeil de temps en temps !

      Dans tous les cas, bon courage dans votre apprentissage et encore merci,
      Pierre

Répondre

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués d'une étoile *

*