Ouvrir le menu principal

MacGeneration

Recherche

Pas-à-pas : créer un environnement de développement Web sous Mac

Anthony Nelzin-Santos

Thursday 30 December 2010 à 14:50 • 52

Ailleurs

Nous vous proposons cet article en partenariat avec Nathalie Nicoletis, auteur de Mac OS X Snow Leopard à 200 % de Nathalie Nicoletis (Digit Books, Brest, 2010), dans lequel vous pourrez retrouver 50 autres trucs et astuces pour Mac OS X.

Disposer sur sa propre machine d’un environnement de développement de sites web est plus pratique (et aussi plus gratifiant) que devoir passer son temps à envoyer des fichiers sur un serveur FTP, tester ensuite le résultat dans un navigateur, constater qu’il y a un problème, modifier les fichiers avant de les envoyer à nouveau, puis de les tester… c’est sans fin et représente un temps perdu assez considérable si on additionne tous ces aller et retour.

Dans cet article, nous allons voir deux méthodes pour configurer et installer un environnement de développement complet de sites web avec par ordre d’apparition : Apache dans le rôle du serveur, PHP dans celui du langage de programmation et MySQL, incontournable dans le rôle de la base de données. Apple livre la version 2.2.6 d’Apache, le serveur web le plus répandu, ainsi que la version 5.2.4 de PHP. Puisque ces deux-là ne sont pas activés par défaut, nous allons y remédier. Nous verrons aussi comment installer MySQL.

La deuxième solution traitée ici MAMP (pour Macintosh, Apache, MySQL,PHP) est fort intéressante. Il s’agit d’une solution autonome complète qui ne dépend ni du serveur Apache, ni de la version PHP installés par Apple.

Les outils
Voici les quelques outils nécessaires pour mener à bien l’ensemble des opérations. Certains sont gratuits, d’autres payants. Ils pourront aussi vous servir pour le code HTML, PHP et autres langages de scripts.

Le Terminal
Le Terminal se trouve dans le dossier Applications > Utilitaires. Elle sert à accéder aux fichiers de configuration UNIX ainsi qu’à les éditer. Il sera nécessaire dans la suite des opérations d’y avoir recours. Veillez également à les effectuer depuis un compte administrateur, car dans la plupart des cas, votre mot de passe administrateur sera demandé.

Un éditeur de texte
L’éditeur de texte permet de se dispenser de l’utilisation de vi pour modifier facilement les fichiers Unix. Les trois qui sont cités ci-dessous intègrent un outil qui leur permet d’être l’interface de la ligne de commande.

BBEdit
Sans aucun doute la Rolls-Royce de sa catégorie, cet éditeur de texte est l’outil indispensable des développeurs HTML et autres langages. Un peu cher, il coûte 125 dollars. Une version d’évaluation est disponible pour vous en faire une idée. Notez qu’il n’est pas francisé.

TextWrangler
Il s’agit du petit frère gratuit de BBEdit, également développé par Barebones. Il est largement suffisant pour qui souhaite un éditeur de texte simple, mais efficace et surtout une interface pour éditer des fichiers dans le Terminal. N’existe pas en français.

TextMate
Je n’hésite pas à le qualifier de couteau suisse bien qu’il soit d’origine danoise. Un des ses avantages est l’auto-complétion des balises, si vous êtes développeur, vous apprécierez cette fonctionnalité à sa juste valeur. Il n’est pas non plus francisé.

Activer Apache
Par défaut, Apple n’active pas le serveur Apache, c’est donc la première tâche qui va nous occuper pendant environ… 3 secondes.

Pour le démarrer afin qu’il soit en fonction, ou bien le redémarrer après chaque modification effectuée dans le fichier
httpd.conf, vous avez le choix entre la ligne de commande : sudo /usr/sbin/apachectl graceful ou encore plus simple, via l’interface graphique : Préférences Système  > Partage > Partage Web. Plus simple, mais les aller-retour entre la ligne de commande et l’interface graphique finissent par être lassants.

Pour vérifier qu’Apache tourne, il suffit de taper ceci dans la barre d’adresse d’un navigateur : http://localhost ou http://127.0.0.1/ (ce qui revient au même). C’est la page d’Apache par défaut qui s’ouvre.

6-1
Si vous voyez cette page, c'est que ça fonctionne…


Chaque machine sous Mac OS X possède un serveur web intégré global pour la machine auquel on accède via un navigateur. Les fichiers du site de la machine sont à placer dans ce dossier : /Bibliothèque/WebServeur/Documents. Chaque utilisateur qui possède un compte sur la machine bénéficie également de son serveur web personnel auquel on accède en se connectant avec un navigateur web sur : http://localhost/~nomutilisateur/, ou bien via l’adresse IP de la machine : http://192.168.2.103/~nomutilisateur. Les fichiers HTML et les images de ce site sont à placer dans le dossier : nomutilisateur > Sites.

Utilisez le serveur web de votre machine pour partager des fichiers avec d’autres utilisateurs de votre réseau local. Créez un dossier Partage (ou tout autre nom) et placez-y en vrac les fichiers que vous souhaitez partager avec autrui. Vrac signifie qu’il ne faut pas que ce dossier contienne un fichier nommé index.html, sinon, il n’affichera pas la liste des fichiers contenus dans ce répertoire. Pour y accéder, en suivant l’exemple ci-dessus, tapez : http://localhost/partage dans la barre d’adresse de votre navigateur.

6-3
Un dossier partagé


Un petit clic sur un des liens ci-dessus permet de visualiser l’image ou de récupérer un des fichiers. C’est assez pratique si vous n’avez pas envie d’installer un serveur FTP sur votre machine.

Activer PHP
Il n’est pas non plus activé par défaut, vous allez devoir le faire, mais rassurez-vous ce n’est pas très compliqué. Nous utiliserons dans ces exemples, l’éditeur de texte TextWrangler : ouvrez Terminal et tapez la ligne suivante (suivie de la touche Entrée) : sudo edit /private/etc/apache2/httpd.conf, puis à l’invite, tapez votre mot de passe (vous êtes bien entendu administrateur de la machine), suivi de la touche Entrée.

Il s’agit d’enlever le commentaire qui se trouve au début de la ligne 114 du fichier : #LoadModule php5_module libexec/apache2/libphp5.so.

Le commentaire est représenté par le signe dièse (#), vous le supprimez. TextWrangler vous informe à ce moment que ce fichier n’est pas à vous et vous propose de le déverrouiller (Unlock), ce que vous acceptez de faire. Puis, enregistrez votre modification, ce qui sera possible lorsque vous aurez saisi votre mot de passe admin dans la fenêtre de TextWrangler.

Pour que cette modification soit prise en compte, avant de crier « Au bug ! », redémarrez le serveur Apache…

Victoire, PHP est activé ! Pour le vérifier, créez un fichier nommé (par exemple) test.php et enregistrez-le dans /Bibliothèque/Webserver/Documents. Ce fichier doit contenir la ligne suivante : <? phpinfo()?>.

Pour qu’il s’ouvre (et qu’il soit correctement interprété par le serveur Apache en tant que fichier PHP), tapez cette adresse dans la barre d’un navigateur (remplacez test.php par le nom que vous avez éventuellement donné à votre fichier) : 127.0.0.1/test.php.

6-4
Si tout s’est passé comme prévu, vous aurez le même résultat dans votre navigateur qu'ici.


Installer MySQL
Une image disque incluant tous les paquets nécessaires ainsi qu’un installeur à double-cliquer est disponible sur le site MySQL. Il ne suffit plus qu’à choisir la version qui correspond à votre Mac.

Double-cliquez sur l’installeur, et installez aussi le script qui permet au serveur MySQL de se lancer automatiquement au démarrage de la machine, le fichier s’appelle : MySQLStartupitem.pkg.

Il se trouve que PHP s’attend à trouver MySQL ailleurs que là où l’installeur l’a placé, il faut donc effectuer plusieurs changements. Crééz un nouveau fichier de configuration MySQL my.cnf dans /etc. Copiez-y les lignes suivantes :


[client]
socket = /var/mysql/mysql.sock
[mysqld]
socket = /var/mysql/mysql.sock


Puis redémarrez le serveur MySQL en exécutant dans le Terminal la commande sudo /usr/local/mysql/support-files/mysql.server stop puis la commande sudo /usr/local/mysql/support-files/mysql.server start.

Si tout a fonctionné comme prévu, vous avez maintenant en main un serveur web fonctionnel avec PHP activé. Il ne reste plus qu’à créer des bases de données et à les peupler grâce à une application web qui sert d’interface utilisateur avec le serveur MySQL : phpMyAdmin.

Dézippez-le fichier récupéré, renommez le dossier tout simplement phpMyAdmin et déplacez-le dans le répertoire /Library/WebServer/Documents.

phpMyAdmin est un outil qui permet de créer des bases de données et des tables en interface graphique. Il est bien sûr possible de le faire avec le Terminal, mais c’est plus complexe et demande de bien maîtriser les instructions SQL.

6-5
phpMyAdmin vous rappelle à l'ordre


Lorsque vous ouvrez phpMyAdmin depuis votre navigateur, via l’URL localhost/phpMyAdmin, une alerte vous invite à sécuriser le serveur MySQL en donnant un mot de passe à l’utilisateur root (ci-dessus). Pour assigner ce mot de passe, cliquez sur Privilèges (ci-dessous).

6-6

Il faudra effectuer ce réglage à trois reprises, soit une fois pour chaque interface de l’utilisateur root de MySQL (localhost, 127.0.0.1 et le nom Bonjour de la machine, ici nath2.local) qui sont en fait les trois manières d’accéder en local à une même machine :

6-7

Cliquez sur l’icône de crayon qui se trouve à droite pour avoir accès au champ d’édition et y taper le mot de passe de votre choix. Une fois cette modification faite trois fois, cliquez sur le lien Recharger les privilèges afin de mettre à jour l’accès au serveur MySQL.

Puis, dans le fichier config.inc.php (qui se trouve dans le répertoire /Library/WebServer/Docu-ments/) mettez le même mot de passe que celui que vous avez modifié auparavant dans l’interface phpMyAdmin :


$cfg['Servers'][$i]['auth_type'] = 'config';
// Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = 'root';
// MySQL user
$cfg['Servers'][$i]['password'] = 'motdepasseici';
// MySQL password (only needed
// with 'config' auth_type)


N’omettez pas cette dernière étape, c’est elle qui permet à phpMyAdmin de pouvoir accéder au serveur MySQL. En cas d’oubli, vous ne pourrez plus vous y connecter via phpMyAdmin.

Si vous n’êtes pas satisfait du résultat, ou bien qu’une solution autonome vous convient mieux, passez à la page suivante…

MAMP
MAMP est une solution autonome complète d’environnement de développement de sites web pour Macintosh dont LAMP est l’équivalent pour Linux et WAMP pour Windows.

L’avantage de cette solution est de ne pas dépendre du serveur Apache livré par Apple ni de sa version PHP. La raison est d’abord qu’Apple ne livre pas forcément des versions très récentes et que vous n’êtes pas à l’abri qu’une mise à jour vienne écraser vos réglages et paramètres. L’autre intérêt est sa facilité de mise en œuvre.

Il suffit de télécharger MAMP (gratuit), puis de glisser son icône dans le dossier Applications et le tour est joué.

Dans le dossier MAMP, se trouve MAMP.app, double-cliquez sur son icône pour démarrer les serveurs Apache et MySQL qui y sont intégrés.

6-8

MAMP présente ses différents services dans votre navigateur par défaut. L'image ci-dessous montre comment il est possible d’accéder directement à la gestion de MySQL via phpMyAdmin ou SQLite Manager depuis cette fenêtre de navigateur qui rappelle aussi les principaux paramètres pour se connecter aux bases MySQL.

6-9

MAMP est immédiatement fonctionnel. Vous placez les scripts, les fichiers HTML, les images, etc., dans un répertoire, lequel doit être placé dans le répertoire htdocs de MAMP.

Pour visualiser vos pages dans un navigateur, tapez l’URL suivante dans sa barre d’adresse : localhost:8888/nomdurepertoire/. L’autre intérêt de cette solution intégrée est que vous pouvez tester vos développements et scripts sans crainte de flinguer la configuration Apache fournie par Apple et que si par malheur, vos scripts ou autres font dérailler votre installation de MAMP, il suffit de mettre le dossier MAMP à la corbeille (en ayant auparavant sauvegardé le dossier db/mysql/nomdevotrebase pour ne pas perdre vos bases de données) et de réinstaller l’application.

Il est parfaitement possible d’utiliser en parallèle la solution Apache livrée par Apple et MAMP. En effet le serveur web made in Apple tourne sur le port 80 (port par défaut d’Apache), alors que le serveur Apache intégré de MAMP, se trouve sur le port 8888. Notez que si plusieurs utilisateurs se partagent la machine, le serveur MySQL appartient (au sens Unix du terme) à celui qui l’a installé (qu’il soit ou non administrateur), c’est une limitation à prendre en compte, ce n’est pas un bogue ... Pour que les autres utilisateurs puissent s’en servir, il est donc nécessaire que les serveurs Apache et MySQL soient lancés et tournent dans la session de l’utilisateur qui a initialement installé MAMP. Enfin, n’utilisez pas MAMP pour un serveur web de production (accessible via Internet), il est fait pour un usage de test en local, car il n’est pas doté des fonctionnalités élémentaires de sécurité.

Cet article est extrait de Mac OS X Snow Leopard à 200 % de Nathalie Nicoletis (Digit Books, Brest, 2010), dans lequel vous pourrez retrouver 50 autres trucs et astuces pour Mac OS X.

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Le réseau X recule (un peu) dans son conflit avec la justice Brésilienne

22/09/2024 à 17:30

• 17


Chrome ne serait-il plus si gourmand sur la batterie ?

22/09/2024 à 16:40

• 29


RHINOSHIELD réinvente la protection pour iPhone 16 : durabilité, style et innovation au rendez-vous 📍

22/09/2024 à 10:42


Test de l'Asus Vivobook S15 : enfin un PC Windows ARM qui tient la route grâce au Snapdragon X

22/09/2024 à 10:00

• 29


Qualcomm pourrait racheter Intel, dans la tourmente depuis plusieurs mois

21/09/2024 à 14:56

• 154


Billets de train : 1.2.Train, le petit poucet qui prend le contrepied de SNCF Connect

21/09/2024 à 10:00

• 48


Sortie de veille : la 5G prend-elle enfin son envol ?

21/09/2024 à 08:00

• 35


Où commander son iPhone 16 ou 16 Pro pour le recevoir rapidement ?

20/09/2024 à 16:16


iPhone 16 et iPhone 16 Pro : notre premier aperçu en images

20/09/2024 à 16:03


ShopSystem : jusqu'à 50 % de réduction sur les coques iPhone ! 📍

20/09/2024 à 14:50


Chrome : les clés de passe se synchronisent désormais automatiquement

20/09/2024 à 11:15

• 9


YouTube va afficher des pubs quand une vidéo est en pause

20/09/2024 à 10:40

• 117


Apple Watch Series 10 : mais que reste-t-il à l'Ultra ?

20/09/2024 à 10:18


Inédit : LDLC offre 5 ans de garantie gratuite sur tous les MacBook et portables PC 📍

20/09/2024 à 09:10


L'Apple Store de la 5e avenue est aux couleurs d'Apple Intelligence

20/09/2024 à 07:34

• 22


Windows se blottit dans le cloud, avec une app macOS, iOS et iPadOS

19/09/2024 à 21:30

• 25