Dans cet article j’explique comment configurer un mac et paramétrer les outils de base de développement graphique et programmatique, puis installer une version propre d’Apache et de MySQL et leurs configurations.

Prise en main

J’ai récemment acheté une nouvelle machine Mac. Vous vous demandez peut-être quelles sont les premières choses à faire pour la configurer et la rendre plus confortable. Personnellement je trouve que tout est gros quand le système s’ouvre pour la première fois. Le dock par exemple: pour le réduire, cliquer et restez enfoncé sur la petite barre verticale du dock entre la corbeille et les applications, et bougez votre souris vers le bas. Le dock se redimensionne. N’hésitez pas à enlever toutes les apps du dock par défaut. Pour lancer une application j’utilise personnellement Spotlight que j’appelle par la commande CMD-Espace.

Personnalisez le Finder

Dans le Finder, allez dans les préférences en cliquant dans le menu

Finder > préférences

et choisissez les éléments que vous souhaitez afficher sur le bureau. Personnalisez le dossier que doit ouvrir le Finder quand vous ouvrez une nouvelle fenêtre (CMD + N). Ouvrez l’onglet barre latérale pour cocher les éléments auxquels vous aurez souvent accès et décochez ceux dont vous doutez vous servir.

Cliquez sur le bureau de façon à ce qu’aucune fenêtre ne soit sélectionnée et faites CMD+J qui appelle les options de présentation. Personnellement je préfère avoir des petites icônes sur le bureau, triées, avec le nom sur la droite en 12pt.

Vous ne profitez peut-être pas au maximum de votre écran

J’ai appris que par défaut ma résolution d’écran était au rapport 1.5x par défaut. En effet, pour profiter pleinement de toutes les pixels de votre écran de MacBook, vous devez choisir un réglage plus d’espace (WTF?).

Réglages de couleur Photoshop et Illustrator

Par défaut Photoshop et Illustrator sont paramétrés pour les USA. Pensez à modifier les réglages colorimétriques dans Edition > Réglages de couleur et à changer les réglages pour l’Europe

La répétion des touches vous semble trop rapide ou trop lente?

Allez voir dans le menu Pomme > Préférences système > Clavier

Si la vitesse max reste trop lente pour vous, il y a une solution. Entrez dans votre terminal:

$ defaults write -g InitialKeyRepeat -int 10 # minimum de base est de 15 (225 ms)
$ defaults write -g KeyRepeat -int 1 # minimum de base est de  2 (30 ms)

Remplacez 10 et 1 par les valeurs qui vous conviennent.

Fermez et rouvrez votre session / redémarrez pour voir les effets.

Je veux simplifier mon organisation

Les applications que j’utilisais dans mon ancienne configuration

  • La suite Adobe: Photoshop, Illustrator, Indesign pour la PAO 1
  • Textmate pour le code
  • Taskpaper pour la gestion de tâches
    • après avoir testé Omnifocus, Any.do, Tasks, et pas mal d’autres clients GTD, Omnifocus m’apparaissait le meilleur, quoique compliqué. Tout le monde n’a pas besoin de contextes, perspectives, tout ça pour des listes.
  • Ulysses pour la prise de notes, rédiger des articles, textes persos, après avoir testé Byword, Daedalus touch (discontinued) et pas mal d’autres
  • Cyberduck pour le tranfert ftp/sftp
  • Billings pour compter et facturer le temps de travail
  • Un apache/mySQL GUI (comme celui-ci) pour faire tourner mon localhost et Sequel Pro pour bosser sur les bdd 2
  • Terminal à l’occasion, avec différents gestionnaires de paquets (= plein de .machin dans mon home et le bordel dans mon tree et mes dépendances)
  • Textexpander pour l’expansion de texte
  • LibreOffice pour les fichiers doc et odt
  • Numbers ou Excel pour la compta
  • Keka pour compresser et décompresser des archives
  • Apple Mail pour les mails
  • Skitch pour créer et annoter rapidement une copie d’écran
  • Applis web

Je constate que j’ai beaucoup d’application différentes pour traiter du texte, alors que je pourrais faire beaucoup avec emacs. Emacs a des modes d’édition qui permettent de traiter différents types de textes, qui vont des languages de programmation, au rédactionnel. Le mode que je vais privilégier pour régler plusieurs problématiques est org-mode. Je vais utiliser emacs et le terminal pour:

  • modifier du code (fini textmate, atom, notepad & co.)
  • prendre des notes, rédiger des articles (aurevoir Ulysses, Word…)
  • gérer mes tâches et mes agendas ensembles (fini Taskpaper + Google calendar, Omnifocus…)
  • gérer mes fichiers, le envoyer, les compresser (fini Keka, Cyberduck, Fugu, Transmit…)
  • chronométrer et facturer mon temps avec org-mode et latex (en cours)

Ma liste pourrait être simplifiée de la sorte

  • La suite Adobe
  • Textmate pour le code Emacs
  • Taskpaper pour la gestion de tâches Emacs avec org-mode
  • Ulysses Emacs avec org-mode
  • Cyberduck Terminal
  • Billings Emacs avec org-mode
  • Un apache/mySQL GUI Terminal
  • Textexpander l’accessibilité et le scripting sont top
  • LibreOffice parce que c’est léger
  • Numbers ou Excel
  • Je garde Apple Mail pour le moment…
  • Keka Terminal
  • Skitch
  • Applis web
    • Whatsapp
    • Google Calendar Emacs avec org-mode
    • Trello Emacs avec org-mode

Fini les abonnements et les applications payantes. Je veux du durable. Avec e-macs il y a fort à parier que mes fichiers org seront toujours lisibles dans 50 ans, et qu’emacs sera toujours gratuit! Je ne veux plus avoir à tester un nouveau client de code ou de rédactionnel. J’en suis fatigué.

Installation des outils de dev

Le terminal

Avant d’aller plus loin sur la question, je vous recommande d’installer iTerm2 qui est comme le terminal du mac, mais en mieux. Paramétrez-le comme bon vous semble, si vous souhaitez paramétrer le thème, c’est dans l’onglet Profile.

bash

Pour le bash, optez plutôt pour un zsh, facile à installer, avec ses complétions

brew install zsh zsh-completions

sans oublier de le pimenter du framework oh my zsh, choisissez votre thème et le terminal devient un peu plus confortable. Pour appliquez un thème il suffit d’ouvrir votre fichier ~/.zshrc, chercher la ligne

ZSH_THEME="votre_theme"

puis de remplacez “votre_theme” par un de ceux que vous trouverez ici.

Xcode

Si Xcode n’est pas installé, entrez xcode-select --install

Homebrew

Homebrew est un gestionnaire de paquets puissant pour mac que vous pouvez utiliser en l’appellant brew. Avant de pouvoir l’utiliser, il faut l’installer

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Suivez les indications. Normalement il ne devrait pas y avoir de problème. Vérifiez votre installation de brew en tapant

$ brew --version
Homebrew 1.5.14
Homebrew/homebrew-core (git revision beff; last commit 2018-04-06)

Si vous avez un doute sur l’installation, vous pouvez entrer brew doctor. Vous serez averti s’il y a quelque chose à corriger

Apache

Apache est fourni avec le dernier MacOS High Sierra, mais vous aurez du mal à l’utiliser avec Homebrew. La solution la plus simple consiste à réinstaller Apache 2.4 et à le faire tourner sur les ports standards (80 ou 443). Si Apache est en train de tourner chez vous, ou si vous avez un doute, cela ne coute rien de taper ces commandes dans l’ordre:

$ sudo apachectl stop
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

Installons la version fournie par brew

$ brew install httpd

Cela devrait être rapide car http ne sera pas compilé depuis la source. Une fois terminé, vous devriez lire

🍺  /usr/local/Cellar/httpd/2.4.33: 1,633 files, 26.4MB

Configurons notre Apache pour qu’il démarre tout seul…

$ sudo brew services start httpd

Ca y est ! Vous devriez avoir Apache à la sauce Homebrew qui est configuré pour démarrer automatiquement avec les privilèges requis. Allez donc visiter http://localhost:8080, vous devriez pouvoir lire “It works!”

Si ça ne marche pas…

Si vous obtenez un message d’erreur qui vous dit “impossible de se connecter au serveur”, vérifiez d’abord que le serveur tourne.

$ ps -aef | grep httpd

Vous devriez voir des processus en cours si Apache fonctionne. Essayez de redémarrer Apache avec

$ sudo apachectl -k restart

Vous pouvez examiner les logs d’Apache pour localiser le problème avec la commande tail

$ tail -f /usr/local/var/log/httpd/error_log

Apache est contrôllé par la commande apachectl, voici quelques commandes utiles:

$ sudo apachectl start
$ sudo apachectl stop
$ sudo apachectl -k restart

Configuration d’Apache

Maintenant que notre serveur qui fonctionne, nous allons le configurer quelque peu pour nous créer un environnement local de développement.

Dans la dernière version de brew, il faut changer à la main le port par défaut 8080 pour 80. Il nous faut modifier ce fichier

/usr/local/etc/httpd/httpd.conf

Pour faire simple, nous allons utiliser le traitement de texte par défaut par défaut pour faire nos modifications. Vous pouvez l’appeler par la commande open-e suivi du chemin du fichier tel que:

$ open -e /usr/local/etc/httpd/httpd.conf

Cherchez la ligne où vous trouvez

Listen 8080

et modifiez pour

Listen 80

Ensuite nous allons changer le chemin racine d’Apache. Il s’agit du dossier où Apache lit les fichiers qu’il va servir. Par défaut, la racine est configurée à /usr/local/var/www. Nous allons changer ce chemin pour pointer vers notre dossier Sites dans notre dossier de départ.

Chechez dans le fichier que vous modifiez DocumentRoot et vous tomberez sur la ligne

DocumentRoot "/usr/local/var/www"

Changez pour ce dossier où utilisateur est le nom de votre utilisateur de votre session.

DocumentRoot /Users/utilisateur/Sites

Il vous faut aussi changer le tag <Directory> juste après la ligne DocumentRoot. Pointez vers le même dossier tel que

<Directory /Users/utilisateur/Sites>

Dans le bloc <Directory> vous allez trouver un réglage AllowOverride. Changez le tel que:

AllowOverride All

Le mod_rewrite est commenté par défaut. Il permet la réécriture des URLs par les sites. Recherchez mod_rewrite.so et enlevez les # en début de ligne afin de décommenter la ligne. Vous devriez obtenir

LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

Utilisateurs et groupes

Apache pointe veres notre dossier Sites dans notre dossier de départ/home. Il reste un problème: par défaut Apache fonctionne sous l’utilisateur daemon du groupe daemon. Ca va poser des problèmes de permissions quand nous allons chercher à accéder à des fichiers de notre dossier. A peu près au tiers du fichier httpd.conf il y a deux réglages Useret Group qui servent à Apache. Modifier le userpour votre nom d’utilisateur avec le groupe staff, tel que:

User your_user
Group staff

Nom du serveur

Apache aime avoir un nom de serveur dans sa config, mais c’est désactivé par défaut, alors recherchez

#ServerName www.example.com:8080

et remplacez par

ServerName localhost

Dossier Sites

Si ce n’est pas déjà fait, créez un nouveau dossier Sites dans votre dossier de départ. Vous pourriez le faire par le finder, mais je vous recommande le terminal. Tapez cd pour vous retrouver à votre root ~, puis

$ mkdir ~/Sites

Créez un petit fichier index.html avec un petit texte dedans

$ echo "<h1>Coucou</h1>" > ~/Sites/index.html

Redémarrez Apache pour être sûr que vos changements prennent effet

$ sudo apachectl -k restart

Vous rendre à l’adresse http://localhost doit vous afficher un gros “coucou”. Si c’est ok pour vous, je vous invite à lire le prochain chapitre:

Installer PHP et MySQL (en cours de rédaction)


Notes

  1. Publication Assistée par Ordinateur 

  2. Bases de données