Aide HTML - c'est hors sujet, mais je le mets dans le bar et c'est pour un projet Arduino... EDIT pardon, ESP 😃

Bonjour
Je souhaite réaliser un projet Arduino finis connecté en WiFi (ESP32 S2). Ce projet reste secret pour l'instant, au même titre que celui de @techvij :wink:

Tous ce que je peux dire, c'est que cet ESP doit héberger une page Web HTML/CSS/JS, et que je suis en train de la coder... malheureusement j'ai un problème... que voici :


Je souhaite réaliser un en-tête pour la page... Voici ce que je veux :

J'ai fait ce code (attention, pour la mise en forme il faut télécharger la librairie w3.css ici :

et mettre le fichier ainsi obtenu dans le même dossier que le code HTML (en changeant bien le chemin vers la librairie dans le code...)

<!DOCTYPE html>

<html lang="fr">
    <head>
        <title>Bah non, je vais pas mettre le titre, ça gâcherai la surprise...</title>
        <!-- On dit que la page est a la largeur de l'écran du client -->
        <meta name="viewport" content="width=device-width, initial-scale=1.0" charset="UTF-8">
        <!-- On inclue la librairie CSS w3.css -->
        <link rel="stylesheet" type="text/css" href="w3.css">
        <!-- On inclue le fichier javascript script.js -->
        <script type="text/javascript" src="script.js"></script>
    </head>
    <body class="w3-animate-opacity">
        <!--https://blog.thiebault.be/csshtml-afficher-une-image-a-cote-dun-texte/ comment mettre une image à côté d'un texte en html ?-->
        <div class="w3-card w3-green w3-padding-small w3-center" id="top-page">
            <p style="float:left"><img src="/home/remi/Bureau/Programmation/Projets Arduino/codes de projets/mes projets/et bah non plus !/toujours pas !/data/images/logo.png"alt="Logo plante"width=8% height=8%></p>
            <p><h1>......Le titre en gros......<br></h1></p>
            <p><h1>la suite du titre dessous</h1></p>
            <p>
                <nav>
                    <li>
                        <a style="color:#3465a4" href="index.html">un truc secret</a>
                    </li>
                    <li>
                        <a style="color:#3465a4" href="#coucou">un truc secret...</a>
                    </li>
                    <li>
                        <a style="color:#3465a4" href="#Commande_un_truc_secret">Et encore un truc secret !</a>
                    </li>
                </nav>
            </p>
        </div>
    </body>
</html>

Bon, j'ai caché et enlevé plein de trucs, mais moi ce qui m'importe, c'est que le résultat est.... comment dire ? Pas celui que je veux... la partie haute du titre est coincée dans le coin droit, l'image, coin gauche, et les liens intra-pages, au centre les uns au dessus des autres...

Si quelqu'un ici connaît un peu le code web, je veux bien un peu d'aide :woozy_face:
Merci d'avance !

Amitiés
R-P7 :fox_face:

Bonsoir ! Tu as la documentation de FIrefox sur le web, qui s'appelle MDN il me semble pour apprendre le HTML.

Salut !
Merci pour ta réponse :grin:
Oui, je connais cette doc... mais je n'avais pas cherché dedans ! Du coup, j'ai trouvé ça :

Peut-être la fin de longues nuits sans sommeil ?
Je pense que j'ai trouvé mon bonheur ! Ça m'a tout l'air d'être ce que je cherche !

EDIT Aller soyons fous... Si je réussi avant vendredi à faire ce code, je poste le projet en cours :wink: !

Bonne journée
Amitiés
R-P7

Il faut que ton logo soit en relatif et pas en absolue.

Tu veux une page "responsive" ou plus statique ?

Quelque chose comme ça devrait correspondre plus à ce que tu veux.

<!DOCTYPE html>

<html lang="fr">
    <head>
        <title>Bah non, je vais pas mettre le titre, ça gâcherai la surprise...</title>
        <!-- On dit que la page est a la largeur de l'écran du client -->
        <meta name="viewport" content="width=device-width, initial-scale=1.0" charset="UTF-8">
        <!-- On inclue la librairie CSS w3.css -->
        <link rel="stylesheet" type="text/css" href="https://www.w3schools.com/w3css/4/w3.css">
        <!-- On inclue le fichier javascript script.js -->
        <script type="text/javascript" src="script.js"></script>
        <style>
            * {
                box-sizing: border-box;
            }

            .centrage {
                width: 10%;
                padding: 10px;
                background: red;
            }
            span.logo {
                display: inline-block;
                background: blue;
            }
            span.titre {
                display: inline-block;
                color: green;
            }
        </style>
    </head>
    <body class="w3-animate-opacity">
        <!--https://blog.thiebault.be/csshtml-afficher-une-image-a-cote-dun-texte/ comment mettre une image à côté d'un texte en html ?-->
        <div class="w3-card w3-green w3-padding-small w3-center" id="top-page">
            <div class="centrage"></div>
            <span class="logo"><img src="https://www.fr.clipproject.info/images/joomgallery/details/automne_123/image_a_telecharger_feuille__automne_clipart_20160412_1509553585.jpg" alt="Logo plante"></span>
            <span class="titre">
                <div><h1>......Le titre en gros......<br></h1></div>
                <div><h1>la suite du titre dessous</h1></div>
                <div>
                    <a style="color:#3465a4" href="index.html">un truc secret</a>
                    <a style="color:#3465a4" href="#coucou">un truc secret...</a>
                    <a style="color:#3465a4" href="#Commande_un_truc_secret">Et encore un truc secret !</a>
                </div>
            </span>
            <div class="centrage"></div>
        </div>
    </body>
</html>

Bonjour @terwal
Oui, ça correspond bien a ce que je veux :

(Bon y'a juste les rectangles rouges en bas et en haut mais c'est facilement retirable, et faut aussi mettre l'image à la bonne taille, mais sinon, c'est bon :wink:)

Excusez moi, je ne comprends pas...

C'est à dire, que voulez-vous dire ?

Bonne journée
Amitiés
Rémi

EDIT je viens d'étudier votre code, mais je n'ai pas bien compris ce que vous avez ajouté... pouvez vous m'expliquer ? Merci d'avance !

"Responsive" c'est un anglicisme, pour indiqué que tu veux que la mise en page s'adapte au format de l'appareil qui affiche.
Par exemple tu ne voudra pas forcément afficher la même chose suivant le nombre de pixel d'un écran ou la taille de sa diagonale, idem si l'écran est positionner en portrait ou paysage.

Le chemin de ton logo est en absolue par rapport à l'arborescence de votre PC (/home/remi/Bureau/Programmation/Projets Arduino/codes de projets/mes projets/et bah non plus !/toujours pas !/data/images/logo.png)
Si le browser qui affiche ta page HTML, n'est pas ton PC, il n'y a aucune chance qu'il trouve cette image.
C'est pour ça que l'on met les images dans un répertoire enfant du répertoire racine ou tu stocke ta page HTML et que l'on utilise un chemin avec une arborescence relative.
par exemple si ta page HTML est dans "/home/remi/Bureau/Programmation/Projets Arduino/codes de projets/mes projets/et bah non plus !/toujours pas !/data/" tu devrais avoir "images/logo.png".

Oui bien sûre, je n'ai pas fait grand chose, j'ai rajouter des bandes à droites et à gauche(fond rouge), d'ailleurs je viens de voir un problème, celle de droite ne s'affiche pas correctement :see_no_evil:
J'ai passé tes balises p en span, car normalement les balises de paragraphes font un retour chariot à la fin et j'ai pas trop ça et qu'il me semble que tu ne les utilisent pas pour ça ?
j'ai défini 2 classes pour les balises span, mais il n'y a pas vraiment de nécessité car je fais la même choses dans les deux, a par la couleur pour les différencier.
Je défini la propriété "display" qui défini le comportement d'affichage en "inline-block" mais sur un Span normalement ce n'est pas nécessaire :slight_smile:
Je l'ai fait un peu vite, sans vraiment faire attention.
Ayant une petite mémoire, je me réfère à w3schools qui permet te tester les exemples qu'ils donnent

Bonjour

C'est le cas, voici l'arborecence de mes fichiers :

  • le dossier platformIO
    • data
      • index.html
      • script.js
      • w3.css
      • image
        • l'image
    • src
      • main.cpp
    • d'autres fichiers platformIO...

Mais quand je ne mets que .../image/logo.png, l'image ne s'affiche pas, le code contient une erreur... seul le texte de remplacement de l'image apparaît...

J'ai réussi a résoudre le problème de l’alignement des liens intra-pages sur la même ligne, mais il me reste toujours celui de l'image collée à gauche et le titre au milieu. Il faudrait qu'il soit à côté du titre, mais avec un espace d'environ 50 px entre le titre et l'image.

Bonne journée
Cordialement
Pandaroux007

si ta page HTML est dans "data", ton image n'est pas dans ../image/logo.png.
le plus simple tu ouvre un terminal, tu te position dans le répertoire de ta page HTML et avec un "ls", tu essaye d'afficher le nom de ton image.

Donne ton code :slight_smile:

Bon, bah ça va être compliqué sans tout dévoiler... mais si je ne dis rien, je vais y passer 20 ans et j'ai bien l'intention de ne PAS y passer 20 ans...

ARGH !

Bon, bon... voici mon code...

<!DOCTYPE html>

<html lang="fr">
    <head>
        <title>Bio support for plants V3 - WiFi</title>
        <!-- On dit que la page est a la largeur de l'écran du client -->
        <meta name="viewport" content="width=device-width, initial-scale=1.0" charset="UTF-8">
        <!-- On inclue la librairie CSS w3.css -->
        <link rel="stylesheet" type="text/css" href="w3.css">
        <!-- On inclue le fichier javascript script.js -->
        <script type="text/javascript" src="script.js"></script>
        <!--https://blog.thiebault.be/csshtml-afficher-une-image-a-cote-dun-texte/ comment mettre une image à côté d'un texte en html ?-->
        <!--https://developer.mozilla.org/fr/docs/Web/CSS/CSS_flexible_box_layout/Aligning_items_in_a_flex_container
        comment aligner un texte avec une image dans un conteneur-->
    </head>
    <body class="w3-animate-opacity">
        <header>
            <div class="w3-card w3-green w3-padding-small w3-center" id="top-page">
                <img src="/home/baptiste/Bureau/Programmation/Projets Arduino/codes de projets/mes projets/Bio-support pour plante connecté/Bio_support_for_plant_V3 - Wifi/data/images/logo.png"alt="Logo plante"width=8% height=8% style="float:left">
                <div>
                    <h1>Bio support for plants</h1>
                    <h1>V3 - WiFi</h1>
                </div>
                <div class="w3-center">
                    <nav style="list-style: none; display: flex; align-items: center; margin-left: 450px; margin-right: 450px; justify-content: space-between;">
                        <li>
                            <a style="color:#3465a4" href="index.html">Page</a>
                        </li>
                        <li>
                            <a style="color:#3465a4" href="#dashboard">Dashboard</a>
                        </li>
                        <li>
                            <a style="color:#3465a4" href="#Leds_colors">LEDs colors</a>
                        </li>
                        <li>
                            <a style="color:#3465a4" href="#Commande_lampe">Commande Lampe</a>
                        </li>
                    </nav>
                </div>
            </div>
        </header>
        <div class="w3-margin w3-center w3-card w3-padding-24" id="dashboard">
            <!--Pas encore codé...-->
        </div>
        <div class="w3-margin w3-center w3-card w3-padding-24" id="Leds_colors">
            <h3 class="w3-padding">LEDs colors :</h3>
            <button onclick="LedColorRed()" class="w3-button w3-red w3-xlarge w3-ripple w3-wide" style="width:40%;">LEDs rouges</button>
            <button onclick="LedColorGreen()" class="w3-button w3-green w3-xlarge w3-ripple w3-wide" style="width:40%;">LEDs vertes</button>
            <br><br>
            <button onclick="LedColorBlue()" class="w3-button w3-blue w3-xlarge w3-ripple w3-wide" style="width:40%;">LEDs bleue</button>
            <button onclick="LedColorWhite()" class="w3-button w3-gray w3-xlarge w3-ripple w3-wide" style="width:40%;">LEDs blanches</button>
            <h3 class="w3-padding">Luminosité des LEDs RGB :</h3>
            <div><input type="range" min="0" max="200" value="100" oninput="rangeValue.innerText = this.value"><p id="rangeValue">100</p></div> 
        </div>
        <div class="w3-margin w3-center w3-card w3-padding-24" id="Commande_lampe">
            <h3 class="w3-padding">Commande de la lampe :</h3>
            <button onclick="onButton()" class="w3-button w3-green w3-xlarge w3-ripple w3-wide" style="width:40%;">ON</button>
            <button onclick="offButton()" class="w3-button w3-red w3-xlarge w3-ripple w3-wide" style="width:40%;">OFF</button>
            <br><br> <!--on saute deux ligne pour laisser de l'espace entre la bordure de la boite et celle des boutons-->
        </div>
        <a href="#top-page" style="text-decoration:none"><h5 class="w3-padding w3-center w3-green"><span style="color:#3465a4">Back to top of page</span></h5></a>
    </body>
</html>

Le résultat :

Il faudrait que l'image soit sur cette ligne, mais avec un espace de 50 px environ entre le titre, pas collée au bord de la page. J'ai cherché longtemps mais je n'ai pas trouvé... malgré l'emploi de TRÈS nombreuses techniques...

Je n'ai pas compris ce que vous avez fait dans votre code, je n'ai donc pas changé d'éléments dans celui-ci... Pouvez vous l'expliquer, s'il vous plaît ? Merci !

Bonne journée et merci pour votre aide !
Amitiés
Rémi

EDIT : ah bah non, c'est bon, je n'avais pas vu votre changement au message #6... Vous avez déjà expliqué votre code... merci !

< hors sujet >
il faudrait choisir la langue utilisée et pas mélanger français et anglais dans la page
< /hors sujet >

Bonjour @fdufnews
Oui, c'est vrai... J'ai une assez grosse tendance au franglais en ce moment... jaloux de ma cousine de 7 ans anglaise, probablement :wink:

M'enfin, vous avez raison. Je change ça dans mon code. Merci :grin:

Amitiés
Rémi

Ton soucis, vient du fait que par défaut, si tu ne contraint pas les éléments, il prenne toutes la place possible.
Du coup ton image se fait pousser par le DIV de ton titre.
Soit tu créer des colonnes sur les cotés pour prendre de l'espace, comme je l'ai fait.
Soit tu utilise une disposition qui impose des espaces sur les cotés, comme une grid par exemple.

ou alors prendre une approche très CSS où vous décidez du look and feel dans une partie CSS au début et vous appliquez cela à vos éléments dans le body ensuite

un truc comme ça (tapé un peu à la va-vite)

<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Les Plantes de Pandaroux</title>
  <style>
    body { margin: 0; font-family: Arial, sans-serif; }
    header, nav { background-color: green; color: white; }
    header { display: flex; align-items: center; padding: 10px; }
    header img { margin-right: 5px; max-height: 100%; object-fit: cover; border: 2px solid white; border-radius: 5px; }
    header div { display: flex; flex-direction: column; align-items: center; width: 100%; }
    header h1 { font-size: 24px; margin: 10px 0; }
    nav { display: flex; }
    nav a { text-decoration: none; color: blue; flex: 1; text-align: center; padding: 10px; }
    .container { margin: 5% 5%; }
    .separator { height: 30px; background-color: white; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; border-radius: 5px; }
    .led-container, .brightness-container, .lamp-control-container { padding: 10px; background-color: white; border: 1px solid #ddd; border-radius: 5px; text-align: center; margin-top: 20px; }
    .led-row, .lamp-control-buttons { display: flex; justify-content: space-between; }
    .button { flex: 1; width: 48%; padding: 10px; margin: 10px 1%; border: 2px solid black; border-radius: 10px; cursor: pointer; transition: font-weight 0.3s; }
    .button:hover { font-weight: bold; }
    .button:active { font-weight: normal; }
    .button.clicked { animation: none; background-color: yellow !important; color: black !important; }
    .led-red { background-color: red; color: white; }
    .led-blue { background-color: blue; color: white; }
    .led-green { background-color: green; color: white; }
    .led-white { background-color: #eee; color: black; }
    .brightness-slider { width: 80%; margin: 0 auto; }
    @keyframes blink { 0%, 49%, 100% { background-color: inherit; color: inherit; } 50% { background-color: yellow; color: black; } }
  </style>
</head>
<body>
  <header>
    <img src="icone.png" alt="Image">
    <div>
      <h1>Bio Support for plants</h1><br>
      <h1>V 3.1 WiFi</h1>
    </div>
  </header>

  <nav>
    <a href="#">Page</a>
    <a href="#">Tableau de bord</a>
    <a href="#">Couleur des Leds</a>
    <a href="#">Commande lampe</a>
  </nav>

  <div class="container">
    <div class="separator"></div>

    <div class="led-container">
      <p>Couleur des LEDs</p>
      <div class="led-row">
        <button class="button led-red" onclick="toggleButton(this)">LEDs rouges</button>
        <button class="button led-blue" onclick="toggleButton(this)">LEDs bleues</button>
      </div>
      <div class="led-row">
        <button class="button led-green" onclick="toggleButton(this)">LEDs vertes</button>
        <button class="button led-white" onclick="toggleButton(this)">LEDs blanches</button>
      </div>
    </div>

    <div class="brightness-container">
      <p class="brightness-text">Luminosité des LEDs</p>
      <input type="range" min="0" max="100" value="50" class="brightness-slider" id="brightnessSlider">
      <p class="brightness-value" id="brightnessValue">50%</p>
    </div>

    <div class="lamp-control-container">
      <p class="lamp-control-text">Commande de la lampe</p>
      <div class="lamp-control-buttons">
        <button class="button led-red" onclick="toggleButton(this)">ON</button>
        <button class="button led-green" onclick="toggleButton(this)">OFF</button>
      </div>
    </div>
  </div>

  <script>
    const brightnessSlider = document.getElementById('brightnessSlider');
    const brightnessValue = document.getElementById('brightnessValue');

    brightnessSlider.addEventListener('input', () => {
      const value = brightnessSlider.value;
      brightnessValue.textContent = `${value}%`;
      updateServer('slider', value);       // Appel AJAX lorsque le slider est relâché
    });

    function toggleButton(button) {
      button.classList.add('clicked');
      setTimeout(() => {
        button.classList.remove('clicked');
        updateServer('button', button.textContent);        // Appel AJAX lorsqu'un bouton est cliqué
      }, 200);
    }

    function updateServer(type, value) {
      const url = 'majArduino';       // Remplacez l'URL par votre propre URL
      const data = {                  // Données à envoyer
        type: type,
        value: value
      };

      // Options pour la requête fetch
      const options = {
        method: 'POST', // ou 'GET' selon vos besoins
        headers: {'Content-Type': 'application/json'},
        body: JSON.stringify(data)
      };

      // Effectuer la requête fetch
      fetch(url, options)
        .then(response => response.json())
        .then(data => console.log(data)) // Utilisez les données de la réponse si nécessaire
        .catch(error => console.error('Erreur:', error));
    }
  </script>
</body>
</html>

vous retrouvez les trois sections dans juste un seul fichier

  • au début les styles
  • puis le corps (body)
  • puis les fonctions javascript

j'ai mis les bases d'une requête AJAX pour les boutons et le slider si nécessaire (ça appelle l'URI majArduino)

le fichier image (icone.png) à mettre au même niveau que le fichier .htm

icone

ça devrait donner cela:

si vous ne voulez pas que le bandeau + l'image aient un liseré blanc par exemple, vous enlevez border: 2px solid white; border-radius: 5px; du style de header img et hop ça disparait

si vous voulez que les 4 liens ne soient pas en bleu mais en blanc vous changez la couleur dans
nav a { text-decoration: none; color: blue; flex: 1; text-align: center; padding: 10px; } et si vous voulez souligner le lien, vous mettez sa décoration à underline au lieu de none

bref - en jouant avec le CSS on fait beaucoup de choses qui sont factorisées

PS/ je viens de voir que j'ai inversé la couleur des boutons ON et OFF. il suffit de donner la classe led-red ou led-green au bon bouton

au lieu de

        <button class="button led-red" onclick="toggleButton(this)">ON</button>
        <button class="button led-green" onclick="toggleButton(this)">OFF</button>

on fait

        <button class="button led-green" onclick="toggleButton(this)">ON</button>
        <button class="button led-red" onclick="toggleButton(this)">OFF</button>

Bonjour
@Merci, je vais regarder pour changer ça :slight_smile:
@J-M-L Waouh ! Merci pour cette réponse plus que complète ! Je vais essayer votre technique, mais je ne suis pas sûr de l'utiliser... Je voudrai rester sur une approche très HTML... Mais c'est interessant, et ça peut me servir :smile:

Encore merci !
Bonne journée
Amitiés
Rémi

Oui c'est HTML + CSS

attention si tu remplis la propriété style des balises HTML, tu fais du CSS.
Donc tes style="float:left" et class="w3-center" c'est du CSS.

Donc ce que t'indique @J-M-L n'est pas si éloigné de ce que tu fais.
La déclaration dans deux endroits différents, permet surtout de centraliser les modifications communes, donc d'accroître la lisibilité de ton code et la facilité de trouver l'information que tu cherches.

Bonjour
Malgré votre aide et beaucoup de temps passé sur VScode, je ne parviens toujours pas a mettre cette image collée à 50px de mon titre à gauche. C'est a en devenir fou...
@J-M-L Votre page est incroyable, mais elle ne règle pas le problème de l'image baladeuse et fan du côté gauche... Mais merci quand même.

Je pense que le problème viens d'une balise mal paramétrée/placée. Faut juste que je trouve la bonne balise/configuration...

Bonne journée
Cordialement
Rémi

EDIT : mon code actuel;

<!DOCTYPE html>

<html lang="fr">
    <head>
        <title>Bio support for plants V3 - WiFi</title>
        <!-- On dit que la page est a la largeur de l'écran du client -->
        <meta name="viewport" content="width=device-width, initial-scale=1.0" charset="UTF-8">
        <!-- On inclue la librairie CSS w3.css -->
        <link rel="stylesheet" type="text/css" href="w3.css">
        <!-- On inclue le fichier javascript script.js -->
        <script type="text/javascript" src="script.js"></script>
        <!--https://blog.thiebault.be/csshtml-afficher-une-image-a-cote-dun-texte/ comment mettre une image à côté d'un texte en html ?-->
        <!--https://developer.mozilla.org/fr/docs/Web/CSS/CSS_flexible_box_layout/Aligning_items_in_a_flex_container
        comment aligner un texte avec une image dans un conteneur-->
    </head>
    <body class="w3-animate-opacity">
        <div class="w3-card w3-green w3-padding-small w3-center" id="top-page">
            <div>
                <span style="display: inline-block;"><img src="images/logo.png"alt="Logo plante"width=8% height=8%></span>
                <span style="display: inline-block;">
                    <div><h1>Bio support for plants<br></h1></div>
                    <div><h1>V3 - WiFi</h1></div>
                    <nav>
                        <a style="color:#3465a4" href="index.html">Page</a>
                        <a style="color:#3465a4" href="#dashboard">Dashboard</a>
                        <a style="color:#3465a4" href="#Leds_colors">LEDs colors</a>
                        <a style="color:#3465a4" href="#Commande_lampe">Commande Lampe</a>
                    </nav>
                </span>
            </div>
        </div>
        <div class="w3-margin w3-center w3-card w3-padding-24" id="dashboard">
            <!-- Pas encore codé... -->
        </div>
        <div class="w3-margin w3-center w3-card w3-padding-24" id="Leds_colors">
            <h3 class="w3-padding">Couleur des LEDs :</h3>
            <button onclick="LedColorRed()" class="w3-button w3-red w3-xlarge w3-ripple w3-wide" style="width:40%;">LEDs rouges</button>
            <button onclick="LedColorGreen()" class="w3-button w3-green w3-xlarge w3-ripple w3-wide" style="width:40%;">LEDs vertes</button>
            <br><br>
            <button onclick="LedColorBlue()" class="w3-button w3-blue w3-xlarge w3-ripple w3-wide" style="width:40%;">LEDs bleue</button>
            <button onclick="LedColorWhite()" class="w3-button w3-gray w3-xlarge w3-ripple w3-wide" style="width:40%;">LEDs blanches</button>
            <h3 class="w3-padding">Luminosité des LEDs :</h3>
            <div>
                <input type="range" min="0" max="200" value="100" oninput="rangeValue.innerText = this.value">
                <p id="rangeValue">100</p>
            </div>
        </div>
        <div class="w3-margin w3-center w3-card w3-padding-24" id="Commande_lampe">
            <h3 class="w3-padding">Commande de la lampe :</h3>
            <button onclick="onButton()" class="w3-button w3-green w3-xlarge w3-ripple w3-wide" style="width:40%;">ON</button>
            <button onclick="offButton()" class="w3-button w3-red w3-xlarge w3-ripple w3-wide" style="width:40%;">OFF</button>
            <br><br> <!--on saute deux ligne pour laisser de l'espace entre la bordure de la boite et celle des boutons-->
        </div>
        <a href="#top-page" style="text-decoration:none"><h5 class="w3-padding w3-center w3-green"><span style="color:#3465a4">Back to top of page</span></h5></a>
    </body>
</html>

Le code suivant devrait fonctionner, mais suivant la taille de ta fenêtre ou de l'appareil sur le quel tu l'affiche, le rendu peut être modifier.

<span style="display: inline-block; margin-right: 50px;"><img src="images/logo.png"alt="Logo plante"width=50% height=50% style="display: block;margin-left: auto;"></span>

C’est quoi le problème ? (J’avoue ne pas avoir tout lu)

Bonjour @terwal
OK - je modifie et je teste.
ET... toujours pas... La feuille est au dessus du titre...

Notez que si on met la page à 50%, la feuille passe ici (bon endroit mais feuille trop grosse encore) :


@J-M-L Le problème est le suivant. Avec votre code, vous avez mis une capture d'écran du résultat, et dessus la feuille est toujours collée à gauche, donc le problème persiste. Moi si je teste j'obtiens ça (la même chose) :

Bonne journée
Cordialement
R-P7