Cette section décrit comment utiliser [Gii](tool-gii.md) pour générer du code qui implémente des fonctionnalités
courrantes de sites Web automatiquement. Utiliser Gii pour auto-générer du code consiste simplement à saisir les
bonnes informations en suivant les instructions affichées sur les pages Web Gii.
Au long de ce tutoriel, vous apprendrez comment :
* Activer Gii dans votre application
* Utiliser Gii pour générer des classes Active Record
* Utiliser Gii pour générer du code implémentant les opérations CRUD pour une table de BDD
* Personnaliser le code généré par Gii
Démarrer Gii <a name="starting-gii"></a>
------------
[Gii](tool-gii.md) est fourni dans Yii en tant que [module](structure-modules.md). Vous pouvez activer Gii en le
configurant dans la propriété [[yii\base\Application::modules|modules]] de l’application. En fonction de la manière
dont vous avez créé votre application, vous trouverez peut être que le code suivant est déjà fourni dans le fichier de
configuration `config/web.php`:
```php
$config=[...];
if(YII_ENV_DEV){
$config['bootstrap'][]='gii';
$config['modules']['gii']='yii\gii\Module';
}
```
La configuration ci-dessus établit que dans un [environnement de développement](concept-configurations.md#environment-constants),
l’application doit inclure un module appelé `gii`, qui est de classe [[yii\gii\Module]].
Si vous vérifiez le [script de démarrage](structure-entry-scripts.md)`web/index.php` de votre application, vous
les lignes suivantes, qui en gros, font que `YII_ENV_DEV` est vrai.
```php
defined('YII_ENV')ordefine('YII_ENV','dev');
```
Grâce à cette ligne, votre application est en mode développement, et aura déjà active Gii, suivant la configuration
ci-dessus. Vous pouvez maintenant accéder à Gii via l’URL suivante :
```
http://hostname/index.php?r=gii
```
> Note : Si vous accede à Gii depuis une machine autre que localhost, l’accès sera refuse par défaut pour des raisons
> de sécurité. Vous pouvez configurer Gii pour ajouter les adresses IP autorisées comme suit,
>
```php
'gii'=>[
'class'=>'yii\gii\Module',
'allowedIPs'=>['127.0.0.1','::1','192.168.0.*','192.168.178.20']// ajustez cela suivant vos besoins
],
```
![Gii](images/start-gii.png)
Générer une Classe Active Record <a name="generating-ar"></a>
---------------------------------
Pour utiliser Gii pour générer une classe Active Record, sélectionnez le "Model Generator" (en cliquant sur le lien
dans la page index de Gii). Puis complétez le formulaire comme suit :
* Table Name: `country`
* Model Class: `Country`
![Générateur de Modèles](images/start-gii-model.png)
Ensuite, cliquez sur le bouton "Preview". Vous verrez que `models/Country.php` est listé comme fichier de classe à être créé. Vous pouvez cliquer sur le nom du fichier de classe pour pré visualiser son contenu.
Quand vous utilisez Gii, si vous aviez déjà créé le même fichier et que vous l’écraseriez, cliquez sur le bouton `diff`
à côté du nom de fichier pour voir les différences entre le code à être généré et la version existant.
![Pré Visualisation du Générateur de Modèle](images/start-gii-model-preview.png)
Quand vous écrasez un fichier existant, cochez la case située à côté de "overwrite" et ensuite, cliquez sur le bouton
"Generate". Si vous créez un nouveau fichier, il suffit de cliquer sur "Generate".
Ensuite, vous verrez une page de confirmation indiquand que le code a été généré avec succès. Si vous aviez un fichier
existant, vous verrez également un message indiquant qu’il a été écrasé par le code nouvellement généré.
Générer du Code CRUD <a name="generating-crud"></a>
--------------------
CRUD signifie Create, Read, Update, and Delete (Créer, Lire, Mettre à Jour et Supprimer), représentant le quatre tâches
communes entreprises avec des données sur la plupart des sites Web. Pour créer les fonctionnalités CRUD en utilisant
Gii, sélectionnez le "CRUD Generator" (en cliquant sur le lien dans la page index de Gii). Pour l’exemple de "country",