Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 02-07-2011 15:41:23

damdamien
Membre
Date d'inscription: 02-07-2011
Messages: 22

[résolu]suppression /public/ et extension .html dans l'url

Bonjour à tous

Je viens solliciter vos lumières car je suis me suis perdu dans les tristes explications de la Documentation du framework PHP zend version 1.11.

dans l'url exemple :

http://localhost/Ctunes/public/index

donc dans cette url deux choses me gènent!

Premièrement, le public

Comment fait-on pour virer ce public de l'Url j'ai pas dormi de la nuit et j'ai fait de multiples recherches mais toutes les soluces trouvées ne fonctionnent pas.

-soit .htaccess -> qui marche mais qui fait planter le fichier index.php présent dans le dossier public.

-soit déplacer le dossier public de application vers la racine du site. mais alors là tu te lances dans une reconfiguration complète du framework.

Deuxièmement, comment faitàon pour ajouter un suffix à l'url ?

Je voudrais ajouter un joli .html à la fin de mon url afin d'optimiser le référencement de mais futurs projets.

Là, c'est pareil tu pars dans des pseudo descriptifs en anglais pour procéder à l'ajout de ce suffix mais rien ne marche.

Quelqu'un pourrait m'aidé SVP

amicalement

damdamien

Dernière modification par damdamien (05-07-2011 11:38:20)

Hors ligne

 

#2 02-07-2011 16:14:25

bgy
Membre
Lieu: Aix en Provence
Date d'inscription: 23-02-2009
Messages: 14
Site web

Re: [résolu]suppression /public/ et extension .html dans l'url

Première chose, il ne s'agit d'une configuration d'URL mais de ton serveur web.

à en juger par ton url, ton DOCUMENT_ROOT
doit être quelque chose du style /var/www
dans lequel se trouve ton dossier Ctunes
Tu dois configurer ton serveur web, pour utiliser par exemple une virtualhost qui pointera vers Ctunes/public
et j'insiste sur le public, ton application ne doit pas résider dans le DOCUMENT_ROOT de ton serveur web.

tu auras une structure telle que celle ci :

Code:

bguery@joyless:/mnt/sites$ tree -L 1 monsite.dev
monsite.dev/
├── application
├── docs
├── htdocs -> public
├── library
├── public
├── tests
└── var

7 directories, 0 files

Tu accèderas ensuite à ton site à l'adresse http://monsite.dev/
moyennent l'ajout d'une entrée dans ton fichier hosts.

Concernant ton point .html, s'il ne s'agit là que d'un aspect SEO et non pas esthétique, tu perds ton temps, l'extension en tant que telle ne t'apportera absolument rien en terme de référencement.

Je t'invite très fortement à miser sur une intégration réussie et un contenu sémantiquement architecturé.

Je te conseille également la lecture de ces deux articles, en anglais, sur les URLs, l'accessibilité et le référencement :

http://www.w3.org/Provider/Style/URI
http://googlewebmastercentral.blogspot. … -urls.html


http://borisguery.com | Fork me on Github | Follow me on Twitter | Check out my tips on Coderwall | More About me

Hors ligne

 

#3 04-07-2011 10:54:56

damdamien
Membre
Date d'inscription: 02-07-2011
Messages: 22

Re: [résolu]suppression /public/ et extension .html dans l'url

Bonjour,

Je tiens à te remercier pour ces explications.

Donc j'ai bien virtualisé l'hote comme tu me l'as indiqué et ceci à bien réglé mon problème.

Cependant, peut on en conclure que l'utilisation  de l'architecture proposé par ZEND puissent créé des problèmes lors de l'utilisation d'un serveur mutualisé puisque les option de paramétrage sur ces serveurs sont minime voir inexistante.

Si la réponse et oui ! Doit on comprendre que ZEND ne soit pas totalement prévu pour être utilisé sur un mutu?

Pour ce qui est du deuxième point, au sujet de l'extension html dans l'url.

Je ne parler en rien du coter esthétique de la chose mais bien d'un aspect SEO comme tu l'as précisé.

Quand tu créé une feuille de style tu y mets l'extension .css
Quand tu créé une fichier javascript tu y mets l'extension .js

Donc, quand notre serveur retourne un fichier de type html au navigateur du client on devrait y mettre l'exetnsion .html par convention

Tu as dit : Je t'invite très fortement à miser sur une intégration réussie et un contenu sémantiquement architecturé.

Bien sur, que ces points sont primordial et ne seront pas négligés.

Cependant, la partie référencement n'est pas a négliger non plus, un site en deuxième ou troisième pages sur google ne sera quasiment pas visité donc ton projet bien construit ne sera certainement jamais vu.

D’ailleurs, google  lui même ne néglige pas c'est points dans ça première phase de référencement. Je prends pour exemple ce site qui est passé en premières pages de google  en l'espace de 4 mois après çà mise à ligne pour les mots clés label e-commerce.

http://www.labelshops.net

Ils ont juste respecter certaines règles de référencement malgré le fait que leur contenu ne soit pas du tout intéressant et très mal structuré.

Donc les aspect SEO n'améliore en rien le référencement mais ils peuvent te permettre d'accéléré celui-ci et peuvent être bénéfique à condition comme tu l'as dis que ton intégration soit réussie et que ton contenu soit sémantiquement architecturé.

Donc, je souhaites vraiment ajouter cette extension à mais URL.

J’utilisais avant le framework Codeigniter et l'ajout de cette extension était facile grace au fichier de config mais il semble que ce soit pas le cas sur ZEND ceci n'est pas un problème du moment que je trouves le moyen de le faire.

merci de bien vouloir me guidé.

amicalement

damdamien

Dernière modification par damdamien (04-07-2011 10:55:26)

Hors ligne

 

#4 04-07-2011 11:42:43

f.garoby
Membre
Date d'inscription: 02-03-2011
Messages: 105

Re: [résolu]suppression /public/ et extension .html dans l'url

damdamien a écrit:

Bonjour,
Je ne parler en rien du coter esthétique de la chose mais bien d'un aspect SEO comme tu l'as précisé.

Quand tu créé une feuille de style tu y mets l'extension .css
Quand tu créé une fichier javascript tu y mets l'extension .js

Donc, quand notre serveur retourne un fichier de type html au navigateur du client on devrait y mettre l'exetnsion .html par convention
[...]

Je ne comprends pas ton besoin de vouloir à tout prix avoir une extension (.html, .php ou autre) ! Car dans les 2 exemples que tu cites (fichiers CSS et JavaScript), il s'agit là de fichiers présents physiquement sur le serveur, donc ils ont un nom et une extension. Soit.
Mais dans le cas de pages Web, il y a bien longtemps que l'on a abandonné la relation "1 fichier -> 1 page", qui reste éventuellement toujours valable dans le cas de sites statiques.
Là, tu cherches à afficher des pages Web, qui n'existent donc pas physiquement sur le serveur, mais sont une composition des plusieurs fichiers (.php, .phtml, .css, .js, ...) + des données utilisateurs + des données venant de bases de données + ... Bref, la relation évoquée ci-dessus n'existe plus du tout !
D'où ma question : pourquoi vouloir à tout prix mettre une extension en fin d'URL ?

Hors ligne

 

#5 04-07-2011 13:19:05

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [résolu]suppression /public/ et extension .html dans l'url

damdamien a écrit:

Bonjour,
...
Donc, quand notre serveur retourne un fichier de type html au navigateur du client on devrait y mettre l'exetnsion .html par convention...

heu non pas du tout
il n'y a aucune convention de ce genre dans le web. c'est même plutôt le contraire.

le navigateur, le serveur, le protocole ont tous été conçu pour ne pas avoir à utiliser une partie du nom pour déterminer la nature du document. pour cela l'ensemble du WEB se base sur le mime type

l'extension de nom de fichier n'existe pas dans certain système et le web se voulant universel utilise une solution indépendante du nom.

tu peux donc très bien configurer ton serveur pour n'avoir aucune extension même pour les fichiers statiques.

si tu tien absolument à avoir des extensions à tes url tu peux utiliser les rewrite rules pour les réécrire.

mais ça ne sert absolument à rien c'est purement esthétique

je vais mettre un bémol si ton serveur n'envoi aucun mime type la norme dit que c'est par défaut plain/text
mais souvent les navigateur si le mime type n'est pas renseigné vérifient s'il y a une extension et l'utilise pour tenter de typer le fichier.

tu peux essayer des truc avec php et apache
tu vas dans la conf apache et tu ajoute .xls au fichier parsés par php
tu créé un fichier vide toto.xls tu l'ouvre avec un éditeur de texte
tu code une page HTML contenant une simple table et en début de fichier tu ajoute un bout de php qui envoi un header mimetype application/excel

tu ouvre ton url par ton navigateur et il le voit comme une feuille excel tu renomme ton fichier en .data
tu vas dans la conf apache et tu supprime l'association .xls et la remplace par .data
tu rouvre ton url et il est toujours considéré comme un fichier excel

A+JYT

Hors ligne

 

#6 04-07-2011 15:13:24

bgy
Membre
Lieu: Aix en Provence
Date d'inscription: 23-02-2009
Messages: 14
Site web

Re: [résolu]suppression /public/ et extension .html dans l'url

damdamien a écrit:

Si la réponse et oui ! Doit on comprendre que ZEND ne soit pas totalement prévu pour être utilisé sur un mutu?

Oui et non, Zend Framework a l'avantage de pouvoir fonctionner sur quasiment n'importe quel serveur fonctionnant avec PHP (à la différence d'autre framework, qui ont parfois d'autre dépendance, applicative par exemple ou avec d'autre libraries).

La configuration que je t'ai proposé, est une configuration "standard" mais aussi et surtout sécuritaire, elle vise à placer ton application EN DEHORS de la racine de ton serveur web (de ce manière seul le dossier /public est accessible), cela étant, rien ne t'empêche de placer le contenu de ton dossier public à la racine de ton serveur, ou mieux utiliser la directive RewriteBase /tondossier/public

damdamien a écrit:

Donc, je souhaites vraiment ajouter cette extension à mais URL.

Là ou je voulais vraiment en venir, c'est que ce point n'est pas un point essentiel à un bon référencement, certes les URL-friendly sont très importantes, mais Google ne donnera pas plus de point à une page avec une extension en .html

La réécriture d'URL est devenu quelques choses de tellement courant que les moteurs de recherche ne peuvent plus faire "confiance" et vont donc aller à l'essentiel.

En revanche le contenu de l'URL est lui important, tout comme le sont l'ensemble des règles de SEO.

Mais la SEO, c'est avant un contenu sémantique, accessible, bien rédigé et honnête (malheureusement pas toujours).

Tu peux avoir un site pas du tout optimisé (SEO) mais très bien référencé (Netlinking, etc.). Enfin on s'éloigne : )

Pour répondre à ton problème, tu pourrais créer ton propre routeur, en implémentant Zend_Controller_Router_Route_Interface, et ensuite utilise les routes chainées.

Mais encore une fois, c'est une perte de temps wink


http://borisguery.com | Fork me on Github | Follow me on Twitter | Check out my tips on Coderwall | More About me

Hors ligne

 

#7 04-07-2011 20:20:51

damdamien
Membre
Date d'inscription: 02-07-2011
Messages: 22

Re: [résolu]suppression /public/ et extension .html dans l'url

Oki merci beaucoup bgy pour les reponses que tu as apporter.

merci au autre d'etre intervenu.

sekaijin: En effet, aucune convention n'existe a ce sujet. Je cherchais juste a faire comprendre que lorsque notre serveur transmet des données au navigateur du client. Il transmet un flux html on devrait donc ajouter  à ce flux l'extension .html

Je peus vous assurer que ceci a une influence sur le référencement certes minime mais ceci à une influence.

Cependant, actuellement je vais zapper ce point et me concentré sur d'autre point primordiaux le premier étant la maitrise de cette outils qu'est ZEND.

merci à vous anyway

amicalement

damdamien

Hors ligne

 

#8 05-07-2011 08:12:43

f.garoby
Membre
Date d'inscription: 02-03-2011
Messages: 105

Re: [résolu]suppression /public/ et extension .html dans l'url

Je suis quand même curieux de savoir d'où tu tires l'affirmation que l'extension (.html ou autre) joue un rôle dans le référencement...

Hors ligne

 

#9 05-07-2011 08:39:51

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [résolu]suppression /public/ et extension .html dans l'url

@f.garoby : +1 je vois pas ou tu veux en venir damdamien... hmm

Hors ligne

 

#10 05-07-2011 09:45:18

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [résolu]suppression /public/ et extension .html dans l'url

si tu tien à avoir ds .html et autres extensions dans tes url il te faut regarder dans Zend_Controller_Request
et autre routes
tu défini une classe dérivée ou un plugin et tu indique à ZF de l'utiliser
dans ceux-ci tu redéfini le getAction qui doit te retourner le nom de ton action.
ainsi http://monserver:port/baseUrl/Module/controller/action.html va se découper en
module, controller, action (par defaut ZF t'aurait fait module, controller, action.html)
il te faut donc surcharger cette méthode pour qu'elle te retourne un nom d'action correct

tu peux si tu en as envie entièrement redéfinir la façon dont ZF récupère ces trois éléments
par exemple si au contraire tu ne veux pas d'URL distinctes ou significatives
http://monserver:port/baseUrl/8,6,3

Justement ZF est très souple sur le sujet ais à l'usage on s'aperçois que ça n’apporte pas grands chose.

j'ai un cas ou j'ai redéfini le routage l'appli n'a qu'une seule url http://monserver:port/baseUrl/
elle ne comporte aucun lien html que des post les modules, controllers, actions sont transmis dans le header
on ne peux donc ni référencé l'appli ni bookmarquer une action.

A+JYT

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages