feedback
Si vous souhaiter compléter ce tutoriel, n'hésitez pas à me contacter ou soumettre vos modifications directement ici.
 

Développer en local sur Concrete5

Qu'est-ce que c'est ?

Le plus simple pour tester ou développer un site web rest d'avoir un serveur web en local. Soit un serveur installé directement sur son poste de travail. En effet cela facilite grandement l'édition et les ajouts modifications de fichiers et médias. Cette méthode nous affranchit également du passage par un client FTP pouvant prendre du temps selon votre bande passante.

Nous allons voir comment instller différents types de serveurs loacaux. Il en existe plusieurs, dont les principaux sont:

  • XAMPP: Dispoinble sur Windows, Mac et GNU/Linux. Celui-ci ayant la particularité, si les moduels sont installés, de supporter (entre utre) Perl en plus de PHP, d'où le 2eme P.
  • WAMP: Disponible sur Windows
  • MAMP: Disponible sur MAC
  • LAMP: Disponible sur GNU/Linux. Celui-ci étant installable de différente façon selon vos besoins et votre distribution.

 

Note: A : Apache, M: MySQL, P: PHP, W: Windows, M: Mac, L: Linux

Limites de ces tutoriels

Nous ne traiterons ici que de serveurs web avec Apache, ceux d'entre vous qui utilisent Nginx, lighthhtpd, Cherokee, Boa, Jigsaw ou autre n'ont certainement pas besoins de tutoriel de niveau débutant. Dans le même sens l'installation des serverus web en eux mêmes seront liés aux pages des éditeurs de ceux-ci. Cela pour deux raisons. La première étant qu'ils seront toujours à jour vu qu'ils sont écrits par les éditeurs des logiciels. Et la seconde, car je n'aime pas réinventer l'eau tiède comme on dit.
 
Nous allons donc juste aborder les réglages spécifiques à appliquer sur chaque serveur local pour optimiser son fonctionnement avec Concrete5.

La création de la base de données via PhpMyAdmin, ainsi que celle de son utilisateur, étant commune à tous les types de sereurs locaux, nous la traiterons à part, en fin de page.

XAMPP

XAMPP est un kit d'installation d'Apache qui contient MySQL, PHP et Perl. XAMPP est réellement très facile à installer et à utiliser - vous n'avez qu'à le télécharger, le décompresser et le démarrer.

Télécharger et installer XAMPP

Pour Windows: Visitez cette page pour télécharger XAMPP, et prenez la versiona vec installateur. Le guide d'installation y est décrite également.

Pour Mac: Visitez cette page pour télécharger XAMPP, et prenez la versiona vec installateur. Le guide d'installation y est décrite également.

Pour GNU/Linux: Visitez cette page pour télécharger XAMPP, et prenez la versiona vec installateur. Le guide d'installation y est décrite également.

L'installation en elle même est assez simple rapide :)

Quelques réglages de bases

Paramétrons la casse des noms de tables des bases de données

Allez dans le répertoire dans lequel vous avez installé XAMPP, puis dans les répertoires MySQL et bin. Votre fenêtre devrait ressembler à ceci:

Le fichier d’initialisation de MySQL contient plusieurs paramètres. Éditer ce fichier avec votre éditeur de code et repérez la section mysqld pour y insérer la ligne suivante :

lower_case_table_names = 0
La base de données est en quelque sorte le conteneur, emmagasinant les données relatives à votre site web et son contenu. Ces données sont rangées dans des tables. Ce sont ces données qui seront lues et interprétées par concrete5.
Les noms des tables et bases de données seront alors stockées sur le disque avec la casse utilisée dans la commande CREATE TABLE ou CREATE DATABASE. Les comparaisons de nom sont sensibles à la casse (qui est la sensibilité aux majuscules et minuscules). C'est le comportement par défaut sous Unix. Nous faisons cela pour éviter le renommage des tables, plus que fastidieux, si vous passez votre site sur un serveur GNU/Linux.

Le début de votre fichier mysql.ini devrait ressembler à cela : (repérez la ligne mise en évidence que nous avons ajoutée)

# Example MySQL config file for small systems.

#

# This is for a system with little memory (<= 64M) where MySQL is only used

# from time to time and it's important that the mysqld daemon

# doesn't use much resources.

#

# You can copy this file to

# E:/xampp/mysql/bin/my.cnf to set global options,

# mysql-data-dir/my.cnf to set server-specific options (in this

# installation this directory is E:/xampp/mysql/data) or

# ~/.my.cnf to set user-specific options.

#

# In this file, you can use all long options that a program supports.

# If you want to know which options a program supports, run the program

# with the "--help" option.

 

# The following options will be passed to all MySQL clients

[client]

# password = your_password

port = 3306

socket = "E:/xampp/mysql/mysql.sock"

 

# Here follows entries for some specific programs

 

# The MySQL server

[mysqld]

lower_case_table_names = 0

port= 3306

socket= "E:/xampp/mysql/mysql.sock"

basedir="E:/xampp/mysql"

tmpdir="E:/xampp/tmp"

datadir="E:/xampp/mysql/data"

pid_file="mysql.pid"

skip-external-locking

key_buffer = 16M

max_allowed_packet = 1M

table_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M

log_error="mysql_error.log"

Paramétrage de PHP

Afin de faire fonctionner Concrete5 avec XAMPP, il nous faut également modifier la configuration du module PHP. Pour ce faire éditer le fichier E:/xampp/php/php.ini (si vous avez installé XAMPP sur le disuqe E:\ par exemple) puis localisez la ligne numéro 516 paramétrant la variable error_reporting.

Remplacez:

error_reporting = E_ALL & ~E_NOTICE

par:

error_reporting = E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED)
Cela veut dire que nous allons afficher toutes les erreurs (E_ALL), sauf (grâce au symbole d'exclusion & ~ ) les exceptions relatives aux notices (E_NOTICE | E_STRICT) , et celles des codes dépréciés (E_DEPRECATED). Vous pouvez obtenir plus détails sur ce réglage sur la page http://php.net/error-reporting

Vous devriez obtenir quelque chose comme: (Le bloc de code affiché n’est qu’une portion du contenu du fichier php.ini)

; Production Value: E_ALL & ~E_DEPRECATED
; http://php.net/error-reporting
error_reporting = E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED)


; This directive controls whether or not and where PHP will output errors,
; notices and warnings too. Error output is very useful during development, but
Skype peut générer un conflit, en effet ce logiciel utilise le même port de XAMPP. Dans ce cas coupez Skype, ou reconfigurez son port d’écoute. Dans Skype, cliquez sur Outils > Options puis cliquez sur avancées puis sur connexion, ensuite décochez la case utiliser les ports 80 et 443 comme alternative. Relancez Skype et le tour est joué.

Conclusion

Voilà votre serveur XAMPP est prêt à fonctionner, Vous pouvez le lancer puis démarrer Apache et MySQL.

Votre serveur local se trouve sur l'url http://localhost et votre gestionnaire de base de données PhpMyAdmin sur l'url http://localhost/phpmyadmin

WAMP

WampServer est une plate-forme de développement Web sous Windows. Il vous permet de développer des applications Web dynamiques à l'aide du serveur Apache2, du langage de scripts PHP et d'une base de données MySQL. Il possède également PHPMyAdmin pour gérer plus facilement vos bases de données.

Vous pouvez télécharger la version gratuite de WAMP server en bas de cette page, choisissez la version 32 ou 64 bits correspondante à votre système d'exploitation. Vous pouvez avoir un apprçu de son installation simplissime ici.

Il vous activer gettext et l'url rewriting (ici on ajoutera deflat et fileinfo qui peuvent toujours servir). Le premier servant à la gestion de la traduction de Concrete5 et l'autre à la réécriture d'url. Pour ce faire:

  • Cocher les modules rewrite et deflat" dans la console de Wamp > Apache > Apache modules
  • Cocher les extensions gettext et fileinfo dans la console Wamp > PHP > PHP extensions
  • Dans la console Wamp > PHP > php.ini
    • Vérifier que le paramètre error_reporting est réglé sur E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED), sinon changer sa valeur par celle-ci.
    • Vérifier que le paramètre memory_limit est au moins égal à 128M. Sinon lui donner la valeur 128M.
  • relancer apache (console Wamp > Restart All Services)

Et voilà, tout devrait fonctionner correctement.

MAMP

MAMP est un outil qui installe facilement les ressources nécessaires à un serveur WEB. Il installe Apache server, MySQL, PHP, eAccelerator et PHPMyAdmin. L'installation prend 1 minute.

Vous pouvez télécharger la version gratuite de MAMP sur cette page, choisissez la version 32 ou 64 bits correspondante à votre système d'exploitation. Vous pouvez avoir un apprçu de son installation simplissime ici.

De ce que je me souvient de MAMP, les extentions gettext (pour la gestion des traductions) et mod_rewrite (pour la réécriture d'url) sont inclus et activé par défaut.

LAMP

LAMP est l'abbréviation de « Linux + Apache + MySQL + PHP ».

En définitive, il s'agit d'installer un serveur HTTP (web), un serveur MySQL (base de donnée), le langage PHP, tout ça sous Linux.

Avec cette solution, plus complexe à mettre en oeuvre pour les débutants, il est possible d'aller très loin.Je ne vais pas aller trop loin sur ce point, juste vous donner quelques iens parmis tant d'autres. Sachant d'expérience que les utilisateurs débutant préférerons l'utilisation d'un paquet comme XAMPP.

Un tutoriel complet basé sur une distribution type Debian/Ubuntu est disponible sur cette page de wikibooks. Pour Fedora visitez par exemple cette page, pour Gentoo c'est ici, un exemple court pour CentOS ou RedHat est ici, etc ...

Il est bien sure possible d'installer un serveur LAMP sur BSD comme indiqué sur cette page (en anglais).

Ces tutoriaux règles la plupart des soucis. Assurez vous simplement que Gettext soit installé sur votre système, qu'Apache2 accepte le mod_rewrite.

La casse des noms de tables MySQL ne pose pas de soucis vu que nous sommes sur une normalisation type *nix.

Vérifiez tout de même que votre php.ini soit correctement configuré en ce qui concerne l'affichage des erreurs. (voir fin de la doc sur XAMPP). A savoir que php.ini sur une distro basée sur Debian se trouve dans /etc/php5/apache2/php.ini

La base de données (BDD)

Le gestionnaire de BDD

La création de la base de donnée vide se fait généralement via le gestionnaire de BDD PhpMyAdmin. Vous pouvz le faire également via le terminal, mais nous ne traiterons pas cet exemple ici.

Selon le serveur local installé, il y à plusieurs façon d'atteindre PhpMyAdmin, mais il y en as une commune à tous: c'est de saisir l'url http://localhost/phpmyadmindans la barre d'adresse de votre navigateur.

Créer une BDD

Rendez vous sur PhpMyAdmin. Il est très simple de créer une base de données vide. Sur la première fenêtre entrez les informations suivantes:

Par exemple:

  • pour le nom de votre BDD saisissez concrete5, ou tout autre nom de votre choix.
  • Sélectionnez l'interclasement utf8_general_ci
  • Cliquez sur créer.

Comme sur la capture ci-dessous.

Notez cependant que la méthode de création de votre base de données sur votre hébergement web en ligne peut différé selon si vous utilisez Plesk, DirectAdmin, WebMin, DTC, ou autre. Dans ce cas référez vous à la documentation propre à votre hébergement.
accueil PhpMyAdmin

Créer un utilisateur

Afin de pouvoir utiliser la base de données nouvellement créer, il vous faut lui assigner un utilisateur ayant les droits en rapport sur cette base.

Pour ce faire:

  • Cliquez sur l'onglet privilège
  • Cliquez sur ajouter un utilisateur
  • Sur le formulaire de création nouvellement affich : 
    • Nom d'utilisateur : concrete5 Vous pouvez tout aussi bien saisir le nom qui vous arrange, assurez-vous simplement de vous en rappeler.
    • Serveur : localhost Cela vous assure que l'utilisateur ne peut être utilisé que si la base de donnée est contactée depuis la machine locale.
    • Mot de passe : concrete5 Le mot de passe pour accéder à votre base de données peut être plus complexe, si tel est votre choix (il le doit sur un serveur en ligne par exemple) assurez-vous de vous en rappeler lors de l'étape d'installation de Concrete5.
    • Sélectionnez le bouton Donner tous les privilèges sur la base de données « concrete5 »
création utilisateur BDD

Conclusion

Voilà c'est tout. Vous pouvez maintenant passer à l'installation de Concrete5. Les données à saisir sur votre page d'installation de Concrete5 seraient, si vous avez suivit l'exemple ci-dessus:

page install C5

Pour installer Concrete5, rendez sur le tutoriel d'installation.