JeuWeb - Crée ton jeu par navigateur
[Article] Mettre en place un projet Zend Framework - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Article] Mettre en place un projet Zend Framework (/showthread.php?tid=3357)

Pages : 1 2


[Article] Mettre en place un projet Zend Framework - Sephi-Chan - 02-12-2008

Bonjour à tous,

Aujourd'hui, je vais vous parler de la mise en place de Zend Framework (dans sa version 1.7.0, sortie le 17 octobre 2008). Je vais vous proposer une architecture que je vais commenter rapidement, puis je vous parlerai des configurations à faire dans vos fichiers httpd.conf et hosts pour l'utiliser en local.

Le gros avantage de cette architecture est d'être modulaire, il est ainsi très simple de séparer son site en plusieurs parties (la partie publique et l'administration, par exemple).

Son inconvénient est qu'en l'état, elle ne peut pas être déployée de manière élégante sur un serveur mutualisé. Son cadre d'utilisation est donc limité aux serveurs locaux et dédiés. Nous traiterons ici de l'utilisation locale.

Important : Si vous utilisez cette architecture telle quelle sur un serveur mutualisé (sur lequel vous ne pouvez pas définir de Virtual Hosts), vos URL seront de forme http://myapplication.com/document_root/contrôleur/action. C'est utilisable mais peu esthétique.

Pour la déployer, il suffit de décompresser l'archive ci-jointe où vous le souhaitez sur votre disque, d'ouvrir votre fichier de configuration Apache ainsi que votre fichier hosts.

Archive du projet (Application + Zend Framework 1.7.0)



Le fichier hosts

Le fichier hosts associe un domaine à une adresse IP. Il est évalué quand vous entrez une adresse dans votre navigateur et surcharge les informations donnés par les serveurs DNS. Ce faisant, il vous permet d'utiliser des noms de domaines personnalisés.

Selon votre système d'exploitation, vous le trouverez à différents endroits.
  • Windows XP/Vista : c:\windows\system32\drivers\etc\hosts ;
  • GNU/Linux : /etc/hosts ;
  • Mac OS X : /private/etc/hosts ;

Ouvrez ce fichier et ajoutez une ligne qui associe 127.0.0.1 (l'adresse IP de votre interface loopback) à un nom de domaine (de préférence inexistant) de votre choix. Par exemple :

hosts a écrit :127.0.0.1 myapplication.dev

À présent, en allant à cette adresse, votre navigateur vous mènera sur la même page que quand vous tapiez http://localhost/. Vous avec probablement remarqué que cela est lié à une autre ligne présente dans le fichier host qui associe l'adresse 127.0.0.1 au domaine localhost.

Passons à présent à la configuration d'Apache.


Le fichier httpd.conf

Passons à Apache, nous allons y configurer des Virtuals Hosts pour que le nom de domaine précédemment configuré redirige bien vers notre site. Je ne vous donne pas d'adresse précise cette fois puisque tout le monde n'installe pas Apache au même endroit (surtout pour les personnes qui utilisent les solutions XAMP).

À la fin du fichier de configuration, ajoutez les éléments et blocs qui suivent (en modifiant le port d'écoute si vous n'utilisez pas le port 80, bien entendu), en remplaçant les URL par celles qui conviennent.

Code :
NameVirtualHost *:80

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /Url/de/votre/localhost
</VirtualHost>

<VirtualHost *:80>
    ServerName myapplication.dev
    DocumentRoot /Url/de/votre/application/document_root
</VirtualHost>

Je pense que vous comprendrez le fonctionnement de ces Virtual Hosts en lisant les blocs. Vous pouvez en définir autant que vous le souhaitez, c'est quand même plus sympa !

Vous n'avez plus qu'à relancer votre serveur Apache afin de prendre les modifications en compte, puis vous rendre à l'adresse http://myapplication.dev/ et la magie opère !? Vous avez déployé votre début d'application !

La page que vous avez devant les yeux est la vue de l'action index, du contrôleur index, du module default. Cela revient au même que si vous aviez tapé :
Les URL sont de la forme http://myapplication.dev/module/contrôleur/action/argument1/valeurArgument1/argumentN/valeurArgumentN.

Si vous ne spécifiez pas de module, c'est le module default qui est utilisé, le reste ne change pas. Vous pouvez essayer de vous rendre sur l'autre module, admin et fouiner dans les sources pour regarder comment ça fonctionne ! Smile


Voilà ! Je complèterais probablement cette introduction (selon vos questions, essentiellement). J'écrirais peut-être des suites décrivant les différents composants du framework selon votre intérêt.


Sephi-Chan


RE: [Article] Mettre en place un projet Zend Framework - Anthor - 02-12-2008

Erf, je suis un peu déçu, je pensais que tu parlerais plus de Zend que de la config Apache.

sinon tu pourrais rajouter un Alias aux vhosts pour ne pas avoir 50 fois la librairie.


RE: [Article] Mettre en place un projet Zend Framework - Sephi-Chan - 02-12-2008

Je ne sas pas encore comment je vais organiser ça. Ça me permet déjà d'avoir une base saine que je peux réutiliser dans la suite.

Voilà comment je vois la suite.
  1. Utilisation de Zend Db, de Zend Form et de Zend Validate ;
  2. Utilisation de Zend Auth et de Zend Acl (avec des Plugins pour automatiser les traitements d'Acl)) avec un point sur le router pour avoir des routes personnalisées (pour l'affichage du profil, par exemple) ;


Sephi-Chan


RE: [Article] Mettre en place un projet Zend Framework - rygnes - 02-12-2008

Je suis curieux de voir la suite.
Je m'attendais aussi à avoir au moins une introduction.
En plus je n'utilise pas de framework actuellement, ce serait un aperçu peut-être convaincant.

Vivement la suite !


RE: [Article] Mettre en place un projet Zend Framework - Melimelo - 02-12-2008

La suite peut vraiment etre sympa, mais effectivement dans l'article actuel on peut pas vraiment dire que Zend y change quelque chose. Ce genre de point est plus une annexe a un article sur Zend je dirais.

Mais si tu continue la suite risque d'etre plaisante.

Cordialement Melimelo (qui subit les raleries de ca connexion depuis vendredi)


RE: [Article] Mettre en place un projet Zend Framework - Plume - 02-12-2008

Je plussoie Anthor. L'approche du httpd.conf est trop faible. T'aurais dû approfondir, c'est pas énormément de boulot arrivé à ce stade Smile


RE: [Article] Mettre en place un projet Zend Framework - Sephi-Chan - 02-12-2008

Qu'aurais-je pu dire de plus sur le httpd.conf ?
Cette introduction sert juste à poser une base pour la suite. Smile


Sephi-Chan


RE: [Article] Mettre en place un projet Zend Framework - Plume - 02-12-2008

Ce qu'Anthor propose.


RE: [Article] Mettre en place un projet Zend Framework - Sephi-Chan - 02-12-2008

Ok j'essayai de voir ça, même si ce n'est pas ma priorité. Je préfère écrire la suite qui traite de Zend Framework plutôt que de passer deux heures sur Apache. Smile


Sephi-Chan


RE: [Article] Mettre en place un projet Zend Framework - Plume - 02-12-2008

Comme je disais plus haut, ça prend pas longtemps au point où t'en es. La suite, tu es seul juge Smile