IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

Code source en plusieurs fichiers


Sujet :

HTML

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 197
    Points : 185
    Points
    185
    Par défaut Code source en plusieurs fichiers
    Bonjour,
    je souhaiterai savoir s'il est possible d'insérer du code source provenant d'un fichier différent, dans le code source d'une page web, un peu comme la commande \input qu'on utilise en latex, pour ceux qui connaissent ?

    merci d'avance

  2. #2
    Membre expert
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 700
    Points : 3 849
    Points
    3 849
    Billets dans le blog
    6
    Par défaut
    Oui, bien sûr.

    Perso, je connais deux possibilités :
    • En html avec la balise <OBJECT>.
    • En PHP, avec include() (la meilleure solution selon moi). Je crois que ça nécessite d'inclure le contenu d'un fichier .php dans un autre .php. Voici un exemple.
      fichier-a-charger.php
      Code php : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
       
      <!doctype html>
      <html lang="fr-FR">
      	<head>
      		<title>Mon site</title>
      		<meta name="description" content="Bienvenue sur mon site." />
      		<!-- Toutes les autres balises du header sont dans le include -->
      		<?php include(/chemin/include/fichier-a-inclure.php); ?>
      	</head>
      	<body>
      ...
      	</body>
      </html>

      fichier-a-inclure.php
      Code php : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
       
      <meta charset="UTF-8" />
      		<meta http-equiv="content-language" content="fr-FR" />
      		<meta name="robots" content="all" />
      		<link rel="stylesheet" type="text/css" href="/css/20121221.css" />

      NOTA: la syntaxe du chemin de l'include peut varier en fonction du serveur.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 197
    Points : 185
    Points
    185
    Par défaut
    ça a l'air pas mal comme solution.
    ça veut dire qu'on n'est pas obligé de mettre du php dans un fichier php à inclure ?

    En tout cas c'est bien, parceque je voudrais utiliser la balise header du html 5 pour faire une entête avec une balise nav à l'interieur qui serait identique sur plusieurs pages web (du coup si je modifie qqchose dans nav, je ne le ferai qu'une fois)
    et pareil dans la balise aside qui pourrai être identique pour chaque page d'un même thème.

    merci pour l'info, je testerai ça demain pour voir.

  4. #4
    Membre expert
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 700
    Points : 3 849
    Points
    3 849
    Billets dans le blog
    6
    Par défaut
    ça veut dire qu'on n'est pas obligé de mettre du php dans un fichier php à inclure ?
    Non, mais on peut le faire

    je voudrais utiliser la balise header […] et pareil dans la balise aside qui pourrai être identique pour chaque page d'un même thème.
    C'est exactement ce que je fais
    Pour info, si on regarde le code source interprété d'une page avec des include, on ne voit pas qu'il y a des include. On voit juste le contenu des include, au côté du reste du code.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 197
    Points : 185
    Points
    185
    Par défaut
    Je n'ai pas eu le temps de regarder la balise <object>
    En revanche, j'ai essayé avec la fonction php, mais ça ne fonctionne pas.

    J'ai essayé directement en local en ouvrant le fichier html avec firefox, puis sur mon serveur local apache avec php d'activé, puis directement en mettant la page en ligne chez free. En fait, le fichier n'est pas inclu. Je ne sais pas pourquoi...

    Je teste la balise object demain.

  6. #6
    Membre expert
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 700
    Points : 3 849
    Points
    3 849
    Billets dans le blog
    6
    Par défaut
    Sous Apache, je fais mes include comme ça :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php include($_SERVER['DOCUMENT_ROOT']."/chemin/fichier-a-inclure.php"); ?> // = /chemin/fichier-a-inclure.php

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 197
    Points : 185
    Points
    185
    Par défaut
    Bon, en fait, ça fonctionne.
    C'est simplement que le fichier dans lequel j'insère du code doit avoir une extension en .php. Dans ce cas ça fonctionne...

    J'ai essayé la balise object, mais ça ne me parait pas simple à utiliser.
    ça n'inclue pas le code dans la page d'origine, donc je suis obligé de créé une vraie page, avec l'appel au CSS, etc... au lieu d'un fichier qui contient juste la partie du code à insérer (pas trop grave en sois). Le plus ennuyeux, c'est qu'il faut définir les dimensions et autres choses dans ce genre, parceque sinon ça créé une zone relativement petite avec des barres de défilement.

    Par contre, dans l'éventualité ou je voudrais que la zone insérée aie un comportement particulier, comme par exemple rester affichée à l'écran quand on fait défiler la page (c'est pratique pour un menu), est-ce que la balise object pourrait faire l'affaire, ou du css (je sais qu'on peut bloquer un objet sur la page mais dans ce cas, il se supperpose au reste) ?

    Merci en tout cas pour l'astuce du php, c'est bien pratique...

  8. #8
    Membre expert
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 700
    Points : 3 849
    Points
    3 849
    Billets dans le blog
    6
    Par défaut
    Merci en tout cas pour l'astuce du php
    De rien Mais comme tu le vois, ce n'est pas une astuce : c'est un choix technique, plus simple et plus souple qu'utiliser une balise html.

    je voudrais que la zone insérée aie un comportement particulier, comme par exemple rester affichée à l'écran quand on fait défiler la page (c'est pratique pour un menu) […] je sais qu'on peut bloquer un objet sur la page mais dans ce cas, il se supperpose au reste
    S'il le menu reste affiché, c'est normal qu'il se superpose au reste

    Dans tous les cas, il ne s'agit plus de choix de balises html. Il faut passer par CSS. Par exemple :
    1. Utiliser position:fixed sur le menu.
    2. Adapter la "page pleine", dont je propose ici une version :
      Code html : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
       
      <!doctype html>
      <html lang="fr-FR">
      <head>
      	<meta charset="UTF-8" />
      	<title>Mise en page pleine + header/footer fixes</title>
      	<meta name="author" content="NoSmoking, Muchos" />
       
      	<style type="text/css">
      html, body {
              height : 100%;
              margin : 0;
      }
      #page {
              min-height : 100%;      /* La page est toujours pleine */
              position: relative;
      }
       
      header, footer {
              position: absolute;
              height : 20%;
              width: 100%;
              background-color : lightgray;
              text-align: center;
      }
      header {top: 0;}        /* Header fixé en haut */
      footer {bottom: 0;}     /* Footer fixé en bas */
       
      article {
              position: absolute;
              top: 20%;       /* La position varie en fonction de la hauteur du header */
              width: 100%;
              height: 60%;
              overflow : auto;        /* Permet de scroller le corps de texte */
      }
      h1 {margin: 0; text-align: center;}
      p {line-height: 2em;}
       
      /* 
      Pour ajouter des padding et bordure sans débordement [css3] :
      box-sizing: border-box;
      */
              </style>
       
      	<!--[if IE 6]>
      	<style type="text/css">
      	#page {
      	  height : 100%;
      	}
      	</style>
      	<![endif]-->
       
      </head>
       
      <body>
      <div id="page">
      	<header>header</header>
      	<article>
      		<h1>corps de page</h1>
      		<p>foo <br> bar <br> foo <br> bar <br> foo <br> bar <br> foo <br> bar</p>
      		<p>foo <br> bar <br> foo <br> bar <br> foo <br> bar <br> foo <br> bar</p>
      	</article>
      	<footer>footer</footer>
      </div>
      </body>
      </html>

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 197
    Points : 185
    Points
    185
    Par défaut
    Je découvre le css depuis peu, donc je ne maitrise pas complètement, mais en gros, tu donnes 20% de la hauteur aux header et footer, et comme ils sont en position absolue, les articles vont glisser entre les deux...

    Vraiment bien comme truc !

    merci beaucoup


    bon, si je me trompe dans mon explication, tiens moi au courant.
    sinon, je mettrait le post en résolu
    merci encore

Discussions similaires

  1. [XL-2003] Vb auto récupération de valeur dans le code source de plusieurs pages web
    Par Supremereboot dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 20/04/2011, 12h36
  2. Un code source sur plusieurs pages (listings?)
    Par poppels dans le forum Mise en forme
    Réponses: 4
    Dernier message: 02/03/2010, 21h23
  3. Réponses: 15
    Dernier message: 16/01/2009, 00h16
  4. Code source pour plusieurs compilateurs
    Par runn2 dans le forum C++
    Réponses: 1
    Dernier message: 17/10/2007, 16h00
  5. Récupérer le code source d'un fichier créé dynamiquement
    Par jeanvincent dans le forum Langage
    Réponses: 2
    Dernier message: 06/12/2006, 15h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo