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

Mise en page CSS Discussion :

css et cgi: source d'une boite?


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 22
    Par défaut css et cgi: source d'une boite?
    Bonjour,
    Je travaille sur un microcontrôleur (le SC23 de chez BECK pour ceux que ca intérese) disposant d'un serveur web. Mon objectif est de construire une page internet comportant une partie statique, et une partie dynamique qui affiche des valeurs lues sur des périphériques.

    J'ai à la base assez peu de connaissances en html, juste les bases de fonctionnement. Aprés quelques recherches, j'ai réussi à construire ma page en utilisant une iframe, dont la source (src="/UrlConstruiteParMaFonctionCgi") était la page construite par ma fonction CGI. Je raffraichissais mon iframe grace à quelques lignes de javascript, rien de bien exeptionnel.

    Code : 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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
    <html>
    <head>
    <title>DB54 Test CGI iframe</title>
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="pragma" content="no-cache">
    <script language="JavaScript1.2">
    <!--
      var refreshurl = '/dipcgi';
      var refreshcounter = 2;
      function refresh()
      {
        if (refreshcounter == 0)
        {
          window.frames['cgiframe'].location.href = refreshurl;
          refreshcounter = 2;
          refresh();
        }
        else
        {
          refreshcounter = refreshcounter - 1;
          setTimeout("refresh()",1000);
        }
      }
    -->
    </script>
    </head>
    <body bgcolor="#eeeeee">
    <FRAMESET ROWS="10%,*">
    <FRAME NAME="menu" src="/menu.html">
      <FRAMESET COLS="30%,*">
      <FRAME NAME="cgiframe" SRC="/dipcgi">
      <FRAME NAME="cgiframe2" SRC="/dipcgi2">
      <NOFRAMES>Votre navigateur ne supporte pas les frames^^</NOFRAMES>
      </FRAMESET>
    </FRAMESET>
    <hr size="0">
    <p><small><em>&copy; 2007 by XXXXXX S.A</em></small></p>
    <script language="JavaScript1.2">
         <!--
          refresh();
         -->
    </script>
    </body>
    </html>
    Content de moi, j'étais arrivé à mes fins assez simplement.

    J'ai appris en discutant de la réalisation de ce mini-projet avec une de mes connaissances que les frames et les iframes étaient aujourd'hui abandonnés au profit du CSS. Ni une ni deux, je me dis que si j'ai réussi à le faire aussi "simplement" avec une iframe, ca ne doit pas être baucoup plus compliqué de le faire en CSS.

    J'ai lu toute la matinée des tutos, des faqs et des forums concernants les CSS. J'ai compris que "l'équivalant" des iframes étaient les "boites" en CSS. Par contre, et c'est la qu'intervient (enfin) ma question, est-il possible de donner une "source" à une boite. Par source, j'entends une URI valable. J'ai beau cherché un peu partout, je n'ai pas encore trouvé une réponse à cette question.

    Merci d'avance à ceux qui prendront le temps de lire tout cela, et encore plus à ceux qui tenteront de me répondre.
    Cordialement.

  2. #2
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    Salut,

    Il n'y a pas réellement d'équivalent aux frames en css.
    Tu peux très bien t'approcher visuellement du résutat, mais rien de plus.

    Les frames ont été abandonnées car elles posaient des problèmes d'accessibilité et de référencement.
    Si tu ne te préoccupes pas de ces problèmatiques, je te recommande de ne pas chercher plus loin (sauf si tu désires apprendre le css pour d'autres raisons).

    Sinon, pour répondre un peu à ta question...

    Une boite est un terme vague qui veut aussi bien dire tout que rien. Je pense que tu as surtout du voir le terme "modele de boite".
    Les éléments html sont rendus sous forme de rectangle avec des marges , des bordures, des padding (on peut voir ca comme des marges internes) et le contenu lui même.
    Le modèle de boite permet de définir comment on doit calculer la taille de ces différentes parties par rapport à la largeur totale de l'élément.

    L'élément HTML qui te permet d'indiquer une source est l'élément object (voir FAQ: http://xhtml.developpez.com/faq/?pag...hier_inclusion)

    Mais pour moi, c'est pareil que les frames et ca induit les même comportement que ce qui a poussé à leur abandon (a part que c'est valide xhtml strict...).

    Voilà,
    j'espère que je ne t'aurai pas plus embrouillé qu'autre chose...
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 22
    Par défaut
    merci pour ta réponse.

    Tout dabord, non tu ne m'as pas embrouillé, j'écume depuis ce matin des tutos sur le css et je commence un peu à comprendre comment tout cela s'articule.

    Je n'ai pas été assez précis quand je parlais de "boite" : je ne faisais pas référence au "modele de boite" définissant concrétement la taille d'un élément.
    Par le mot "boite" je faisais référence à la possibilité de fractionner une page en plusieurs parties (comme quand on utilise des frames). En css, d'aprés ce que j'ai compris, on peut le faire en utilisant la balise <div>:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    div#page {
        text-align: left;    /* contenu placé à gauche */
        margin: 0 auto;      /* centrer horizontalement de manière standard */
        width: 760px;
        padding: 0.5em;
        border: 2px ridge silver;
      }
    et dans l'html:
    Mon problème est que je n'ai pas l'impression de pouvoir utiliser l'attribut src comme je le faisais le plus simplement du monde avec les frames:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <FRAME NAME="menu" src="/menu.html">
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <FRAME NAME="cgiframe" SRC="/dipcgi">
    Je ne sais pas si je suis trés clair....N'hésitez pas à me demander des explications si ce n'est pas le cas.
    Cordialement.

  4. #4
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    Dans ce cas, je citerai la première partie de mon message...

    Citation Envoyé par MasterOfChakhaL Voir le message
    Il n'y a pas réellement d'équivalent aux frames en css.
    Tu peux très bien t'approcher visuellement du résutat, mais rien de plus.
    Le css n'est qu'un langage de mise en forme. Tu ne peux pas manipuler ton contenu...

    Dans tes lectures, tu as peut-être entendu parler de pseudo frames, mais je pense que c'est un terme un peu limite.
    La frame, c'est un peu comme une nouvelle instance de ton navigateur, dans le navigateur.
    Tu as un document qui en inclus d'autres.
    Les pseudo frames (ou peu importe le nom) permettent d'obtenir le même rendu visuel, par contre, tu n'as qu'un seul document sous les yeux... Tu peux faire des includes côté serveur pour te simplifier la tache, mais les parties répétitives qui se trouvent sur toutes les pages seront effectivement répétées...

    Une question que je te pose à mon tour. Qu'est-ce qui te force à ne pas utiliser les frames à part "ca se fait plus, c'est has been" ?
    Car tout ce que tu expliques visent à reproduire le comportement reproché aux frames (donc selon moi tu perds du temps pour pas grand chose).
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 22
    Par défaut
    Je vais commencer par répondre à ta question : Rien ne me force à ne pas utiliser les frames. "On" m'a dit que ce n'était pas "propre" d'utiliser des frames....Je me suis arrété la, je veux que mon travail, même quand on passe a du développement web, soit propre. Si j'utilise un moyen jugé obsoléte par les personnes compétentes dans un domaine, j'essaie de me mettre à jour techniquement.
    Maintenant, c'est clair que les frames (ou iframes) répondent exactement à mes besoins:
    -je peux diviser l'écran comme je le souhaite.
    -je peux insérer l'html produit par mon prog CGI facilement (src="/.....").
    -je peux raffraichir uniquement la partie dynamique de la page. D'un point de vue visuel, ca "lag" moins, et c'est moins gourmand en bande passante (bien que je me contente d'afficher des pages html, ce qui est loin d'être gourmand....).

    Tu dois être la personne la plus compétente avec qui il m'a été donné de discuter à ce sujet. La personne m'ayant conseillé d'abandonner l'utilisation des frames n'étant pas un spécialiste de la question.
    Si tu juges que je dois me contenter de cela, je prendrais cela comme l'avis le plus pertinent dont je disposerais.

    Pour l'instant, mon "projet", pour la partie développement web, se limite à une page et un prog (CGI) s'éxécutant en parralléle.
    En tout cas cela m'aura permis d'etoffer mes compétences en html/CGI et un poil de CSS.

    J'attends ta (derniere) réponse avant de te remercier une dernière fois d'une part et d'éditer le tag de mon post d'autre part et enfin, de te souhaiter une bonne fin de journée.

    edit: je ne vais pas te faire perdre plus de temps.
    J'ai édite le tag de mon post.
    Je te remercie pour ton aide, c'est vraiment appréciable un forum comme celui la ou on a rapidement des réponses de qualité, je vais pouvoir continuer à "m'amuser" avec mon joujo..heu microcontrôleur!
    Bonne fin de journée.
    Cordialement.
    Jérémy

  6. #6
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    En temps normal, j'aurais tout fait pour te convaincre de ne pas utiliser les frames. Mais là, ca n'est pas le cas.

    Je ne sais pas quel sera la publique de cette page, mais il me semble assez clair que le but n'est pas de se faire référencer par google.

    La question de l'accessibilité peut encore se poser (un des reproches fait aux frames, c'est qu'ils "cassent" le document en en incluant un autre, ce qui peut poser des problèmes aux personnes mal voyantes qui utilisent un lecteur d'écran).

    Un autre reproche que l'on fait aux frame, c'est qu'il n'est pas possible de bookmarker les différentes pages (puisque l'url est celle du document maitre, le jeu de frame). Mais là encore, tu dis n'avoir qu'une page...

    Ton interface est sensée ramené des valeurs issues de péripériques. Je suppose donc que le contenu de la frame sera mis à jour de manière automatique et fréquemment.
    L'économie de bande passante que te fait réaliser les frames n'est peut être pas si négligeable que ca.

    Maintenant, la personne qui t'a indiquée que les frames, c'est dépassé n'a vraiment pas tort. C'est simplement que tu te trouves dans un des rares cas où la question se pose encore.

    Tout ceci n'est que mon avis. tu peux rester à l'écoute de ce fil au cas où d'autres personnes apporteraient des réponses qui complètent la mienne voir qui la contredisent...
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/06/2009, 11h37
  2. Réponses: 5
    Dernier message: 11/10/2008, 22h54
  3. [CSS] Probleme avec le contenu d'une boite avec IE
    Par Seth77 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 19/07/2006, 11h52
  4. [CSS]fixer une boite..flottante
    Par goodvibs dans le forum Mise en page CSS
    Réponses: 15
    Dernier message: 21/06/2006, 08h56
  5. [CSS] Taille d'une boite DIV dans un tableau
    Par Seth77 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 14/06/2006, 19h17

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