IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Problème de lien relatif à la racine du site
Options
Rwan75
posté 2 Aug 2007, 11:27
Message #1


Nouveau Membre


Groupe : Membres
Messages : 19
Inscrit : 7 Nov 2006
Membre no 72 346



Bonjour

Je suis graphiste et pas programmeur, je monte un site en php pour pouvoir utiliser un maximum d'include.
J'ai installer Mamp, tout fonctionne, sauf les liens relatifs à la racine du site. Dans Dreamweaver je vois les images, mais dans l'URL locale elles n'apparaissent pas.

Quelqu'un peut-il maider ?

Merci
Go to the top of the page
 
+Quote Post
Hyp
posté 2 Aug 2007, 11:30
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 172
Inscrit : 7 May 2005
Membre no 38 651



Il faudrait préciser wink.gif

Par exemple, donnes le code que tu utilises pour les liens, et l'arborescence de tes fichiers.

Parce que là on ne peut pas dire grand chose...
Go to the top of the page
 
+Quote Post
Rwan75
posté 2 Aug 2007, 12:18
Message #3


Nouveau Membre


Groupe : Membres
Messages : 19
Inscrit : 7 Nov 2006
Membre no 72 346



Ok

Par exemple une image à afficher.
Le chemin :
/media/atej/viewer.gif
media est un dossier à la racine du site

Et voici l'URL du site avec Mamp
http://localhost:8888/elmstudio/index.php
elmstudio est la racine du site en local.

Les liens relatifs marchent mais pas les liens abolus.

A mon avis ce n'est pas un probème de code pour les liens, mais plutôt un problème de définition de racine de site dans Mamp. Mais ça je ne sais pas comment faire (htaccess ?).
Go to the top of the page
 
+Quote Post
Guest_Sir Morgan_*
posté 2 Aug 2007, 12:47
Message #4





Guests






Tu veux dire que le lien absolu :

http://localhost:8888/elmstudio/media/atej/viewer.gif

... ne fonctionne pas ? blink.gif
Go to the top of the page
 
+Quote Post
Rwan75
posté 2 Aug 2007, 13:20
Message #5


Nouveau Membre


Groupe : Membres
Messages : 19
Inscrit : 7 Nov 2006
Membre no 72 346



Non c'est pas ça.

L'adresse de ma page en local avec Mamp c'est :
http://localhost:8888/elmstudio/index.php
elmstudio est le répertoire de mon site
J'importe une image dans la page "index.php" en lien absolu :
<img src="/media/atej/bacground_00.jpg" alt="z" width="959" height="524">
L'image apparaît dans dreamweaver pas dans firefox.
Go to the top of the page
 
+Quote Post
Guest_Sir Morgan_*
posté 2 Aug 2007, 13:50
Message #6





Guests






Mais le lien que tu donnes, ce n'est pas un lien absolu, ça !.. c'est un lien relatif !

Un lien absolu décrit la totalité du chemin depuis http jusqu'au fichier.

Tout dépend où se situe ton dossier media par rapport à ta page d'index. Si il est au même niveau, cad dans le dossier elmstudio, alors tu peux te contenter d'un lien relatif comme tu le dis et ça doit fonctionner.

Pour remonter une arborescence en lien relatif on écrit le lien comme ceci > ../media/atej/bacground_00.jpg

Mais je serais étonné que ton dossier media se trouve au même niveau que ton dossier racine elmstudio...

Pour pouvoir t'aider, il faut que tu dises où se situe ton dossier media par rapport au fichier index.
Go to the top of the page
 
+Quote Post
canari
posté 2 Aug 2007, 16:43
Message #7


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 484
Inscrit : 26 Jul 2004
Membre no 21 405



CITATION(Rwan75 @ 2 Aug 2007, 13:18) [snapback]2296562[/snapback]

Ok

Par exemple une image à afficher.
Le chemin :
/media/atej/viewer.gif
media est un dossier à la racine du site

Et voici l'URL du site avec Mamp
http://localhost:8888/elmstudio/index.php
elmstudio est la racine du site en local.

Les liens relatifs marchent mais pas les liens abolus.

A mon avis ce n'est pas un probème de code pour les liens, mais plutôt un problème de définition de racine de site dans Mamp. Mais ça je ne sais pas comment faire (htaccess ?).

dans ton cas, il faut: media/atej/viewer.gif (sans le / devant)
Go to the top of the page
 
+Quote Post
Rwan75
posté 2 Aug 2007, 18:23
Message #8


Nouveau Membre


Groupe : Membres
Messages : 19
Inscrit : 7 Nov 2006
Membre no 72 346



Heu...

Voici l'arbo

- racine du site (dossier elmstudio)
- fichier_index.php
- dossier_media
- dossier_atej
- fichier_image.jpg

si je veux un lien relatif à la page index.php :
media/atej/fichier_image.jpg

si je veux un lien relatif à la racine du site (absolu) :
/media/atej/viewer.gif
je mets un slash devant le lien pour que le navigateur retourne à la racine et parcours l'arbo jusqu'au dossier atej.

Imaginons un fichier index.php dans le dossier atej avec une image à la racine :
Chemin relatif au document :
../../fichier_image.jpg (descente de 2 répertoires par rapport au document)
Chemin relatif à la racine du site (absolu) :
/fichier_image.jpg (le slash renvoie à la racine du site où se trouve le fichier image)

Je bosse comme ça depuis quelques années.

"Un lien absolu décrit la totalité du chemin depuis http jusqu'au fichier"
Pas forcément, ici il s'agit d'un lien absolu relatif à la racine du site. Le slash renvoie à la racine.
Un lien avec http est effectivement un lien absolu, mais lorsque tu bosses sur un site et que tu mets un lien absolu http sur toutes tes pages, le navigateur va chercher les fichiers que tu as mis en ligne.
Ce n'est pas très pratique, l'intérêt étant de bosser d'abord en local, et de transférer ensuite le site sur le serveur, en ligne. Le slash permet aux liens de marcher en local et en ligne.

Il suffit d'aller voir un site, par exemple adobe.fr, voir le code source, voici un des liens pour une css :
href="/css/master_import/print.css

Mais comme je l'ai déjà dit Sir Morgan, mon problème c'est que Mamp ne trouve pas la racine du site, je pense que c'est plutôt un problème de configuration de serveur en local, et ça je ne sais pas faire.



Voici une explication dans l'aide de Dreamweaver sur les liens relatifs et absolus :

Il existe trois types de chemins d'accès de liaison :

Chemins absolus (par exemple, http://www.adobe.com/support/dreamweaver/contents.html).
Chemins relatifs au document (par exemple dreamweaver/contents.html).
Chemins relatifs à la racine du site (par exemple /support/dreamweaver/contents.html).
Go to the top of the page
 
+Quote Post
Hyp
posté 2 Aug 2007, 18:35
Message #9


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 172
Inscrit : 7 May 2005
Membre no 38 651



CITATION(Rwan75 @ 2 Aug 2007, 19:23) [snapback]2296902[/snapback]

"Un lien absolu décrit la totalité du chemin depuis http jusqu'au fichier"
Pas forcément, ici il s'agit d'un lien absolu relatif à la racine du site.

Non...
Un lien est soit absolu, soit relatif.
Tu le dis d'ailleurs toi-même en citant la doc de Dreamweaver...
Go to the top of the page
 
+Quote Post
Rwan75
posté 2 Aug 2007, 19:29
Message #10


Nouveau Membre


Groupe : Membres
Messages : 19
Inscrit : 7 Nov 2006
Membre no 72 346



Tu as raison dans l'absolu. Ha ha ha.

C'est les programmeurs de l'agence dans laquelle je bossais qui me disaient de mettre les liens en absolu. Mais bon...

Je vais tenter un autre forum pour avoir une réponse à ma question et pas un cours d'html pour débutant.

Sans rancune.
Go to the top of the page
 
+Quote Post
Hyp
posté 2 Aug 2007, 20:32
Message #11


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 172
Inscrit : 7 May 2005
Membre no 38 651



Regardes dans MAMP > bouton Préférences > Onglet Apache > quel est le document Root ?
/ ou /elmstudio ? (Ou autre chose ?)
Sélectionnes ton dossier elmstudio si tu es dans le premier cas.

CITATION(Rwan75 @ 2 Aug 2007, 20:29) [snapback]2296953[/snapback]

[...]un cours d'html pour débutant.

Ça ne fait jamais de mal wink.gif

Ce message a été modifié par Hyp - 2 Aug 2007, 20:43.
Go to the top of the page
 
+Quote Post
canari
posté 3 Aug 2007, 01:00
Message #12


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 484
Inscrit : 26 Jul 2004
Membre no 21 405



CITATION(Rwan75 @ 2 Aug 2007, 20:29) [snapback]2296953[/snapback]

Tu as raison dans l'absolu. Ha ha ha.

C'est les programmeurs de l'agence dans laquelle je bossais qui me disaient de mettre les liens en absolu. Mais bon...

Je vais tenter un autre forum pour avoir une réponse à ma question et pas un cours d'html pour débutant.

Sans rancune.

si tu veux vraiment faire un lien absolu, tu as intérêt à connaître le chemin complet pour arriver à ton site, tu peux avoir l'info via phpinfo() qui te donnera tout ça.
mais si ton site a une arboresence telle que tu l'as donnée, il faut bien comprendre que /elmstudio, ce n'est pas une adresse absolue. il y a un chemin physique avant d'arriver à ce répertoire.
Go to the top of the page
 
+Quote Post
Rwan75
posté 3 Aug 2007, 11:03
Message #13


Nouveau Membre


Groupe : Membres
Messages : 19
Inscrit : 7 Nov 2006
Membre no 72 346



"Regardes dans MAMP > bouton Préférences > Onglet Apache > quel est le document Root ?"

/Applications/MAMP/htdocs

Le répertoire de mon site se trouve dans le dossier htdocs.

Je me souviens que les programmeurs rajoutaient quelques lignes dans un fichier pour que les liens relatifs à la racine du site marchent en local. Mais dans quel fichiers ?

Le principal intérêt pour moi des liens relatifs à la racine du site, c'est de faire des includes avec des menus, barres de navigation, dans un répertoire includes. De cette manière les liens marchent sur toutes les pages, alors qu'avec des liens relatifs au document ça ne peut pas marcher :
http://blog.alsacreations.com/2005/05/29/1...ion-include-php
Les menus en include sont très pratiques lors de mise à jour, ajout de rubrique...

Merci pous vos réponses

Ça ne fait jamais de mal (un cours pour débutant)
Je suis d'accord. Mais au risque de me répéter, le problème ne vient pas des chemins (les images apparaissent dans dreamweaver, mais pas à l'adresse http://localhost:8888/elmstudio/). Le problème est, à mon avis lié au serveur local Apache.
Go to the top of the page
 
+Quote Post
Hyp
posté 3 Aug 2007, 12:01
Message #14


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 172
Inscrit : 7 May 2005
Membre no 38 651



CITATION(Rwan75 @ 3 Aug 2007, 12:03) [snapback]2297481[/snapback]

"Regardes dans MAMP > bouton Préférences > Onglet Apache > quel est le document Root ?"

/Applications/MAMP/htdocs

Le répertoire de mon site se trouve dans le dossier htdocs.

Remplaces par
/Applications/MAMP/htdocs/elmstudio

Et normalement ce sera bon.
Go to the top of the page
 
+Quote Post
LoupSolitaire
posté 3 Aug 2007, 12:25
Message #15


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 304
Inscrit : 12 Jan 2003
Lieu : Grande plaine aride, à droite après le cactus (94)
Membre no 5 590



CITATION(Sir Morgan @ 2 Aug 2007, 14:50) [snapback]2296658[/snapback]

...

Un lien absolu décrit la totalité du chemin depuis http jusqu'au fichier.

...


Un lien absolu commence par / . Il précise le chemin par rapport à la racine du site. Il n'est pas nécessaire de spécifier le serveur ou le protocole puisque par définition il s'agit du site en cours.

Un lien relatif commence par n'importe quel autre caractère. Le chemin est donc interprété à partir du répertoire en cours.

A+,
Loup
Go to the top of the page
 
+Quote Post
Rwan75
posté 3 Aug 2007, 13:30
Message #16


Nouveau Membre


Groupe : Membres
Messages : 19
Inscrit : 7 Nov 2006
Membre no 72 346



CITATION(Hyp @ 3 Aug 2007, 13:01) [snapback]2297525[/snapback]

CITATION(Rwan75 @ 3 Aug 2007, 12:03) [snapback]2297481[/snapback]

"Regardes dans MAMP > bouton Préférences > Onglet Apache > quel est le document Root ?"

/Applications/MAMP/htdocs

Le répertoire de mon site se trouve dans le dossier htdocs.

Remplaces par
/Applications/MAMP/htdocs/elmstudio

Et normalement ce sera bon.


Ok ça marche. Merci.
Le seul problème, c'est qu'il faudra que je change le chemin dans les préférences de Mamp pour chaque site créé. Mais c'est cool.

Mon URL en local est maintenant la racine de mon serveur : http://localhost:8888/
Go to the top of the page
 
+Quote Post
Guest_Sir Morgan_*
posté 3 Aug 2007, 13:35
Message #17





Guests






Okay pour cette précision sémantique, LoupSolitaire.

Disons qu'on devrait plutôt parler d'url absolue (quel que soit le protocole) et de liens relatifs ou absolus.
smile.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 24th April 2014 - 19:53