Wiki » Historique » Version 69
  Patrice Nadeau, 2016-01-10 10:57 
  
| 1 | 2 | Patrice Nadeau | h1. Drupal | 
|---|---|---|---|
| 2 | 1 | Patrice Nadeau | |
| 3 | 3 | Patrice Nadeau | {{TOC}} | 
| 4 | 1 | Patrice Nadeau | |
| 5 | 3 | Patrice Nadeau | h2. Configuration préalable | 
| 6 | |||
| 7 | Un serveur openSUSE avec les options « LAMP » (Linux, Apache, MySQL, PHP) ainsi que Postfix | ||
| 8 | devrait déjà être installé. | ||
| 9 | |||
| 10 | h3. PHP | ||
| 11 | |||
| 12 | Les modules PHP supplémentaires suivants doivent être installés : | ||
| 13 | <pre><code class="bash"> | ||
| 14 | 32 | Patrice Nadeau | zypper install php5-mbstring php5-gd php5-ftp php5-zlib pecl php5-pear | 
| 15 | 3 | Patrice Nadeau | </code></pre> | 
| 16 | |||
| 17 | h4. Permettre les modules via FTP | ||
| 18 | |||
| 19 | 4 | Patrice Nadeau | Voir #45 | 
| 20 | 1 | Patrice Nadeau | |
| 21 | 4 | Patrice Nadeau | > Basé sur https://www.drupal.org/node/1608658 | 
| 22 | 3 | Patrice Nadeau | |
| 23 | 4 | Patrice Nadeau | Voir le lien pour l’installation : [[guides_opensuse:ftp]] | 
| 24 | 3 | Patrice Nadeau | |
| 25 | 4 | Patrice Nadeau | |
| 26 | 3 | Patrice Nadeau | |
| 27 | h4. Module « file upload progress bar » de PHP | ||
| 28 | |||
| 29 | > Facultatif | ||
| 30 | |||
| 31 | Télécharger le module : | ||
| 32 | <pre><code class="bash"> | ||
| 33 | pecl install uploadprogress | ||
| 34 | </code></pre> | ||
| 35 | |||
| 36 | Ajouter à */etc/php5/apache2/php.ini* | ||
| 37 | <pre><code class="bash"> | ||
| 38 | extension=uploadprogress.so | ||
| 39 | </code></pre> | ||
| 40 | |||
| 41 | h3. Préparation de MySQL | ||
| 42 | |||
| 43 | Choisir et noter les 3 items suivants : | ||
| 44 | 39 | Patrice Nadeau | * _drupal_db_ : nom voulu de la base de donnés de Drupal | 
| 45 | 41 | Patrice Nadeau | * _drupal_user_ : nom voulu pour l’usager MySQL | 
| 46 | * _drupal_password_ : mot de passe voulu pour l’usager MySQL | ||
| 47 | 3 | Patrice Nadeau | |
| 48 | À partir du serveur : | ||
| 49 | > root est l’usager « root » de MySQL | ||
| 50 | 36 | Patrice Nadeau | |
| 51 | <pre><code class="bash"> | ||
| 52 | 38 | Patrice Nadeau | mysql -u root -p | 
| 53 | 36 | Patrice Nadeau | </code></pre> | 
| 54 | |||
| 55 | 20 | Patrice Nadeau | Inscrire les commandes SQL suivantes : | 
| 56 | 1 | Patrice Nadeau | <pre><code class="sql"> | 
| 57 | 39 | Patrice Nadeau | create database drupal_db character set utf8; | 
| 58 | 41 | Patrice Nadeau | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES, CREATE TEMPORARY TABLES ON drupal_db.* TO 'drupal_user'@'localhost' IDENTIFIED BY 'drupal_password'; | 
| 59 | 20 | Patrice Nadeau | COMMIT; | 
| 60 | 3 | Patrice Nadeau | quit; | 
| 61 | </code></pre> | ||
| 62 | |||
| 63 | h2. Installation de Drupal | ||
| 64 | |||
| 65 | 34 | Patrice Nadeau | > Les fichiers sont installés dans */srv/www/htdocs/drupal* | 
| 66 | 3 | Patrice Nadeau | |
| 67 | À partir d’un navigateur web, allez sur le site https://drupal.org/project/drupal. | ||
| 68 | Choisir le fichier « tar.gz » et copier le lien pour l’insérer dans la commande _wget_ plus bas. | ||
| 69 | À partir du serveur : | ||
| 70 | 21 | Patrice Nadeau | > Exemple avec la version 7.38 | 
| 71 | 3 | Patrice Nadeau | <pre><code class="bash"> | 
| 72 | cd /srv/www/htdocs | ||
| 73 | 21 | Patrice Nadeau | wget http://ftp.drupal.org/files/projects/drupal-7.38.tar.gz | 
| 74 | 3 | Patrice Nadeau | tar xvf drupal*.tar.gz | 
| 75 | 22 | Patrice Nadeau | rm drupal*.tar.gz | 
| 76 | 21 | Patrice Nadeau | mv drupal-7.38 drupal | 
| 77 | 3 | Patrice Nadeau | cd drupal | 
| 78 | cp sites/default/default.settings.php sites/default/settings.php | ||
| 79 | chmod 0777 sites/default sites/default/settings.php | ||
| 80 | </code></pre> | ||
| 81 | |||
| 82 | 33 | Patrice Nadeau | Créer le fichier _/etc/apache2/vhosts.d/vhost.conf_ | 
| 83 | 23 | Patrice Nadeau | <pre><code class="bash"> | 
| 84 | <VirtualHost *:80> | ||
| 85 | # La ligne suivante est nécessaire seulement si plusieurs site web son présents sur le même serveur. | ||
| 86 | ServerName drupal.yourdomain.com | ||
| 87 | DocumentRoot /srv/www/htdocs/drupal | ||
| 88 | |||
| 89 | <Directory "/srv/www.htdocs/drupal"> | ||
| 90 | Options Indexes ExecCGI FollowSymLinks | ||
| 91 | AllowOverride None | ||
| 92 | Order deny,allow | ||
| 93 | Require all granted | ||
| 94 | </Directory> | ||
| 95 | </VirtualHost> | ||
| 96 | </code></pre> | ||
| 97 | |||
| 98 | 3 | Patrice Nadeau | À partir d’un navigateur web : http://server/drupal | 
| 99 | |||
| 100 | h3. Sécurité | ||
| 101 | > Le fichier *sites/default/settings.php* contient les noms de la BD, de l’usager et de son mot de passe en texte. | ||
| 102 | |||
| 103 | Changer les droits des fichier et repertoires : | ||
| 104 | <pre><code class="bash"> | ||
| 105 | chmod 0755 sites/default | ||
| 106 | chmod 0444 sites/default/settings.php | ||
| 107 | </code></pre> | ||
| 108 | |||
| 109 | h2. Personnalisation | ||
| 110 | |||
| 111 | h3. Logo | ||
| 112 | |||
| 113 | 45 | Patrice Nadeau | À partir de la page princpale, *Appearance* | 
| 114 | 44 | Patrice Nadeau | Dans le thème par défaut, choisir *Settings, TOGGLE DISPLAY* | 
| 115 | 45 | Patrice Nadeau | Section *LOGO IMAGE SETTINGS*, enlever le crochet pour l'utilisation du logo par défaut | 
| 116 | Télécharger le logo voulu | ||
| 117 | 44 | Patrice Nadeau | |
| 118 | 3 | Patrice Nadeau | h3. Type de fichier permis | 
| 119 | |||
| 120 | A partir de Drupal Management, Administration > Structure > Content types | ||
| 121 | # Choisir le type de contenu | ||
| 122 | 1 | Patrice Nadeau | # Choisir _Edit_ pour le _FIELD TYPE_ *File* | 
| 123 | 46 | Patrice Nadeau | |
| 124 | h3. Activation des « clean URL » | ||
| 125 | |||
| 126 | Les liens seront affichés comme _example.com/user_ au lieu de _example.com/?q=user_. | ||
| 127 | |||
| 128 | > Le module Apache _rewrite_ doit être installé et actif | ||
| 129 | |||
| 130 | A partir de Drupal Administration, Configuration > Clean URLs | ||
| 131 | # Faire le test | ||
| 132 | # Activer l'option | ||
| 133 | |||
| 134 | 47 | Patrice Nadeau | Dans le cas d'une erreur, modifier la configuration d'Apache | 
| 135 | 46 | Patrice Nadeau | |
| 136 | 47 | Patrice Nadeau | Fichier _/etc/apache2/default-server.conf_, section *<Directory "/srv/www/htdocs">* | 
| 137 | 1 | Patrice Nadeau | <pre><code class="bash"> | 
| 138 | #AllowOverride None | ||
| 139 | AllowOverride All | ||
| 140 | 47 | Patrice Nadeau | </code></pre> | 
| 141 | |||
| 142 | Relire la configuration | ||
| 143 | <pre><code class="bash"> | ||
| 144 | systemctl reload apache2.service | ||
| 145 | 46 | Patrice Nadeau | </code></pre> | 
| 146 | 3 | Patrice Nadeau | |
| 147 | 50 | Patrice Nadeau | h3. Retrait du lien « Home » | 
| 148 | |||
| 149 | 51 | Patrice Nadeau | La variable *$breadcrumb* est utilisée dans le fichier *page.tpl.php* du thème. | 
| 150 | Enlever les 3 lignes correspondantes a son impression | ||
| 151 | 50 | Patrice Nadeau | |
| 152 | 53 | Patrice Nadeau | Ex. : Thème Bartik, fichier _themes/bartik/templates/page.tpl.php_, enlever | 
| 153 | 50 | Patrice Nadeau | <pre><code class="php"> | 
| 154 | <?php if ($breadcrumb): ?> | ||
| 155 | <div id="breadcrumb"><?php print $breadcrumb; ?></div> | ||
| 156 | <?php endif; ?> | ||
| 157 | </code></pre> | ||
| 158 | |||
| 159 | 51 | Patrice Nadeau | Il peux être nécessaire de relancer une maintenance Cron pour rafraîchir le cache. | 
| 160 | 50 | Patrice Nadeau | |
| 161 | 3 | Patrice Nadeau | h2. Modules supplémentaires | 
| 162 | |||
| 163 | 55 | Patrice Nadeau | h3. CKEditor | 
| 164 | |||
| 165 | 59 | Patrice Nadeau | Éditeur visuel HTML. | 
| 166 | 55 | Patrice Nadeau | > Seras intégré à Drupal 8 | 
| 167 | |||
| 168 | h4. Installation | ||
| 169 | |||
| 170 | <pre><code class="bash"> | ||
| 171 | cd /srv/www/htdocs | ||
| 172 | wget http://ftp.drupal.org/files/projects/ckeditor-7.x-1.16.tar.gz | ||
| 173 | 56 | Patrice Nadeau | tar -xvf ckeditor-7.x-1.16.tar.gz | 
| 174 | 57 | Patrice Nadeau | mv ckeditor/ drupal/modules/ | 
| 175 | rm ckeditor-7.x-1.16.tar.gz | ||
| 176 | 55 | Patrice Nadeau | </code></pre> | 
| 177 | |||
| 178 | 58 | Patrice Nadeau | Faire l'activation dans Drupal, Modules | 
| 179 | |||
| 180 | 3 | Patrice Nadeau | h3. Gallery Formater | 
| 181 | |||
| 182 | Module pour la présentation de photos. | ||
| 183 | |||
| 184 | Sélectionner le fichier à partir de http://drupal.org/project/galleryformatter | ||
| 185 | Installer en mode manuel (voir la section précédente) | ||
| 186 | A partir de Drupal : Management, Administration, Modules | ||
| 187 | * Sélectionner le module et sauvegarder | ||
| 188 | |||
| 189 | h4. Créer un nouveau type de contenu | ||
| 190 | |||
| 191 | Administration, Structure, Contents types, Gallery, onglet *MANAGE FIELDS* | ||
| 192 | * Ajouter un champ de type *Image* | ||
| 193 | Éditer le champ et dans la section *Image field settings* choisir *unlimited* pour le nombre de valeurs | ||
| 194 | |||
| 195 | Administration, Structure, Contents types, Gallery, onglet *MANAGE DISPLAY* | ||
| 196 | * Pour le champ _Image_, choisir le format *JQuery Gallery* | ||
| 197 | |||
| 198 | h3. GeSHi Filter | ||
| 199 | |||
| 200 | Modules d’affichage de code | ||
| 201 | Ce module est basé sur GeSHi et supporte plus de 200 langages. | ||
| 202 | > Ne fonctionne pas avec avec les éditeurs de type WYSIWYG. | ||
| 203 | |||
| 204 | 3 solutions existent pour contourner ce problème : | ||
| 205 | * L’utilisation de Wysiwyg Geshi | ||
| 206 | ** Je ne l’ais pas essayé. | ||
| 207 | * La définition d’un nouveau type de format texte sans éditeur | ||
| 208 | * La définition d’un nouveau type de champ à ajouter dans les documents | ||
| 209 | |||
| 210 | h4. Installation | ||
| 211 | |||
| 212 | A partir du serveur : | ||
| 213 | <pre><code class="bash"> | ||
| 214 | cd /srv/www/htdocs/drupal/modules | ||
| 215 | wget http://ftp.drupal.org/files/projects/libraries-7.x-2.2.tar.gz | ||
| 216 | tar -xvf libraries-7.x-2.2.tar.gz | ||
| 217 | rm libraries-7.x-2.2.tar.gz | ||
| 218 | # | ||
| 219 | wget http://ftp.drupal.org/files/projects/geshifilter-7.x-1.2.tar.gz | ||
| 220 | tar xvf geshifilter-7.x-1.2.tar.gz | ||
| 221 | rm geshifilter-7.x-1.2.tar.gz | ||
| 222 | # | ||
| 223 | cd ../sites/all/librairies | ||
| 224 | # La version doit etre 1.0.x (la version 1.1.x ne fonctionneras pas | ||
| 225 | wget http://sourceforge.net/projects/geshi/files/geshi/GeSHi%201.0.8.11/GeSHi-1.0.8.11.tar.gz | ||
| 226 | tar xvf GeSHi-1.0.8.11.tar.gz | ||
| 227 | rm GeSHi-1.0.8.11.tar.gz | ||
| 228 | </code></pre> | ||
| 229 | |||
| 230 | Dans la gestion des modules (Home, Administration, Modules), activer | ||
| 231 | * Filters | ||
| 232 | ** GeSHi field | ||
| 233 | ** GeSHi Filter | ||
| 234 | * Libraries | ||
| 235 | |||
| 236 | Dans la page d’administration, sélectionner l’onglet INDEX, l’option GeSHi Filter apparaitra. | ||
| 237 | * GENERAL SETTINGS | ||
| 238 | Les option pour afficher le numéro de ligne peux être choisis ainsi que des options plus avancées | ||
| 239 | * LANGUAGES | ||
| 240 | Activer/désactiver seulement les langages nécessaires. | ||
| 241 | S’assurer d’avoir des «tags» de définis pour chaque langage. | ||
| 242 | * FILTER CONFLICTS | ||
| 243 | Vérifier qu’il n’y a pas de conflit. | ||
| 244 | |||
| 245 | Dans la page d’administration, Configuration, Content authoring, Text formats. | ||
| 246 | Choisir Full HTML, activer le filtre GeSHi. | ||
| 247 | Déplacer l’ordre de traitement de ce filtre en dernier. | ||
| 248 | |||
| 249 | h4. Nouveau format texte | ||
| 250 | |||
| 251 | Création du nouveau format texte sans éditeur associé. | ||
| 252 | Home » Administration » Configuration » Content authoring | ||
| 253 | * Text formats | ||
| 254 | Ajouter un format texte Code | ||
| 255 | ** Roles Admin | ||
| 256 | anonymous user | ||
| 257 | authenticated user | ||
| 258 | ** Enabled filters GeSHi | ||
| 259 | * Wysiwyg profiles | ||
| 260 | S’assurer que le format Code n’as pas d’éditeur associé. | ||
| 261 | |||
| 262 | h4. Nouveau type de champ | ||
| 263 | |||
| 264 | Création d’un nouveau champ. | ||
| 265 | Administration » Structure | ||
| 266 | Choisir le type de contenu et manage fields. | ||
| 267 | Ajouter une nouveau champ _Code_ de type *GeSHi*. | ||
| 268 | Un écran d’information sur le champ apparaitra. On peux y définir le langages par defaut | ||
| 269 | et le nom de champ disponibles. | ||
| 270 | Répéter pour les autres type de contenu, si nécessaire. | ||
| 271 | |||
| 272 | h2. Maintenance | ||
| 273 | |||
| 274 | h3. Copie de sécurité | ||
| 275 | |||
| 276 | Faire une copie des fichiers et de la bd : | ||
| 277 | <pre><code class="bash"> | ||
| 278 | cd /srv/www/htdocs | ||
| 279 | mysqldump -u username -p database > drupal.mysql | ||
| 280 | tar czf drupalbackup.tgz drupal.mysql drupal/ | ||
| 281 | </code></pre> | ||
| 282 | |||
| 283 | h3. Récupération d’une copie de sécurité | ||
| 284 | |||
| 285 | <pre><code class="bash"> | ||
| 286 | cd /srv/www/htdocs | ||
| 287 | tar xf drupalbackup.tgz | ||
| 288 | mysql -u root -p < drupal.mysql | ||
| 289 | </code></pre> | ||
| 290 | |||
| 291 | 25 | Patrice Nadeau | Remettre les permissions | 
| 292 | <pre><code class="bash"> | ||
| 293 | 27 | Patrice Nadeau | chmod 0755 /srv/www/htdocs/drupal/sites/default | 
| 294 | 29 | Patrice Nadeau | chmod -R 0777 /srv/www/htdocs/drupal/sites/default/files | 
| 295 | 25 | Patrice Nadeau | </code></pre> | 
| 296 | |||
| 297 | 3 | Patrice Nadeau | h3. Mise à jour | 
| 298 | |||
| 299 | 62 | Patrice Nadeau | Instructions sur un « update » | 
| 300 | 60 | Patrice Nadeau | |
| 301 | 3 | Patrice Nadeau | Mettre le site en mode maintenance (Management, Administration, Configuration, Developement, Maintenance mode) | 
| 302 | 54 | Patrice Nadeau | |
| 303 | 3 | Patrice Nadeau | À partir du serveur | 
| 304 | <pre><code class="bash"> | ||
| 305 | cd /srv/www/htdocs | ||
| 306 | wget http://ftp.drupal.org/files/projects/drupal-x.xx.tar.gz | ||
| 307 | tar -xvf drupal-*.tar.gz | ||
| 308 | 5 | Patrice Nadeau | cp -R drupal-x.y/* drupal-x.y/.htaccess drupal | 
| 309 | rm -r drupal-x.y | ||
| 310 | rm drupal-x.xx.tar.gz | ||
| 311 | 3 | Patrice Nadeau | </code></pre> | 
| 312 | 1 | Patrice Nadeau | |
| 313 | 62 | Patrice Nadeau | Se brancher sur la page web http://server/update.php | 
| 314 | Remettre en mode en ligne | ||
| 315 | |||
| 316 | 63 | Patrice Nadeau | h3. Mise a niveau | 
| 317 | 62 | Patrice Nadeau | |
| 318 | Instructions sur un « upgrade » de la version 7 à la version 8 (*en test*). | ||
| 319 | |||
| 320 | 64 | Patrice Nadeau | https://www.drupal.org/upgrade/migrate | 
| 321 | |||
| 322 | Une nouvelle installation de Drupal 8 doit être faite et ensuite une migration vers le nouveau site seras effectué. | ||
| 323 | |||
| 324 | Installation de la nouvelle version | ||
| 325 | 61 | Patrice Nadeau | <pre><code class="bash"> | 
| 326 | 69 | Patrice Nadeau | # Facultatif | 
| 327 | zypper install php5-opcache | ||
| 328 | # Téléchargement | ||
| 329 | 61 | Patrice Nadeau | cd /srv/www/htdocs | 
| 330 | wget http://ftp.drupal.org/files/projects/drupal-8.0.2.tar.gz | ||
| 331 | 65 | Patrice Nadeau | tar -xvf drupal-8.0.2.tar.gz | 
| 332 | 66 | Patrice Nadeau | mv drupal-8.0.2 drupal2 | 
| 333 | 69 | Patrice Nadeau | # changement de la securite | 
| 334 | 68 | Patrice Nadeau | chown wwwrun:www -R drupal2 | 
| 335 | 67 | Patrice Nadeau | cd drupal2 | 
| 336 | 69 | Patrice Nadeau | # Création des 2 fichiers de configurations a partir des templates | 
| 337 | 67 | Patrice Nadeau | cp sites/default/default.services.yml services.yml | 
| 338 | cp sites/default/default.settings.php settings.php | ||
| 339 | 66 | Patrice Nadeau | </code></pre> | 
| 340 | 3 | Patrice Nadeau | |
| 341 | h3. Mise à jour des modules | ||
| 342 | |||
| 343 | Mode manuel (sans FTP) | ||
| 344 | À partir du serveur | ||
| 345 | * Télécharger dans le dossier sites/all/modules | ||
| 346 | * Décompresser | ||
| 347 | |||
| 348 | À partir d’un navigateur web : http://server/drupal/update.php | ||
| 349 | |||
| 350 | 26 | Patrice Nadeau | h2. Bogues | 
| 351 | 3 | Patrice Nadeau | |
| 352 | 26 | Patrice Nadeau | h3. Configuration du module Image (core) | 
| 353 | 3 | Patrice Nadeau | |
| 354 | PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 | ||
| 355 | Editer le fichier *drupal/modules/images.image.install*, ligne 231 | ||
| 356 | <pre><code class="BASH"> | ||
| 357 | # ligne en probleme | ||
| 358 | db_create_table(’image_effect’, $schema[’image_effects’]); | ||
| 359 | # remplacer par | ||
| 360 | db_create_table(’image_effects’, $schema[’image_effects’]); | ||
| 361 | </code></pre> | ||
| 362 | |||
| 363 | Arrêter Apache | ||
| 364 | <pre><code class="bash"> | ||
| 365 | systemctl stop apache2.service | ||
| 366 | </code></pre> | ||
| 367 | |||
| 368 | Lancer MySQL | ||
| 369 | <pre><code class="bash"> | ||
| 370 | mysql -u | ||
| 371 | </code></pre> | ||
| 372 | |||
| 373 | Changer le nom de la table | ||
| 374 | <pre><code class="sql"> | ||
| 375 | use drupal; | ||
| 376 | rename table image_effect to image_effects; | ||
| 377 | quit; | ||
| 378 | </code></pre> | ||
| 379 | |||
| 380 | Relancer apache | ||
| 381 | <pre><code class="bash"> | ||
| 382 | systemctl start apache2.service | ||
| 383 | </code></pre> | ||
| 384 | 6 | Patrice Nadeau | |
| 385 | 18 | Patrice Nadeau | h2. Accès à partir d'Internet | 
| 386 | 7 | Patrice Nadeau | |
| 387 | 9 | Patrice Nadeau | h3. NAT dans le pare-feu | 
| 388 | 1 | Patrice Nadeau | |
| 389 | > Cette étape dépens du pare-feu utilisé. | ||
| 390 | 9 | Patrice Nadeau | |
| 391 | 1 | Patrice Nadeau | Il s'agit de rediriger le port 80 externe vers le port 80 interne. | 
| 392 | 19 | Patrice Nadeau | Cette configuration est fort probablement déjà en place si un serveur web accessible de l'internet existe. | 
| 393 | 12 | Patrice Nadeau | |
| 394 | 1 | Patrice Nadeau | h3. « Proxy » sur le serveur Apache | 
| 395 | |||
| 396 | 17 | Patrice Nadeau | Voir l'article [[guides_opensuse:apache#Serveurs virtuels]] pour la redirection. | 
| 397 | 1 | Patrice Nadeau | |
| 398 | 16 | Patrice Nadeau | h3. Configurer Drupal | 
| 399 | 17 | Patrice Nadeau | |
| 400 | Seulement nécessaire si la redirection est faite vers un autre serveur. | ||
| 401 | 12 | Patrice Nadeau | |
| 402 | 13 | Patrice Nadeau | >Sans cette étape, le contenu des pages risque de mal s'afficher à partir de l'internet. | 
| 403 | 9 | Patrice Nadeau | |
| 404 | 24 | Patrice Nadeau | Dans le fichier _sites/default/settings.php_ modifier la ligne *$base_url* | 
| 405 | 30 | Patrice Nadeau | Ex. : | 
| 406 | <pre><code class="php"> | ||
| 407 | 31 | Patrice Nadeau | $base_url = 'http://drupal.domain.tld'; | 
| 408 | 1 | Patrice Nadeau | </code></pre> | 
| 409 | 31 | Patrice Nadeau | > Ne pas ajouter de « slash » à la fin. | 
