Mot-clé - Mac os x

Fil des billets - Fil des commentaires

samedi 22 janvier 2011

Switcher entre PHP 5.2 et PHP 5.3 sur Mac OS X et Homebrew

J'ai besoin au quotidien de pouvoir coder en PHP. Cela peut aller du tout nouveau framework de tests atoum, symfony 2… à du code pourri développé par d'autres et/ou du Drupal 6. Je n'ai donc pas trop le choix, il me faut PHP 5.2 sur ma machine.

Jusqu'à maintenant j'avais opté pour la facilité avec une installation complètement différente (vm, autre serveur) pour PHP5.3 et ça fonctionnait très bien. Mais c'était une situation stupide et bancale, genre un "proto en prod".

Les outils genre MAMP, Xampp étaient proscrits et j'ai une sainte horreur de MacPort et Fink. J'aime en revanche beaucoup homebrew. Malheureusement, PHP rentre en conflict avec la politique du créateur de ne pas surcharger les libs inclues dans Mac OS X, ce qui est le cas de PHP avec la version 5.3.2 (que je ne compte pas utiliser).

Pour avoir les deux et pouvoir switcher facilement, j'ai donc utilisé des forks git hébergés sur github :

  • PHP 5.2 depuis bozktek, qui vient juste de passer à la version 5.2.17 et qui propose une option de compilation FPM (que je n'utilise pas)
  • PHP 5.3 depuis ampt

Dans ces deux cas, je n'utilise pas exactement la version proposée, mais *oh joie* d'Homebrew et Git, modifier une Formula est très aisé et tout est sauvegardé / packagé / versionné avec git. Du bon combo gagnant !

La formula de PHP 5.2 proposé plus haut se nomme *php52* alors que celle de PHP 5.3 *php*. C'est gentil, ça évite les conflits.

Pour finir les installation ou plus de détails, je vous invite à lire le dernier billet de mon excellent collègue de Clever Age : Vincent Lemaire, Apache, mySQL et PHP 5.3 avec Homebrew. Ce qui nous intéresse ici c'est de pouvoir switcher entre l'un et l'autre.

Pour passer de PHP 5.2.17 à PHP 5.3.5

bash
# binaries files links
cd `brew --prefix` 
brew unlink php52
brew link php

# apache configuration
cd /tmp 
sudo cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.bak
sed -e "s/php\/5.3.5/php52\/5.2.17/g"  /etc/apache2/httpd.conf > httpd.conf.tmp
sudo mv httpd.conf.tmp /etc/apache2/httpd.conf
sudo apachectl restart

Pour passer de PHP 5.3.5 à PHP 5.2.17

# binaries files links
cd `brew --prefix` 
brew unlink php52
brew link php

# apache configuration
cd /tmp 
sudo cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.bak
sed -e "s/php52\/5.2.17/php\/5.3.5/g"  /etc/apache2/httpd.conf > httpd.conf.tmp
sudo mv httpd.conf.tmp /etc/apache2/httpd.conf
sudo apachectl restart

Puis

A vous de voir si vous allez plus loin : configuration php.ini, extension PHP. Mais le principe est là.

Je me suis intégré une version plus complexe de tout ça dans mon workflow de gestion de configuration de ma machine à base de git, fabric, lien logique pour en glander le moins possible, et c'est bien pratique et très élégant !

ps : chasse aux trolls, en python virtualenv c'est vachement plus intelligent ET JE LE SAIS !

jeudi 29 mai 2008

Nico's tutoriel : redimensionner une fenêtre du Finder [Mac OS X]

Mon frère Nicolas en a marre qu'on lui pose la question, alors il m'a demandé de publier ceci sur mon blog :

Souvent, quand on se balade dans le Finder sous Mac OS X, les fenêtres ne sont pas forcément à la bonne dimension, on la modifie donc grâce au coin en bas à droite. Malheureusement, quand on réouvre cette même fenêtre, elle n’a plus la bonne dimension. Donc comment faire comprendre au Finder de garder telle dimension pour telle fenêtre ?

Pour cela, la technique est simple, il suffit d’ouvrir la fenêtre souhaitée, de la redimensionner, puis la quitter en faisant la croix ou bien sur  + W puis vous pouvez rouvrir cette fenêtre et elle aura gardé la dimension souhaitée. Il suffit donc de modifier la taille sans effectuer d’opérations sur les fichiers.

Voilou……

mardi 30 octobre 2007

Mac OS X Leopard version 5 licences est arrivé

Ils sont vraiment rapides chez UPS, commandé dimanche soir, le colis est arrivé ce matin.

Pour l'instant il s'installe sur l'iMac du petit frère. Retours plus tard.

lundi 29 octobre 2007

Mettre à jour bazaar de temps en temps ça ne fait pas de mal

Si jamais vous utilisez Mac OS X et que comme moi vous utilisez Bazaar suite à mon tutoriel (par compilation), vous avez sûrement oublié de le mettre à jour.

C'est un des principal problème de l'installation d'un programme par compilation des sources de celui-ci : il faut suivre les mises à jour par soi-même car ça ne se fait pas tout seul[1]

Mon tutoriel parlait de la version 0.16 de bazaar... La dernière version en date est la 0.91 qui apporte un tas de choses dont un mécanisme optimisé, des corrections multiples de bugs, et quelques fonctionnalités en plus.

Mais en plus de ça, et c'est ce qui me concerne le plus, mon ordinateur sous Mac OS X est en réseau avec un tas d'ordinateurs sous Ubuntu. Or la dernière version en date d'Ubuntu- à savoir Gutsy Gibbon - intègre bazaar 0.90 qui n'est pas complètement fait pour fonctionner avec un bazaar 0.16.

Pour mettre à jour votre installation de bazaar par compilation, faîtes exactement comme pour l'installation : la nouvelle remplace l'ancienne.

Donc pensez à mettre à jour votre installation bazaar, et plus généralement n'importe quel logiciel que vous avez installé par compilation.

Rappel : le site officiel de Bazaar.

Notes

[1] A l'inverse des paquets officiels qui sont automatiquement mis à jour grâce aux mainteneurs de la distribution que vous utilisez (dans une distribution GNU/Linux bien entendu).

vendredi 26 janvier 2007

Enfin un bon terminal sous Mac OS X

J'ai déjà parlé sur ce même blog de la difficulté que j'avais d'avoir un bon terminal sous Mac OS X. Aucun d'eux ne réalisaient ce que je désirais à savoir :

  • Une colorisation syntaxique
  • un défilement avec le scroll de la souris ou son émulation par le pad.
  • une utilisation uniforme entre les systèmes linux (via ssh) et Mac OS X.

C'était pourtant pas beaucoup demandé !

Mais cette fois j'ai trouvé et la merveille se nomme iTerm. Je l'ai trouvé sur la logithèque de clubic : la fiche d'iTerm sur Clubic. Ou pour les fainéants :

Comme tout système basé sur Unix, Mac OS X propose un terminal de ligne de commande, mais celui ci est rudimentaire. iTerm, comme son nom l'indique, se veut un croisement entre le terminal et une interface plus évoluée dans la lignée des « iApps », que l'on remarque tout de suite au lancement du logiciel : metal brossé et fond transparent sont au programme.

Les améliorations ne sont pas uniquement cosmétiques et la plus évidente est l'ajout d'onglets permettant de « zapper » entre différentes sessions depuis la même fenêtre, et de signets offrant la possibilité de sauvegarder ces sessions. Le logiciel intègre également les technologies de Mac OS X comme AppleScript ou Bonjour et prend en charge tous les types d'encodages gérés par le système (le « i » signifie également « international »).

Notre avis : les habitués de la ligne de commande pourront sans doute préférer iTerm à la console disponible en standard sous Mac OS X. L'interface est soignée et la gestion des favoris est appréciable. Avis aux intéressés.

Je suis conquis :D.

EDIT 01/12/07 : Correction du bug de vim dans iTerm : les touches de directions ne fonctionnaient pas.

Haut de page