Aller au contenu

Environnement MobApp sur MacOS

Shell

Sur les versions récentes de MacOS les comptes utilisent zsh, mais dans les versions plus anciennes c'était bash. Vérifier quel shell vous utilisez :

echo ${ZSH_NAME:-$SH}

Si vous avez bash, ajouter le source au fichier de configuration initial :

cat <<'EOF' >> $HOME/.bash_profile

# MOBAPP SHELL
source $HOME/.bashrc
EOF

Installation de Homebrew

Homebrew est une distribution de logiciels libres pour macOS.

Exécuter dans un terminal la commande :

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Exécuter les 3 lignes commençant par echo (dans les messages affichés à l’écran), que vous devez copier/coller dans le terminal.

Tester si l’installation est correcte, à l’aide de la commande:

brew

Développement front-end

Divers installations sont nécessaire pour pouvoir faire du développement Front End sur MacOS.

Installation de React Native

Voir la page officielle d'installation (installation sans framework).

Sélectionner les options “React Native CLI Quickstart”, “macOS”, et “Android”.

Taper les commandes suivantes, une par une, en vérifiant que l'exécution s'est bien passée à chacune des étapes avant de passer à l'étape suivante :

  • Installation de Nodes
brew install node
  • Installation de Watchman
brew install watchman
  • Installation de Zulu (JDK)
brew install --cask zulu@17

NB : Zulu est un JDK offrant une version optimisée pour architecture ARM de Java 17. Il est, en principe, installé dans /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home.

Déclarer l’emplacement du JDK dans la variable JAVA_HOME :

cat <<'EOF' >> $HOME/.${ZSH_NAME:-$SH}rc

# MOBAPP JAVA
export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
EOF

Installation d'Android Studio

  • Récupérer la version depuis la clé USB ou le site officiel

  • Prendre la version correspondant à votre mac : “Mac with Apple chip” (ARM) ou version “Intel”.

  • Lancer Android Studio, il installe par défaut le SDK version 34. On peut garder cette version installée, ou bien la retirer ultérieurement pour gagner de la place (Android Studio affiche alors un avertissement au démarrage).

  • React Native 0.76 a besoin du SDK version 35, il faut donc corriger les paquets installés :

  • ouvrir le SDK manager ("More Actions" dans la fenêtre d'accueil)

  • cocher la case “show package details”.
  • décocher la/les cases “Android 14.0 UpsideDownCake” (version 34) -- optionnel
  • SDK Platforms :
    • cocher "Android SDK Platform 35"
    • pas besoin d'installer les sources
    • installer un émulateur pour l'architecture de votre Mac, par exemple "Google Play ARM 64 v8a System Image"
  • SDK Tools :

    • cocher Android SDK Build Tools 35
    • décocher Android SDK Build Tools 34 -- optionnel
    • cocher "Android SDK Command-line Tools" (la plus récente)
  • Ajouter 4 lignes de configuration à votre shell :

cat <<'EOF' >> $HOME/.${ZSH_NAME:-$SH}rc

# MOBAPP ANDROID
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools
EOF
  • fermer le terminal et en ouvrir un nouveau.

  • tester : taper adb, et vérifier le message du genre :

Android Debug Bridge version 1.0.41
Version 34.0.5-10900879
Installed as /Users/daverio/Library/Android/sdk/platform-tools/adb
[...]

Fin de l’Installation Android

Configurer la tablette en mode développeur :

  • activer le debug USB
  • connecter la tablette au Mac
  • taper adb devices (Lenovo unauthorized)
  • autoriser (depuis la tablette) ton Mac à se connecter
  • taper adb devices (Lenovo authorized)
  • suivre les instructions du sujet du TP

Annexe : installation XCode (optionnelle)

XCode n’est nécessaire que si vous souhaitez créer la version iOS de votre application. Il prend beaucoup de place sur le disque dur (30-50 Go), donc ne l’installez pas si vous n’en avez pas besoin.

  • le lancer
  • approuver la licence d’utilisation
  • installer des composants additionnels
  • le fermer

Back-End Development

MacOS Settings

  • Free Port 5000!

In System Preferences/Préférences systèmes, in Sharing/Partage deactivate AirPlay Receiver/Récepteur AirPlay to free port 5000 on your laptop.

  • Extend Shared Memory
sudo sysctl -w kern.sysv.shmmax=268435456 kern.sysv.shmall=65536

Install Various Packages and Utils

The default Python3 installation on MacOS is too old. Execute these commands one by one, ensuring that each succeeded before proceeding to the next.

brew install coreutils
brew install colortail
brew install make
brew install pandoc
brew install python@3
brew install postgresql@17
brew services start postgresql@17
# see `/usr/local/var/log/postgresql@17.log` for error messages about Postgres.

Command git can be quite error-prone, so a safer alternative is proposed:

# get script
curl -o $HOME/git-script.sh https://www.cri.minesparis.psl.eu/~coelho/cours/mobapp/git-script.sh
# fix permissions
chmod a+rx $HOME/git-script.sh
# check that it is okay
$HOME/git-script.sh --version
# MUST SHOW A VERSION, eg "git version 2.43.0".

Setup Environment

Edit your shell configuration file to use these new commands:

cat <<'EOF' >> $HOME/.${ZSH_NAME:-$SH}rc

# MOBAPP BACK END
export PATH="$(brew --prefix)/bin:$PATH"
export PATH="$(brew --prefix coreutils)/bin:$PATH"
export PATH="$(brew --prefix colortail)/bin:$PATH"
export PATH="$(brew --prefix make)/bin:$PATH"
export PATH="$(brew --prefix pandoc)/bin:$PATH"
export PATH="$(brew --prefix python@3)/bin:$PATH"
export PATH="$(brew --prefix postgresql@17)/bin:$PATH"
export PYTHON=python3
alias make=gmake
alias git=$HOME/git-script.sh
EOF

Then source this environment

source ~/.${ZSH_NAME:-$SH}rc

Setup Postgres

Create a default database for current user.

createdb -O $USER $USER

Checks

Run these commands to check the setup:

Create a new terminal with ⌘n, and check that the environment is defined as expected:

type python3
type make
type colortail
type psql
psql  # then quit
git --version  # must show a version…

Désactivation

Pour désactiver l'environnement MobApp, éditer votre fichier de configuration shell $HOME/.${ZSH_NAME:-$SH}rc et effacer les lignes liées à MOBAPP.

Pour ne pas faire de pull-rebase par défaut :

git config --global --add pull.rebase false