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

Web Perl Discussion :

CSS - problème de chemin (path) ?


Sujet :

Web Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 66
    Par défaut CSS - problème de chemin (path) ?
    Bonjour, j'ai un problème qui a déjà été abordé dans ce forum
    par black_code (le 21/02/2006) mais dont la solution ne marche
    pas dans mon cas :

    Mon objectif est simple :
    générer une page HTML avec une référence à un fichier CSS.

    Mon problème :
    la page générée ignore superbement les styles définis dans
    le fichier CSS correspondant.

    Mon environnement : Windows XP / IIS 5.1 / PERL 5.8.8
    Chemin du script PERL : "C:\web_test\cgi-bin\test.pl"
    Chemin de la feuille de style : "C:\web_test\css\style.css"
    Dossier virtuel : "test" correspond à "C:\web_test"

    Extrait du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $css_path = "../css/style.css";
    ...
    print "<link rel=\"stylesheet\" type=\"text/css\" href=\"", $css_path, "\">\n";
    Je pense que la clé du problème se trouve dans la définition de $css_path.
    J'ai commencé par vérifier les droits d'accès au fichier, tout est OK.

    Si je définis $css_path avec le chemin absolu, ça marche. Si je déplace
    le fichier "style.css" dans le dossier "cgi-bin" avec $css_path défini à
    "style.css", ça marche également. Sinon, nada.

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    la racine de tes sites web se trouve dans le repertoire www.
    => www/web_test/****
    => www/web_test/css/style.css

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $css_path = "/web_test/css/style.css";
    voilà

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 66
    Par défaut
    Merci pour la réponse mais désolé, ça ne marche pas.

    N'ayant pas compris le code proposé, j'ai quand-même essayé,
    sans trop y croire et surtout, sans que ça marche.

    Du reste, pourquoi le dossier "www" ? Je n'ai rien de tel, uniquement
    un dossier web_test (C:\web_test) sur lequel, j'ai crée un "partage web",
    via ses propriétés avec l'alias "test" pour que je puisse y accéder
    via la barre d'adresse du navigateur (IE) : "http://localhost/test/test.pl"

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    alors tu te melanges un peu.
    1) quel est la recine de ton site? c'est à dire quel est l'arborescence de ton site web.
    Generalement sur apache (par default) il existe un repertoire www et à l'interieur, tu cree autant de repertoire que de sites.
    Bref, que tape tu dans l'url pour acceder à ton site web ?
    Par exemple :http://localhost/test/accueil.html
    Ceci veux dire que la racine de ton site est le repertoire test.
    alors le chemin vers ton fichier css sera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $css_path = "/test/css/style.css";
    si ton fichier css est bien dans le repertoire css situé dans le repertoire test.

    Et tu dois ensuite avoir un repertoire cgi-bin ou il y a des scripts cgi. Et donc pour l'appeler, tu tape dans l'url http://localhost/cgi-bin/test.pl

    voilà

  5. #5
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par Mat_F
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $css_path = "../css/style.css";
    ...
    print "<link rel=\"stylesheet\" type=\"text/css\" href=\"", $css_path, "\">\n";
    Je pense qu'avec ce code ça devrait marcher (si la structure de ton site est bien telle que tu nous l'as décrites) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $css_path = '/test/css/style.css';
    ...
    print qq(<link rel="stylesheet" type="text/css" href="$css_path">\n);
    --
    Jedaï

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 66
    Par défaut
    Et bien j'ai résolu mon problème
    En fait, djibril avait raison, "je mélange un peu".
    J'avais tout un mic-mac de dossiers virtuels...
    J'ai fait de l'ordre là-dedans et repris le raisonnement à zéro et maintenant tout marche :

    - un dossier "c:\web_test" alias "test" comme "partage web"
    - un fichier "c:\web_test\cgi-bin\test.pl" le script PERL
    - un fichier "c:\web_test\css\style.css" pour la feuille de style
    - un fichier "c:\web_test\index.htm" qui possède un lien vers "test.pl" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="http://localhost/test/cgi-bin/test.pl">test CGI</a>
    Le fichier "index.htm" est affiché via l'adresse "http://localhost/test/"
    Dans "test.pl" j'appelle la feuille de style avec le chemin relatif :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $css_path = "../css/style.css";
    Encore merci pour vos réponses rapides. C'était ma première expérience
    sur developpez.com et sans doute pas la dernière, ce site étant vraiment
    très bien conçu et dont les menbres semblent réactifs et compétents.

  7. #7
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    bienvenue à toi.
    Dès qu'on met pieds aux forums de dvp.com, on s'y accroche et on le quitte plus .
    bon courage!

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

Discussions similaires

  1. Problème de chemin relatif avec TOMCAT pour mes CSS et images
    Par hitokiri06 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 16/11/2010, 19h00
  2. [1.x] problème de chemin entre fichiers CSS
    Par Playerz dans le forum Symfony
    Réponses: 5
    Dernier message: 05/11/2010, 12h47
  3. Réponses: 17
    Dernier message: 13/07/2004, 20h37
  4. [Struts][JSP]Problème de Action Path
    Par luzi dans le forum Struts 1
    Réponses: 2
    Dernier message: 23/05/2004, 23h39
  5. [JSP] Include, problème de chemin relatif
    Par dafly dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 15/04/2004, 14h11

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