Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
formations:devweb_2 [17/10/2022 19:22] – vbilla | formations:devweb_2 [28/06/2024 15:18] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Devweb 102 : Le responsive & Bootstrap ====== | ||
+ | Cette seconde formation permet d' | ||
+ | |||
+ | ** Compétences abordées : ** HTML, CSS, Responsive, Media Queries, Inspecteur d’éléments, | ||
+ | ===== Prérequis ===== | ||
+ | Avoir suivi la formation [[formations: | ||
+ | |||
+ | ===== L' | ||
+ | L’inspecteur d’éléments fait partie des outils indispensables aux développeurs pour leurs tests de rendu. | ||
+ | |||
+ | En fonction des navigateurs, | ||
+ | * **Firefox :** examiner l’élément | ||
+ | * **Google Chrome :** inspecter | ||
+ | * **Safari :** inspecter l’élément | ||
+ | |||
+ | On y accède via clic droit sur le corps de la page qui nous intéresse. | ||
+ | On illustrera l’utilisation de cet outil sur Google Chrome. | ||
+ | |||
+ | ==== Interface ==== | ||
+ | {{ : | ||
+ | |||
+ | On voit ici l' | ||
+ | |||
+ | ===Le panneau HTML et le panneau CSS=== | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Grâce au panneau HTML, il est possible d' | ||
+ | |||
+ | Voici un exemple très simple avec MyCentraleAssos : | ||
+ | |||
+ | {{ : | ||
+ | {{ : | ||
+ | |||
+ | On voit ici que le titre, une fois changé dans le code, est modifié sur la vue. | ||
+ | < | ||
+ | |||
+ | Lorsqu' | ||
+ | |||
+ | {{ : | ||
+ | Ici on a modifié la taille du texte. | ||
+ | |||
+ | Cependant, il arrive que certaines propriétés notées dans " | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | ===Le sélecteur d' | ||
+ | |||
+ | Le sélecteur d' | ||
+ | |||
+ | ===Le Toggle device mode=== | ||
+ | |||
+ | Le Toggle device mode permet d' | ||
+ | |||
+ | ===Console=== | ||
+ | |||
+ | La console affiche des informations associées à la page web active. Cela comprend les requêtes réseau, le JavaScript, le CSS, les erreurs et avertissements de sécurité. | ||
+ | |||
+ | Elle permet également d' | ||
+ | |||
+ | ===Réseau=== | ||
+ | |||
+ | |||
+ | |||
+ | ===== Responsive, qu'est ce que c'est ? ===== | ||
+ | |||
+ | Lorsque l’on construit un site web, il faut veiller à ce que sa lecture soit confortable. Et cela est particulièrement difficile lorsque l'on sait que les différents utilisateurs d'un même site n' | ||
+ | |||
+ | C'est pour cela que l'on va œuvrer à rendre nos site **responsive**, | ||
+ | |||
+ | Ainsi, lorsque l'on construit la structure d'un site web, il est important de se poser la question de son apparence en fonction des différentes résolutions d' | ||
+ | |||
+ | ====Les Media Queries==== | ||
+ | Les media queries sont des règles à appliquer pour changer le design d'un site en fonction des caractéristiques de l' | ||
+ | |||
+ | |||
+ | ===== Bootstrap ===== | ||
+ | Bootstrap est une boite à outils comprenant plusieurs modules et permettant de faire du responsive assez facilement. | ||
+ | |||
+ | ==== Installation de Bootstrap ==== | ||
+ | |||
+ | === Installation rapide (via CDN) RECOMMANDEE LORS DE LA FORMA === | ||
+ | |||
+ | Pour aller plus vite, on vous conseille, pour cette séance" | ||
+ | |||
+ | <file html index.html> | ||
+ | < | ||
+ | < | ||
+ | <meta charset=" | ||
+ | <meta name=" | ||
+ | < | ||
+ | <link href=" | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | <script src=" | ||
+ | <script src=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <note tip>Le fait de mettre les balises javascript à la fin du corps de la page et non dans le head permet de charger le contenu plus rapidement et donc de donner une impression de rapidité supplémentaire au visiteur. </ | ||
+ | |||
+ | ==== La grille ==== | ||
+ | Bootstrap permet de découper facilement le contenu pour le positionner sur la page. Pour cela il y a un système de grille, dont le contenu peut s' | ||
+ | |||
+ | La grille de Bootstrap est divisée en lignes (**row**) qui comprend 12 colonnes (**col**). Par exemple : | ||
+ | |||
+ | <code html> | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | </ | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | </ | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | </ | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | produira le visuel suivant : | ||
+ | |||
+ | {{: | ||
+ | |||
+ | On remarque que si la taille des colonnes n'est pas spécifiée celles-ci prendront la taille adéquate automatiquement. | ||
+ | |||
+ | Pour former une ligne complète, il suffit donc que la somme des valeurs des **col** fasse 12. | ||
+ | * Si la somme **dépasse 12** alors le dernier bloc sera passé à la ligne. | ||
+ | * si la somme est **inférieure à 12** alors les blocs n' | ||
+ | |||
+ | |||
+ | Dans l' | ||
+ | |||
+ | Pour BS5, la dernière version, les tailles d' | ||
+ | {{ : | ||
+ | |||
+ | === Documentations === | ||
+ | Pour en savoir plus sur la grille, voir les documentations : | ||
+ | * [[https:// | ||
+ | |||
+ | ==== La Navbar ==== | ||
+ | < | ||
+ | |||
+ | La Navbar (navigation bar) est la barre en haut qu'on voit sur la plupart des sites et qui contient les liens vers les différentes parties d'un site web. Bootstrap intègre une Navbar responsive de base avec quelques options. | ||
+ | |||
+ | === Exemples === | ||
+ | |||
+ | == Navbar de base avec un logo == | ||
+ | <code html> | ||
+ | <!-- Just an image --> | ||
+ | <nav class=" | ||
+ | <a class=" | ||
+ | <img src="/ | ||
+ | </a> | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | == Navbar avec des liens == | ||
+ | <code html> | ||
+ | <nav class=" | ||
+ | <div class=" | ||
+ | <a class=" | ||
+ | <button class=" | ||
+ | <span class=" | ||
+ | </ | ||
+ | <div class=" | ||
+ | <ul class=" | ||
+ | <li class=" | ||
+ | <a class=" | ||
+ | </li> | ||
+ | <li class=" | ||
+ | <a class=" | ||
+ | </li> | ||
+ | <li class=" | ||
+ | <a class=" | ||
+ | </li> | ||
+ | <li class=" | ||
+ | <a class=" | ||
+ | </li> | ||
+ | </ul> | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | === Documentation === | ||
+ | Voir ici : https:// | ||
+ | |||
+ | |||
+ | |||
+ | ==== Modal ==== | ||
+ | Le modal est une petite fenêtre qui peut s' | ||
+ | |||
+ | === Utilisation === | ||
+ | Il faut tout d' | ||
+ | |||
+ | <code html> | ||
+ | <!-- Modal --> | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <h1 class=" | ||
+ | <button type=" | ||
+ | </ | ||
+ | <div class=" | ||
+ | ... | ||
+ | </ | ||
+ | <div class=" | ||
+ | <button type=" | ||
+ | <button type=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Il y a beaucoup de code, mais ce qu'il faut remarquer c'est l'id sur la première ligne (**id=" | ||
+ | Le reste du code consitue le corps du Modal tel que défini par Bootstrap. | ||
+ | |||
+ | Ensuite pour ouvrir le modal, il faut placer un bouton : | ||
+ | <code html> | ||
+ | <!-- Button trigger modal --> | ||
+ | <button type=" | ||
+ | Exemple de modal | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Ici les attributs font toute la fonctionnalité : | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | === Documentation === | ||
+ | Voir ici : https:// | ||
+ | |||
+ | ==== Les autres composants ==== | ||
+ | Bootstrap dispose d'un grand nombre de composants. Ces 3 exemples ne sont qu'une petite partie des possibilités qu' | ||
+ | Il est possible de tous les trouver dans la section Components de la [[https:// | ||
+ | |||
+ | ===== Application : suite du CV ===== | ||
+ | Normalement votre site perso doit en être à la [[formations: | ||
+ | |||
+ | ==== Architecture conseillée ==== | ||
+ | Avant de continuer nous allons nettoyer un peu les fichiers de votre site, et définir quelles pages nous allons faire. | ||
+ | |||
+ | Nous allons organiser les fichiers comme suit : | ||
+ | * Les fichiers css dans un dossier **css/** | ||
+ | * Les images dans un dossier **images/ | ||
+ | |||
+ | < | ||
+ | css/ | ||
+ | └── style.css | ||
+ | images/ | ||
+ | └── portrait.jpg | ||
+ | index.html | ||
+ | </ | ||
+ | |||
+ | <note tip>Si ce n'est pas déjà fait, mettre tout le CSS contenu dans le fichier html dans un fichier **css/ | ||
+ | |||
+ | Pour les pages, on peut commencer par celles-ci : | ||
+ | * Une page d' | ||
+ | * Une page de CV, mais remaniée, **cv.html** | ||
+ | * Une galerie d' | ||
+ | * Et une page pour parler de vos goûts musicaux et de votre musique préférée de JuL, **musique.html** | ||
+ | |||
+ | ==== Une belle page d' | ||
+ | Nous allons commencer par réaliser notre page d' | ||
+ | |||
+ | En suivant les exemples ci-dessus, on va mettre : | ||
+ | * Une Navbar avec des liens pointant vers les autres pages | ||
+ | * Un corps de page indiquant le contenu du site | ||
+ | * Un modal apparaîssant sur un lien de la navbar avec les informations de contact | ||
+ | |||
+ | === La Navbar === | ||
+ | Pour rappel, les liens doivent pointer vers les pages suivantes : | ||
+ | * Nom du site : **index.html** | ||
+ | * CV : **cv.html** | ||
+ | * Galerie : **galerie.html** | ||
+ | * Musique : **musique.html** | ||
+ | |||
+ | Le code suivant est un exemple d' | ||
+ | |||
+ | <file html index.html> | ||
+ | <nav class=" | ||
+ | <div class=" | ||
+ | <a class=" | ||
+ | <button class=" | ||
+ | aria-controls=" | ||
+ | <span class=" | ||
+ | </ | ||
+ | <div class=" | ||
+ | <ul class=" | ||
+ | <li class=" | ||
+ | <a class=" | ||
+ | </li> | ||
+ | <li class=" | ||
+ | <a class=" | ||
+ | </li> | ||
+ | <li class=" | ||
+ | <a class=" | ||
+ | </li> | ||
+ | <li class=" | ||
+ | <a href="#" | ||
+ | </li> | ||
+ | </ul> | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | === Le Modal de contact === | ||
+ | On va intégrer un modal avec les informations suivantes : | ||
+ | * Nom/prénom | ||
+ | * Titre (étudiant à Centrale Méditerranée par exemple) | ||
+ | * Adresse mail | ||
+ | * Numéro de téléphone | ||
+ | * Un QR code contenant les informations de contact (à générer par exemple sur https:// | ||
+ | |||
+ | Pour un visuel de ce genre : | ||
+ | {{ : | ||
+ | |||
+ | Le code de ce visuel : | ||
+ | |||
+ | <code html> | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <h1 class=" | ||
+ | <button type=" | ||
+ | </ | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <img src=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | <div class=" | ||
+ | <button type=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Sans oublier le lien à ajouter dans la navbar : | ||
+ | <code html> | ||
+ | <li class=" | ||
+ | <a href="#" | ||
+ | </li> | ||
+ | </ | ||
+ | |||
+ | === Le corps du site === | ||
+ | Un petit texte de bienvenue, basé sur l' | ||
+ | |||
+ | <code html> | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | < | ||
+ | < | ||
+ | <p class=" | ||
+ | <img src=" | ||
+ | alt=""> | ||
+ | </p> | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | === La page au complet === | ||
+ | <file html index.html> | ||
+ | < | ||
+ | < | ||
+ | <meta charset=" | ||
+ | <meta name=" | ||
+ | < | ||
+ | <link href=" | ||
+ | integrity=" | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | <!-- Navbar --> | ||
+ | <nav class=" | ||
+ | <div class=" | ||
+ | <a class=" | ||
+ | <button class=" | ||
+ | aria-controls=" | ||
+ | <span class=" | ||
+ | </ | ||
+ | <div class=" | ||
+ | <ul class=" | ||
+ | <li class=" | ||
+ | <a class=" | ||
+ | </li> | ||
+ | <li class=" | ||
+ | <a class=" | ||
+ | </li> | ||
+ | <li class=" | ||
+ | <a class=" | ||
+ | </li> | ||
+ | <li class=" | ||
+ | <a href="#" | ||
+ | </li> | ||
+ | </ul> | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | | ||
+ | <!-- Petit texte de bienvenue --> | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | < | ||
+ | < | ||
+ | <p class=" | ||
+ | <img src=" | ||
+ | alt=""> | ||
+ | </p> | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <!-- Modal --> | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <h1 class=" | ||
+ | <button type=" | ||
+ | </ | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <img src=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | <div class=" | ||
+ | <button type=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <script src=" | ||
+ | integrity=" | ||
+ | crossorigin=" | ||
+ | <script src=" | ||
+ | integrity=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | ==== Retoucher un peu le CV ==== | ||
+ | Première étape : appliquer le même design que la page d' | ||
+ | |||
+ | |||
+ | ==== La gallerie d' | ||
+ | Voir [[https:// | ||
+ | |||
+ | ==== La page musique ==== | ||
+ | Pour intégrer une vidéo youtube : **Partager -> Intégrer** | ||
+ | |||
+ | Exemple : | ||
+ | <code html> | ||
+ | <iframe width=" | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | Cette formation a été réalisée par [[user: |