La mise à jour de Mac OS X 10.8 Mountain Lion a changé la configuration d’apache. Pour plus d’informations, lisez l’article MAJ Max OS X Mountain Lion : Impact de votre serveur de développement local.

Il existe plusieurs solutions de développement en local sous windows pour bien préparer vos projet (EasyPHP ou encore WampServer) mais les solutions sous Mac OS X sont assez limitées (Mamp est très limité dans sa version gratuite et Xamp est instable et très hasardeux). Pourtant, c’est très facile de développer son environnement manuellement sous MaxOS X sachant qu’apache est déjà installé et intégré au système d’exploitation. Nous allons ainsi voir comment configurer apache pour qu’il puisse faire tourner un site en local sur un nom de domaine de développement personnalisé et comment faire tourner MySQL et se passer de PHPMyAdmin.

I/ Configurer Apache 2

Apache a le mérite d’être déjà installé sur Mac OS X. Il suffit alors de le lancer, de le configurer et d’apprendre à le manier. Tout cela est extrêmement simple !

Commencez par ouvrir les préférences systèmes de votre machine, pour rappel, vous pouvez y accéder depuis la pomme en haut à gauche de votre ordinateur. Sélectionnez l’icone « partage » puis activer l’option « Partage Web » (il se peut que le démarrage soit un peu récalcitrant, c’est comme une vieille Renault, n’hésitez pas à insister un peu en décochant puis recochant la checkbox). Ensuite … En fait non, c’est tout. Votre apache est maintenant allumé et prêt à fonctionner. Il faut tout de même le configurer maintenant.

Si vous n’avez pas activé la gestion des fichiers cachés, le dossier apache sera invisible et il vous faudra y accéder depuis « Menu Finder / Aller / Aller directement à » rendez-vous donc ici : « /etc/apache2 » et vous voici dans l’arborescence de la configuration d’apache 2. Celle-ci est légèrement modifié par rapport à l’officielle qui tourne sous Linux, mais on y retrouve les principaux composant dont vous aurez besoins :

  • httpd.conf qui vous permettre de gérer les extensions et activer les virtual hosts.
  • extra/httpd-vhosts.conf qui vous permettra de gérer vos différents sites locaux.

Commençons avec le fichier httpd.conf. Il se peut que celui-ci soit bloqué au niveau des accès en écriture. Pour remédier à ce problème, clic droit sur le fichier, lire les informations et tout en bas, sélectionnez votre utilisateur pour lui donner les droits de lecture et d’écriture. Vers le début du fichier, vous pouvez apercevoir un certain nombre de ligne commençant par « LoadModule ». Il suffit de commenter cette ligne pour désactiver un module apache. Ainsi, si vous souhaitez utiliser de l’URL Rewriting, je vous conseil de dé-commenter la ligne « LoadModule rewrite_module libexec/apache2/mod_rewrite.so ». De même, assurez-vous que le module php5_module soit activé. Vers la fin du fichier, vous trouverez la ligne suivante : « Include /private/etc/apache2/extra/httpd-vhosts.conf » si celle-ci est commentée, activez-la en retirant le # ce qui vous permettra alors de gérer vous même les répertoires de vos sites locaux.

Ouvrez le fichier extra/httpd-vhosts.conf et créez votre propre virtual host. Petit exemple :

<VirtualHost *:80>
    ServerAdmin thibaulthenry@tilotiti.com
    DocumentRoot "/Users/thibaulthenry/Sites/EdenPHP/www/"
    ServerName edenphp.dev
    ServerAlias www.edenphp.dev
    ErrorLog "/Users/thibaulthenry/Sites/EdenPHP/www/log/apache-error_log"
    CustomLog "/Users/thibaulthenry/Sites/EdenPHP/www/log/apache-access_log" common

    <Directory "/Users/thibaulthenry/Sites/EdenPHP/www/">
        AllowOverride All
        Options MultiViews FollowSymlinks
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Ici, j’ai donc créé le site EdenPHP qui répondra au nom de domaine edenphp.dev (ainsi qu’à son alias www.edenphp.dev). J’y autorise la lecture web depuis mon ordinateur ainsi que l’interprétation de la réécriture d’URL. Je précise que la racine du site web se trouve à cette adresse « /Users/thibaulthenry/Sites/EdenPHP/www/ » et je donne mon adresse e-mail en cas de problème, ce qui ne sert ici strictement à rien !

Votre apache est maintenant correctement configuré, il est lancé mais il vous manque deux choses : Premièrement, il faut relancer apache pour que les modifications soient prises en compte et il faudrait faire rediriger le nom de domaine vers votre ordinateur.

L’équivalent de « /etc/init.d/apache2 restart » sous mac, c’est « je décoche la case partage web de mes préférence de partage, puis je la recoche ». Jusque là, rien de bien complexe. Soyez insistant mais en cas de soucis, les logs sont présents dans le répertoire d’apache pour vous indiquer l’erreur que vous avez comise.

Vous devez ensuite rediriger manuellement le nom de domaine choisi (ici edenphp.dev) vers votre mac. Pour se faire, il vous suffit d’aller dans /etc/ et d’éditer le fichier hosts (comme pour le fichier httpd.conf, si vous n’avez pas les autorisations nécessaires pour modifier le fichier, allez régler ce problème dans « lire les informations » du menu contextuel). Rajoutez simplement la ligne suivante à la fin de votre fichier :

127.0.0.1 edenphp.dev www.edenphp.dev

Enregistrez et tada ! Vous aurez accès à votre site local depuis votre site préféré. Il se peut cependant que vous ayez à utiliser du mysql en localhost, pour ça, mysql a tout prévu !

II/ Installation de MySQL

Quand je dis que c’est simple, c’est simple. Allez télécharger MySQL Workbench pour mac directement sur le site officiel. Installez l’application et lancez là (depuis votre répertoire d’application, pas depuis le volume temporairement monté). L’application est plutôt bien faite, tout à droite, dans la partie « Server Administration » sélectionnez « New Server Instance ». Sachez que votre login sera root et le mot de passe sera vide (vous êtes en local, on s’en fiche un peu). Puis dans la partie « SQL Development », sélectionnez « New Connection » et vous voici avec un serveur MySQL monté en local et un formidable outil, bien plus efficace que PHPMyAdmin. Vous pouvez maintenant connecter votre application PHP à MySQL en utilisant le serveur localhost avec l’utilisateur root et sans mot de passe.

 

Vous voilà donc avec un super environnement « MAMP » (Mac, Apache, Mysql, PHP) qui vous permettra de développer votre propre projet en local directement sans avoir à dépendre de programmes tierces qui ne correspondent pas forcément à vos besoins.

Si vous avez le moindre problème, n’hésitez pas à me poser des questions en commentaire. J’y répondrais quoi qu’il arrive.

Cet article, dont je suis l’auteur, a été originalement écrit pour le blog auto-net.fr, blog de l’agence Digital Dealer dans laquelle je travaille, dont voici le lien original.

Avec plus de 160 millions de « iDevice » vendus (dont 10 rien que chez Digital Dealer) pour seulement 5 modèles d’iPhone (1, 3G, 3Gs, 4, 4s) et 3 modèles d’iPad (1, 2, new), Apple reste la marque dominante du marché du smartphone et de la tablette.

Lundi dernier (le 11 juin 2012), à 19h (heure française) s’est déroulée la WWDC, la Worldwide Developers Conference, l’une de ces fameuses « Keynote » présentant les toutes dernières nouveautés de la marque dont saint Steve Jobs avait le secret. Nous avons pu alors découvrir, en direct, un nouveau modèle de Mac Book Pro (très impressionnant, mais malheureusement le prix l’est tout autant), la prochaine version du système d’exploitation de Mac (OS X Mountain Lion, qui se rapproche encore un peu plus des fonctionnalités d’un iPad) et enfin, la version 6 du système d’exploitation des iPhones (iOS).

En temps que développeur d’applications iPhone (CF Dealer Phone, dont la V2 arrive très vite, c’est promis) nous avons eu accès, quelques minutes après la fin de cette conférence, à une version beta (non définitive et privée) de l’iOS 6. Nous l’avons testé, nous avons aimé, nous allons vous faire partager notre expérience.

Ne pas déranger

L’iPhone, ses mails, ses notifications, ses alertes, c’est génial ! Mais qui n’a jamais eu envie de jeter son téléphone par la fenêtre ou dans les toilettes quand, à 4h du matin, on reçoit un mail (le son qui va avec et la chambre qui s’illumine) d’un prince africain souhaitant nous récompenser de notre fidélité avec 400 millions d’euros en échange d’un virement de 4500€ pour avancer les frais d’huissier ? Un SMS nous prévenant qu’Aurélie a essayé de nous joindre et a laissé un message au 0824093072 (1€58 par appel puis 0€36 la minute) ou votre mère « likant » votre photo de classe sur votre profil Facebook. C’est affreux, ça réveille et c’est inutile. Mais iOS 6 est là ! Depuis les configurations de votre iDevice (smartphone / tablette), vous pouvez déterminer une plage horaire où rien ni personne ne vous dérangera ! Mieux encore, vous pouvez déterminer quel groupe de contact peut vous déranger en cas d’urgence. Une nouvelle fonctionnalité qui, mine de rien, m’a offerte ma première vraie nuit de sommeil depuis 6 ans.

           

Apple Map

Apple et Google ne sont plus très amis depuis quelque temps, mais Google reste une marque omniprésente dès que l’on touche de près ou de loin aux nouvelles technologies. Belle déclaration de guerre de la part d’Apple en supprimant l’application Google Maps pour la remplacer par sa propre application Plans. Ce système utilise les données GPS de TomTom mais dispose de ses propres cartographies (Toujours plan, satellite et mixte) Plans propose en plus un nouvel affichage, celui de la 3D (uniquement pour l’iPad apparemment). Le rendu est actuellement assez pauvre, mais la mise à jour est quotidienne et les villes commencent, petit à petit, à sortir du sol. Nous retrouvons également une ébauche de GPS dit « step-by-step », bien trop pauvre à mon goût et une meilleure intégration du trafic routier. En soit, la volonté de remplacer Google a un prix et se traduit par une absence d’amélioration du système de guidage en direct. Ainsi, je resterais avec mon Mappy Free qui fait du très bon boulot gratuitement (et bientôt smartGPS ?).

            

Notons, pour la petite anecdote, un changement de logo de l’application :

Logo Plans pour iOS 6       

Vous notez la différence ? Avec iOS6 (le premier), nous avons maintenant un itinéraire (partant de Cupertino, siège social de la marque Apple) et bien devinez quoi ? Si on suit l’itinéraire indiqué, on est obligé de sauter d’un pont et d’atterrir en plein autoroute … Attention à vous !

Gestion des appels entrants

Régulièrement, on se retrouve dans l’impossibilité de répondre au téléphone lors d’une réunion, d’un rush ou encore d’une période de détente méritée (enfin, moi jamais … Détente ? Jamais …). Au lieu de pousser son interlocuteur au harcèlement, iOS 6 nous propose deux petites options dont je risque d’abuser : « répondre par message » et « me le rappeler plus tard ». « Répondre par un message » n’est qu’une reprise améliorée de l’iOS 5 et permet d’envoyer par texto un message pré-formaté (« Je te rappelle », « J’arrive », « Quoi de neuf ? », ou un message personnalisé) tout en renvoyant le correspondant vers sa messagerie. « Me le rappeler plus tard » permet par contre de rajouter  un rappel (disponible depuis iOS 5) « dans une heure » ou « quand je pars ». Ainsi, plus d’appel oublié ! Assez pratique effectivement.

            

Intégration de Facebook

Avec l’arrivée de iOS 5, twitter était pleinement intégré au système d’exploitation, ce qui permettait de twitter et de partager toute sorte de contenu nativement. Nous étions au courant, Apple et Facebook n’étaient pas les meilleures amis du monde (notamment depuis l’histoire de iTunes Ping pour lequel Facebook s’est désisté dans son partenariat moins d’une semaine avant la sortie de ce réseau social musical) pourtant, c’est fait ! Facebook, au même titre que Twitter est ainsi nativement intégré à iOS 6. Bonne nouvelle pour les accros !

Passbook

Le Passbook est encore un peu flou, celui-ci prendra toute son ampleur dès la sortie officielle de l’iOS 6 puisqu’il s’agit ici d’un nouveau type d’application permettant de recréer virtuellement un porte-ticket interactif. En effet, vous pourrez enregistrer vos billets d’avion, de train, de théâtre, de concert, etc. Vous serez alors prévenu des retards, des des modifications quelconques et plus besoin d’imprimer ses billets (ou même de les recevoir par courrier ou sur une borne pour les moins technophiles d’entre vous).

AppStore, iPod et téléphone

Certaines choses n’avaient pas évolué depuis la toute première version d’iOS, c’est maintenant chose réglée ! L’application iTunes (que PERSONNE n’utilisait) a fusionné avec l’application App Store qui a eu le droit à un petit rafraîchissement (et d’une super amélioration de l’expérience utilisateur !). De la même manière, l’application Musique fait également peau neuve, ainsi que l’interface de numérotation que j’avais toujours trouvée un peu brouillon.

                     

(et on ne critique pas le choix musical)

Safari

Pour l’instant, rien de bien flagrant, mais tout vient à point à qui sait attendre ! En effet, avec la sortie de l’OS X Mountain Lion, votre safari iOS et votre safari OS X seront entièrement synchroniser ! Récupérez vos onglets ouverts sur votre iPhone directement sur votre Mac grâce à iCloud. De plus, l’interface de partage des pages a été largement améliorée et prend maintenant en compte une multitude de réseaux sociaux.

Conclusion

On ne peut pas dire que le passage d’iOS 5 à iOS 6 soit une aussi grande révolution que le passage d’iOS 4 à iOS 5. D’ailleurs, le nom « iOS 6 » est à mon avis purement marketing car il ne s’agit en fait que d’une simple amélioration de l’iOS 5, une sorte de version 5.5 en fait (le noyau de l’application n’a pas été touché, contrairement au passage vers la version iCloud). Néanmoins, les fonctionnalités proposées nativement sont assez agréables bien qu’inutiles pour certaines (inutiles, donc indispensables). Par contre, la grande nouveauté se retrouve dans le SDK de cet OS (Outil permettant de créer des applications), ainsi, l’iOS 6 va pouvoir user de tout son potentiel dès sa sortie officielle avec des applications utilisant toutes les nouvelles possibilités offertes par Apple.

Prochain rendez-vous avec Apple en Octobre prochain pour la sortie de l’iPhone 5 (dont les premières photos volées du produit final circulent depuis ce matin sur le web). En attendant, nous, on va bien s’amuser avec cet iOS 6 beta et on a une petite pensée pour vous qui devrez attendre quelques semaines encore !

Découvert il y a quelques semaines déjà, j’aimerais vous faire partager ce tumblr si bien réfléchi : Les joies du code

Le concept est simple, illustrer toutes les situations vécues par un développeur (java dans son cas) avec des gifs animés.

Ce tumblr nous a valu quelques fous-rires bien agréables à l’agence et je vous le conseil vivement.

Pour ma part, voici celui qui a largement retenu mon attention :

 

Quand je vois du code mal indenté

 

Enjoy !

PS : Un autre tumblr est sorti juste après, pas le même auteur et reprenant certaines vannes, pour les graphistes. J’aime moins, mais je partage tout de même : Le graphisme ça Boom.