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

Conception Web Discussion :

design.css == index.php ?


Sujet :

Conception Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2013
    Messages : 24
    Par défaut design.css == index.php ?
    Bonjour ou bonsoir selon l'heure.

    J'écris actuellement un site avec Apache 2 sur un serveur local.

    Premièrement, je vous expose le fonctionnement général du site :

    J'ai implémenté une méthode d'inclusion de fichier dans la page index.php selon l'URI, ce qui veut dire que toute la navigation dans le site doit s'effectuer sur cette page et pas une autre (facilite le développement, la configuration, la navigation, rend plus claire l'organisation du site, rend moins évidentes les attaques par URL smashing ou directory listing et en plus c'est intéressant à mettre en place !).

    Pour s'y faire, un .htaccess redirige l'utilisateur (lorsqu'il entre une URI) sur la racine du site puis l'URI est extraite et traitée. Ensuite si la page existe elle est incluse dans une div, sinon 404.php se voit inclure à sa place.

    Tout fonctionnait très bien, jusqu'au moment où HTML, a décidé, je crois, de me faire une farce : lorsque j'appelle la page d'index avec une URI quelconque (mis à part /index), je vois la balise <link> que j'utilise pour appeler la fiche CSS contenir le code de la page d'index. Résultat : plus de CSS en dehors de la page d'accueil de mon site.

    Ma question est alors pourquoi HTML confond-il design.css et index.html ?

    J'ai cherché sur le Net de quoi me mettre sous la dent à propos de la balise <link>, mais tout ce que j'y ai actuellement trouvé me paraît trop général (confus) pour vraiment comprendre d'où vient mon problème. C'est pour cela que je lance un appel à l'aide sur le forum afin d'avoir un avis interactif sur ce problème que je trouve plutôt bizarre, puis si cela arrive à quelqu'un d'autre, ceci lui évitera peut-être de se taper des pavés de lignes de documentation anglophones avec lesquelles il est difficile de mettre en lien A et B en ce qui concerne cette bizarrerie.

    Il m'est fastidieux et inutile de poster le code (à moins que vous le demandiez vraiment) car il n'y a que les outils de développement de mon navigateur qui me permettent de comprendre que HTML confond design.css et index.php dans <link> ... Copier-coller la source dans les deux cas affiche exactement la même chose (hormis la partie de la page incluse en fonction de l'URI).

    J'espère avoir été assez clair. Merci à ceux qui auront lu et d'avance à ceux qui me répondront .

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 666
    Par défaut
    comment est rempli l'attribut href la balise link ? comme le code suivant ?
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" type="text/css" href="/design.css"/>

    montre nous aussi le fichier .htaccess

    pour information voilà comment WordPress redirige les URL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    RewriteEngine On
    RewriteBase /repertoire/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /repertoire/index.php [L]
    les 2 lignes "RewriteCond" permettent de ne pas passer par le fichier index.php quand le fichier demandé ou le répertoire demandé existe

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Il semble qu'il y ai pas mal de confusions dans tes explications...

    facilite le développement, la configuration, la navigation, rend plus claire l'organisation du site, rend moins évidentes les attaques par URL smashing ou directory listing
    Mouais, c'est un point de vue, mais si tu postes ton message, c'est peut-être que cette fameuse "facilitation du développement" est assez hypothétique.

    Pour s'y faire, un .htaccess redirige l'utilisateur (lorsqu'il entre une URI) sur la racine du site
    Donc manifestement, c'est là que tu dois pouvoir différencier les différentes parties du site et ne pas faire la même chose selon qu'il s'agisse de contenu, de styles, de scripts voire d'images ou autres médias.

    HTML, a décidé, je crois, de me faire une farce
    Ah... pourtant, HTML n'a pas la réputation d'être particulièrement blagueur, d'autant qu'il n'a rien à voir avec le processus que tu évoques !

    je vois la balise <link> que j'utilise pour appeler la fiche CSS contenir le code de la page d'index
    Ce qui semble confirmer que ton processus qui facilite le développement ne facilite pas tant que ça au final.

    Ma question est alors pourquoi HTML confond-il design.css et index.html ?
    Comme évoqué, HTML (pas plus du reste que PHP ou Apache qui sont manifestement les vrais éléments en jeu) ne fait pas de farce, il fait juste ce qu'on lui demande de faire, à savoir structurer du contenu qui sera affiché par le navigateur. Donc ça confond parce que quelque part dans ton code, tu confonds. C'est donc bien ton code (mais pas le HTML généré dans le navigateur) qui peut permettre de résoudre ton problème.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2013
    Messages : 24
    Par défaut Levons la confusion !
    Tout d'abord merci pour votre aide.
    Il s'agissait en fait d'un bug d'Apache, puisqu'un simple redémarrage a suffit.
    Néanmoins je n'ai eu ouïe-dire de ce bug nulle part sur la Toile.

    mathieu : Je n'utilise pas WordPress mais merci

    Bovino, suite à ce que tu as posté :

    facilite le développement, la configuration, la navigation, rend plus claire l'organisation du site, rend moins évidentes les attaques par URL smashing ou directory listing
    Le bypass .htaccess (si je peux le nommer comme ça) facilite surtout le développement de sites statiques (on peut se contenter d'un seul répertoire pour toutes les vues) et comme l'URL est "transparente" la visibilité sur les fichiers stockés sur le serveur est extrêmement réduite (on pourrait même aller jusqu'à crypter chaque nom de fichier inaccessible par le navigateur !).

    Cependant j'accorde que cette technique rend bien plus ardu le développement d'un site dynamique (notamment car les données POST ou GET ne transitent pas d'une page à l'autre si l'on ne redirige pas explicitement sur le script censé traiter les données).

    Pour s'y faire, un .htaccess redirige l'utilisateur (lorsqu'il entre une URI) sur la racine du site
    Donc manifestement, c'est là que tu dois pouvoir différencier les différentes parties du site et ne pas faire la même chose selon qu'il s'agisse de contenu, de styles, de scripts voire d'images ou autres médias.
    En fait je ne redirige pas directement sur l'index mais sur un script PHP redirigeant sur la racine après s'être occupé de tout ce qui est requête dans la base de données (authentification sur le site, insertion ...) en fonction de $_SESSION et $_POST.

    HTML, a décidé, je crois, de me faire une farce
    Car effectivement, tout semblait vraiment comme si mon serveur était d'humeur blagueuse car mon code ne s'occupait en rien de cette balise (elle était directement écrite en HTML).
    Farce ici était utilisé comme une image, car je n'arrivais pas à comprendre la source de mon problème donc j'ai pensé de façon imagée que HTML - ou quoi que ce soit d'autre que j'imaginais en lien avec mon problème - m'ait fait une farce. J'étais donc en totale connaissance de cause lorsque je me suis permis d'utiliser farce plutôt que "problemedontjenemefigurepascommentjauraispuenetrelasource". Farce est une expression plus jolie et condensé et selon mon jugement rajoute une petite note d'humour. Mais l'humour ressemble à la beauté car il n'existe que dans l'oeil de celui qui regarde.

    Je reconnais avoir été mathématiquement inexact, je m'en excuse.

    Enfin voilà la solution (en ligne de commande) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ service apache2 restart

Discussions similaires

  1. [2.x] design CSS des FormType.php / Twig
    Par aitiahcene dans le forum Symfony
    Réponses: 14
    Dernier message: 26/07/2012, 13h13
  2. [css et php] problème de z-index à générer à la volée
    Par Christophe93250 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 07/03/2007, 13h21
  3. PHP/CSS:affichage seulement si j'entre "index.php"
    Par midiweb dans le forum Langage
    Réponses: 6
    Dernier message: 14/02/2007, 14h20

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