◆ Portail Antalaha

Annuaire › Code ouvert

Antalaha Propre : site multi-pages d'une association

tutorial · Voir le site ↗
Connectez-vous pour copier ce site

Code publié par son auteur, en lecture seule. « Copier dans mon espace » crée un nouveau site à vous (non publié) que vous pouvez modifier librement.

index.html · 6.1 Ko

<!DOCTYPE html>
<!--
  =====================================================================
  index.html : page d'ACCUEIL du site de l'association « Antalaha Propre »
  =====================================================================
  Rôle : première page du site. Les autres pages sont dans le dossier
  pages/ (actions.html, agenda.html, contact.html).
  Fichiers liés :
    - css/style.css      : feuille de style partagée par TOUTES les pages
    - css/impression.css : règles pour l'impression papier
    - medias/*.svg       : illustrations (versions portrait et paysage)

  CHEMINS RELATIFS : ce fichier est à la racine du site, donc
    css/style.css            = dossier css, à côté de ce fichier
    pages/actions.html       = fichier dans le sous-dossier pages
  Depuis un fichier de pages/, il faudra remonter d'un niveau avec « ../ »
  (ex. ../css/style.css). C'est la source d'erreur la plus fréquente !

  Remarque : le HTML n'a pas d'« include ». L'en-tête, la navigation et
  le pied de page sont donc RECOPIÉS dans chaque page. Seul le lien
  aria-current="page" change d'une page à l'autre.
-->
<html lang="fr">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Accueil – Antalaha Propre</title>
  <meta name="description" content="Antalaha Propre : association de nettoyage des plages et de sensibilisation à Antalaha.">

  <!-- color-scheme : indique que la page gère le clair et le sombre
       (le navigateur adapte aussi ses éléments : barres de défilement...). -->
  <meta name="color-scheme" content="light dark">

  <!-- Feuille de style principale. -->
  <link rel="stylesheet" href="css/style.css">
  <!-- Feuille d'impression : media="print" = appliquée seulement sur papier / PDF. -->
  <link rel="stylesheet" href="css/impression.css" media="print">
</head>

<body>

  <!-- LIEN D'ÉVITEMENT : premier élément de la page. Invisible, il apparaît
       au premier appui sur Tab. Il saute l'en-tête pour aller au contenu
       (utile à qui navigue au clavier ou avec un lecteur d'écran).
       La cible est <main id="contenu"> plus bas. -->
  <a class="lien-evitement" href="#contenu">Aller au contenu principal</a>

  <header class="entete">
    <div class="entete__interieur">
      <a class="entete__nom" href="index.html">Antalaha Propre</a>

      <!-- NAVIGATION ACCESSIBLE : <nav> + aria-label + liste <ul>.
           aria-current="page" marque le lien de la page où l'on se trouve :
           un lecteur d'écran dit « page courante », et le CSS le met en
           évidence (voir a[aria-current="page"] dans style.css). -->
      <nav class="nav" aria-label="Navigation principale">
        <ul class="nav__liste">
          <li><a href="index.html" aria-current="page">Accueil</a></li>
          <li><a href="pages/actions.html">Actions</a></li>
          <li><a href="pages/agenda.html">Agenda</a></li>
          <li><a href="pages/contact.html">Contact</a></li>
        </ul>
      </nav>
    </div>
  </header>

  <!-- tabindex="-1" : permet de donner le focus à <main> par programme
       (par le lien d'évitement), sans l'ajouter à l'ordre de Tab. -->
  <main id="contenu" tabindex="-1">

    <h1>Ensemble, gardons Antalaha propre</h1>

    <!-- IMAGE AVEC « ART DIRECTION » : <picture>.
         Le navigateur parcourt les <source> de haut en bas et prend la
         première dont la condition media est vraie ; sinon il utilise
         l'<img> de secours.
           - écran ≤ 599 px (téléphone, tenu en hauteur) : image PORTRAIT ;
           - sinon (tablette, ordinateur) : image PAYSAGE.
         Ce n'est pas qu'un redimensionnement : on charge une image
         DIFFÉRENTE, mieux cadrée pour la forme de l'écran.
         width/height : dimensions réelles de chaque fichier. Elles
         permettent au navigateur de réserver la bonne place avant le
         chargement (pas de saut de page). Une image au-dessus de la ligne
         de flottaison (visible tout de suite) ne doit PAS avoir
         loading="lazy" : on veut qu'elle se charge en premier. -->
    <figure class="hero">
      <picture>
        <source media="(max-width: 599px)"
                srcset="medias/antalaha-plage-palmiers-portrait.svg"
                width="900" height="1600">
        <img src="medias/antalaha-plage-palmiers-paysage.svg"
             width="1600" height="900"
             alt="Une plage de sable bordée de palmiers à Antalaha, propre et ensoleillée">
      </picture>
      <figcaption>Notre objectif : des plages comme celle-ci, toute l'année.</figcaption>
    </figure>

    <p class="chapeau">Antalaha Propre est une association de bénévoles qui
      nettoie les plages, trie les déchets et sensibilise les habitants,
      les écoles et les commerçants.</p>

    <h2>Qui sommes-nous ?</h2>
    <p>Née en 2020 de l'envie de quelques voisins, l'association réunit
      aujourd'hui plus de 150 bénévoles. Chaque mois, nous ramassons
      plusieurs centaines de kilos de plastique sur le littoral.</p>

    <h2>En bref</h2>
    <!-- <ul> de cartes : une liste, car ce sont des éléments équivalents. -->
    <ul class="cartes">
      <li class="carte">
        <div class="carte__corps">
          <h3>Nettoyages</h3>
          <p>Un grand nettoyage de plage chaque mois.</p>
          <p><a href="pages/actions.html">Voir nos actions</a></p>
        </div>
      </li>
      <li class="carte">
        <div class="carte__corps">
          <h3>Prochain rendez-vous</h3>
          <p>Retrouvez les dates dans l'agenda.</p>
          <p><a href="pages/agenda.html">Ouvrir l'agenda</a></p>
        </div>
      </li>
      <li class="carte">
        <div class="carte__corps">
          <h3>Rejoindre</h3>
          <p>Des gants, des sacs et de la bonne humeur : venez !</p>
          <p><a href="pages/contact.html">Nous contacter</a></p>
        </div>
      </li>
    </ul>

  </main>

  <footer class="pied">
    <p>Antalaha Propre, association fictive créée pour ce tutoriel HTML/CSS.</p>
    <p>Illustrations libres de droits de la médiathèque du Portail Antalaha.</p>
  </footer>

</body>
</html>