Jan
13

Commencer avec Yii Framework

Voici la traduction du deuxième épisode de la série de Larry Ullman Apprendre le Yii Framework.

Larry nous montre ici comment créer vraiment très rapidement une application grâce aux outils du framework Yii (yiic, notamment).

L’article original en anglais (Getting started with the Yii Framework) est consultable sur le site de l’auteur : www.LarryUllman.com.

Il y a quelques temps, j’écrivais un article d’Introduction au Yii Framework (NDT : lien vers l’article en français). Il s’agit d’un framework permettant la création d’applications Web en PHP5 (ou supérieur) que j’apprécie vraiment depuis que j’ai commencé à l’utiliser. Ruby on Rails est le premier framework de développement Web que j’ai utilisé (c’était en 2005), et Zend a été mon premier framework PHP. J’ai adoré le premier des deux, et Yii lui ressemble en de nombreux aspects. En revanche, je n’ai jamais vraiment accroché à Zend. Dans ce premier article, j’ai abordé l’installation et un premier aperçu de Yii ; ici, nous verrons ensemble comment commencer notre application Web.

Pour partir d’un exemple concret, j’utiliserai une application Web de gestion d’une liste d’employés et d’une liste de service, chaque employé n’appartenant qu’à un service. C’est un exemple classique de démarrage, car il est facile à comprendre, utilise plus d’une table dans la base de données, et est extensible de multiples façons. Afin de commencer, cependant, vous allez utiliser les outils en ligne de commande de Yii pour créer la structure de l’application. Si vous envisagez de déployer le site sur un serveur sur lequel vous n’avez pas accès à la ligne de commande, vous devrez alors installer un serveur Web (Apache, PHP, MySQL, etc.) sur votre ordinateur, exécutez ces commandes en local, puis mettez en ligne le projet terminé. Si vous n’avez pas déjà installé un serveur Web sur votre machine, je vous recommande d’utiliser XAMPP (pour Windows) ou MAMP (pour mac), qui sont tous les deux gratuits et très simples d’utilisation [1].

En premier lieu, vérifiez que vous disposez de la dernière version de Yii Framework . Mon premier vous indiquera comment la récupérer. Ensuite, vous placez le répertoire framework sur le serveur. Il n’est pas nécessaire de placer ce dossier dans ma racine web de votre serveur web (d’ailleurs, il est recommandé de le placer ailleurs), mais dans un répertoire voisin, comme le montre l’illustration ci-dessous. Par exemple, sur mon serveur, le répertoire htdocs[2] est la racine du serveur Web (webRoot), ce qui signifie que http://www.example.com pointe vers ce dossier.

La structure de mes dossiers

La structure de mes dossiers

Astuce : si vous souhaitez utiliser Yii pour plusieurs sites Web sur le même serveur, placez le dossier framework dans un emplacement relatif à tous ces sites. Ainsi, quand vous mettrez à jour le framework, vous ne devrez remplacer les fichiers qu’à un seul endroit.

Ensuite, accédez à la ligne de commande (console DOS sous Windows ou Terminal sous Mac OS X (et la plupart des versions de Linux) et placez-vous dans le répertoire framework. Sur mon serveur, j’ai exécuté la commande suivante : [3]

<pre lang= »bash »>cd c:\EasyPHP\www\yii\framework</pre>

Modifiez cette ligne de commande suivant le répertoire où vous avec installé Yii.

L’étape suivante consiste à demander au programme yiic, que vous trouverez dans le dossier framework, de créer un nouveau site. La syntaxe est la suivante :

yiic webapp dossier/du/site

Avant de lancer cette commande, laissez-moi l’expliquer quelque peu, car c’est quelque chose de fondamental et qui peut se révéler difficile. Le fichier yiic est une application qui s’exécute dans la ligne de commande de votre ordinateur et qui ne fait qu’appeler le script yiic.php. Vous pouvez l’appeler soit en utilisant la commande yiic, soit ./yiic[4] (c’est-à-dire exécuter la commande yiic qui se trouve dans le dossier courant). Vous pouvez également, de façon plus explicite, spécifier l’exécutable PHP à utiliser : C:\EasyPHP\php\php.exe yiic [5]. Assurez-vous que vous n’obtenez pas d’erreur en invoquant en premier lieu cette commande, pour être certain que vous pouvez invoquer yiic, avant de pouvoir créer votre application Web.

Un autre problème peut surgir si plusieurs versions différentes de PHP sont installées sur votre machine. Pour vous assurez de la version de PHP qui est utilisée par votre machine, lancer la commande

php -v

(à nouveau, vous devrez peut-être spécifier le chemin complet vers l’exécutable PHP si votre variable d’environnement PATH n’est pas à jour). Sur Mac OS X et Unix, vous pouvez utiliser la commande <pre lang= »bash »>which php</pre> pour déterminer le chemin de l’exécutable PHP invoqué par la commande php. Par exemple, sur mon Mac, j’utilise MAMP Pro pour le développement PHP et MySQL, mais quand j’exécute PHP via la ligne de commande, j’appelle en réalité la version de PHP qui est installée par le système d’exploitation. Cela peut être source de problème, puisqu’une de ces différentes versions peut ne pas répondre aux exigences minimales de Yii, dont j’ai parlé dans mon premier article. Dans mon cas, par exemple, la version de PHP installée par le système d’exploitation ne disposait pas de l’extension PDO pour PostgreSQL alors que c’était le cas pour la version de PHP du serveur Web (MAMP Pro). J’ai contourné ce problème en indiquant précisément le chemin vers le bon exécutable PHP dans l’appel de ma commande :

/Applications/MAMP/bin/php5.3/bin/php yii

Après avoir déterminé la bonne syntaxe pour invoquer yiic, complétez la commande avec webapp, ce qui indique à yiic que vous souhaitez créer une nouvelle application Web. Indiquez ensuite le chemin du dossier qui contiendra votre application [6]. Si l’on considère la structure des fichiers que j’ai utilisée jusqu’à présent, la commande sera donc :

./yiic webapp ../htdocs [ref]NDT : comme indiqué précédemment, cette version ne fonctionnera pas sous Windows[/ref]

ou

php yiic webapp ../htdocs

Ou bien une autre déclinaison de la commande en fonction de la spécificité de votre installation.

L’outil vous demande alors de confirmer la création de l’application dans le dossier indiqué. Saisissez Y (ou Yes), puis Entrée pour valider. Vous devriez voir un certain nombre de lignes défiler [7], suivies d’un message vous indiquant que l’application a bien été créée. Pour vérifier cela, accédez au site dans votre navigateur (via l’URL, bien évidemment) :

Le site généré automatiquement par Yii

L’application ainsi générée comprend déjà les fonctionnalités suivantes :

  • Une page d’accueil où s’affichent quelques instructions (cf. capture d’écran précédente)
  • Un formulaire de contact complet, avec CAPTCHA
  • Un formulaire d’identification (login)
  • La possibilité d’accueillir par son nom un utilisateur identifié
  • La possibilité de mettre fin à la session (logout)

C’est une façon vraiment agréable de commencer une application Web, surtout si l’on considère que vous n’avez encore écrit aucune ligne de code. Remarquez que le formulaire de contact ne fonctionnera qu’à partir du moment où vous aurez renseigné votre adresse mail dans la configuration de l’application. Pour vous identifier, vous pouvez utiliser un des couples identifiant/mot de passe suivants : demo/demo ou admin/admin. Pour terminer, sachez que l’apparence de votre site peut changer quelque peu d’une version de Yii Framework à une autre.

La structure des fichiers créés sur le serveur, dans le répertoire de l’application (htdocs, en ce qui me concerne) est la suivante :

  • assets
  • css
  • images
  • index-test.php
  • index.php
  • protected
  • themes

Le dossier assets sera principalement utilisé par Yii Framework pour l’intégration de jQuery (le framework JavaScript). Le nom des dossiers css et images est assez explicite. Le site s’exécutera en passant par l’un des deux fichiers index (je détaillerai ce point dans mon prochain article). Le répertoire protected est le plus important : c’est dans ce dossier que vous modifierez le code pour changer l’apparence et le comportement de votre site. Enfin, le dossier themes vous permettra de modifier les templates du site, un peu comme vous le feriez dans un blog WordPress.

Astuce : vous devez vous assurer que le serveur Web dispose des droits d’écriture dans le dossier assets, sans quoi vous serez confrontés à des erreurs. Cela ne devrait d’ailleurs pas poser de problème à moins que vous ne transfériez votre site Yii d’un serveur à un autre. [8]

Nous venons donc de voir comment commencer le développement d’une application Web basée sur Yii. Pour chaque site que vous créerez avec Yii, vous devriez repasser par ces différentes étapes. Dans mon prochain article, je vous montrerai comment configurer votre application et la modifier pour créer notre application de gestion des employés et des services.

Voilà, c’est fini pour la deuxième session. Larry et moi vous remercions de votre intérêt pour ces articles. N’hésitez pas à laisser vos commentaires ou à poser vos questions si vous en avez (utilisez pour cela le formulaire de commentaire de cet article ou bien le formulaire de contact du site).

Je vous rappelle que l’article original en anglais (Getting started with the Yii Framework) est consultable sur le site de l’auteur : www.LarryUllman.com.

Chapitre suivant : Configuration de Yii »

  1. [1] NDT : dans mes captures d’écran, vous pourrez vous rendre compte que j’utilise EasyPHP sous Windows, qui me semble égaleemnt un bon outil simple à utiliser.
  2. [2] NDT : le nom de ce dossier n’a aucune importance, vous pouvez le nommer à votre convenance
  3. [3] NDT : Larry travaille sous environnement Mac OS X et moi sous Windows, ce qui peut expliquer quelques différences dans nos commandes
  4. [4] NDT : ./yiic ne fonctionne pas sous Windows, vous devrez utiliser soit juste yiic, soit php yiic.php
  5. [5] NDT : je vous conseille d’ajouter le chemin vers l’exécutable PHP (ici : C:\EasyPHP\php) à votre variable d’environnement PATH
  6. [6] NDT : si le dossier n’existe pas, il sera créé pour vous
  7. [7] NDT : il s’agit du détail des fichiers et dossiers créés par l’outil
  8. [8] NDT : par exemple, si vous transférez votre version de développement locale sur un serveur de production, vérifiez les droits


5 Comments to “Commencer avec Yii Framework”

  • “Learning the Yii Framework” Series Now in French – Larry Ullman 28 janvier 2011 à 2 h 47 min

    […] pleased to say that the first three parts of the series—Introduction to the Yii Framework, Getting Started with the Yii Framework, and Configuring Yii—have already been translated and are available online. This should hopefully […]

  • What is Larry Thinking? #36 => Becoming a Better Programmer and More! – Larry Ullman 10 février 2011 à 0 h 58 min

    […] Getting Started with the Yii Framework […]

  • Touhami 22 janvier 2012 à 19 h 34 min

    Merci pour ce tuto, a bientot sur le la suite

  • chozita 29 juin 2012 à 12 h 27 min

    voici avec windows et wamp ce que j’ai du frapper dans la ligne de commande de windows

    c:\wamp\bin\php\php5.4.3\php yii.php webapp ../../sportsticket

  • Marvin 22 juillet 2015 à 12 h 53 min

    Merci pour cet article

Poster un commentaire

Edito

Bienvenue sur Mémorandom.

Mémorandom est le blog de 2 développeurs web, Appo et Nico.

Vous y trouverez des informations sur différents domaines touchant de près ou de loin au développement web

Tutoriels Yii Framework

Nos derniers articles

Blogs Dev

Liens

Étiquettes