Aller au contenu

Environnement MobApp sur MacOS

Désactivation

Pour désactiver l'environnement MobApp, éditer votre fichier de configuration shell $HOME/.${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

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 $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

Installation de React Native

Voir la page officielle.

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

Taper les commandes suivantes :

# Installation de Node et Watchman
brew install node
brew install watchman
# Installation de Zulu (JDK)
brew tap homebrew/cask-versions
brew install --cask zulu17

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/.${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, choisir les options par défaut (c’est plus simple). Cela devrait installer le SDK version 34.

  • Installer la bonne version du SDK pour React Native. Actuellement, la version 33 :

  • ouvrir le SDK manager

  • cocher la case “show package details”.
  • décocher la/les cases “Android 14.0 UpsideDownCake” (version 34)
  • SDK Platforms : cocher la case Android SDK Platform 33
  • SDK Tools : cocher la case Android SDK Command-line Tools
  • émulateur : cocher une des cases “ARM 64 v8a System image” ou “Google APIs ARM 64 v8a system image”

  • Ajouter 4 lignes de configuration à votre shell :

cat <<'EOF' >> $HOME/.${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
  • autoriser (depuis la tablette) ton Mac à se connecter.
  • suivre les instructions du sujet du TP.
  • tester la commande `adb devices, vers la fin du sujet.

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@16
brew services start postgresql@16
# safer git command…
curl -o $HOME/git-script.sh https://www.cri.minesparis.psl.eu/~coelho/git-script.sh
chmod a+rx $HOME/git-script.sh

See /usr/local/var/log/postgresql@16.log for error messages about Postgres.

Setup Environment

Edit your shell configuration file to use these new commands:

cat <<'EOF' >> $HOME/.${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@16)/bin:$PATH"
export PYTHON=python3
alias make=gmake
alias git=$HOME/git-script.sh
EOF

Then source this environment

source ~/.${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