forked from vergnet/application-amicale
Improved install instructions
This commit is contained in:
parent
a9caca9969
commit
5bfc353218
2 changed files with 77 additions and 5 deletions
77
INSTALL.md
77
INSTALL.md
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
**Vous allez devoir installer git, node et npm sur votre machine, puis cloner ce dépôt.**
|
**Vous allez devoir installer git, node et npm sur votre machine, puis cloner ce dépôt.**
|
||||||
|
|
||||||
Tout est expliqué dans ce guide, si vous avez un problème ou une question, merci de me contacter par mail : app@amicale-insat.fr
|
Tout est expliqué dans ce guide, si vous avez un problème ou une question, merci de me contacter par mail : [app@amicale-insat.fr](mailto:app@amicale-insat.fr)
|
||||||
|
|
||||||
Ce guide à été testé sur Linux (Ubuntu 18.04).
|
Ce guide à été testé sur Linux (Ubuntu 18.04).
|
||||||
Si vous utilisez Windows, débrouillez-vous ou installez Linux j'ai la flemme de tester.
|
Si vous utilisez Windows, débrouillez-vous ou installez Linux j'ai la flemme de tester.
|
||||||
|
@ -17,6 +17,7 @@ Si vous utilisez Windows, débrouillez-vous ou installez Linux j'ai la flemme de
|
||||||
* [Téléchargement des dépendances](#téléchargement-des-dépendances)
|
* [Téléchargement des dépendances](#téléchargement-des-dépendances)
|
||||||
* [Lancement de l'appli](#lancement-de-lappli)
|
* [Lancement de l'appli](#lancement-de-lappli)
|
||||||
* [Tester sur un appareil](#tester-sur-un-appareil)
|
* [Tester sur un appareil](#tester-sur-un-appareil)
|
||||||
|
* [Compiler une version release](#compiler-une-version-release)
|
||||||
|
|
||||||
## Installation de Git
|
## Installation de Git
|
||||||
|
|
||||||
|
@ -42,7 +43,7 @@ sudo apt-get install -y nodejs
|
||||||
|
|
||||||
## Installation de React Native
|
## Installation de React Native
|
||||||
|
|
||||||
Merci de suivre les [instructions d'installation](https://reactnative.dev/docs/environment-setup) sur le site officiel.
|
Merci de cliquer sur [ce lien](https://reactnative.dev/docs/environment-setup) et de suivre la procédure d'installation officielle sous l'onglet **React Native CLI Quickstart**, en sélectionnant ensuite votre plateforme.
|
||||||
|
|
||||||
## Téléchargement du dépôt
|
## Téléchargement du dépôt
|
||||||
|
|
||||||
|
@ -51,17 +52,34 @@ Clonez ce dépôt à l'aide de la commande suivante :
|
||||||
git clone https://git.etud.insa-toulouse.fr/vergnet/application-amicale.git
|
git clone https://git.etud.insa-toulouse.fr/vergnet/application-amicale.git
|
||||||
````
|
````
|
||||||
|
|
||||||
|
Toute modification doit être réalisée sur la branche de développement (pas de commit direct sur master). Dev est ensuite fusionnée avec master une fois qu'une version stable est prête.
|
||||||
|
Ainsi, en prenant la branche master a n'importe quel moment, il devrait être possible de compiler une version stable.
|
||||||
|
|
||||||
|
Si vous voulez utiliser la branche de développement, réalisez la commande suivante :
|
||||||
|
````shell script
|
||||||
|
git checkout dev
|
||||||
|
````
|
||||||
|
Pour revenir sur la branche principale, effectuez la commande
|
||||||
|
````shell script
|
||||||
|
git checkout master
|
||||||
|
````
|
||||||
|
|
||||||
## Téléchargement des dépendances
|
## Téléchargement des dépendances
|
||||||
|
|
||||||
Une fois le dépôt sur votre machine, ouvrez le terminal dans le dossier du dépôt cloné et tapez :
|
Une fois le dépôt sur votre machine et git sur la branche de votre choix, ouvrez le terminal dans le dossier du dépôt cloné et tapez :
|
||||||
````shell script
|
````shell script
|
||||||
npm install
|
npm install
|
||||||
````
|
````
|
||||||
Ceci installera toutes les dépendances listées dans le fichier _package.json_. Cette opération peut prendre quelques minutes et utilisera beaucoup d'espace disque (plus de 300Mo).
|
Ceci installera toutes les dépendances listées dans le fichier _package.json_. Cette opération peut prendre quelques minutes et utilisera beaucoup d'espace disque (plus de 300Mo).
|
||||||
|
|
||||||
|
En cas de problème d'installation (notamment lors du changement de branche), lancez la commande suivante pour tout réinstaller :
|
||||||
|
````shell script
|
||||||
|
./clear-node-cache.sh
|
||||||
|
````
|
||||||
|
|
||||||
### Instructions pour iOS
|
### Instructions pour iOS
|
||||||
|
|
||||||
Pour iOS, en plus de la commande précédente, il faut aussi installer les dépendances iOS. Pour cela, allez dans le dossier `ios` et installez les pods :
|
Pour iOS, en plus de la commande précédente, il faut aussi installer les dépendances iOS. Pour cela, allez dans le dossier `ios` et installez les pods grâce à la commande suivante :
|
||||||
```shell script
|
```shell script
|
||||||
cd ios && pod install
|
cd ios && pod install
|
||||||
```
|
```
|
||||||
|
@ -83,12 +101,59 @@ npx react-native start
|
||||||
|
|
||||||
|
|
||||||
### Android
|
### Android
|
||||||
|
|
||||||
|
**PRÉREQUIS** : Il est nécessaire de générer un fichier keystore.debug dans le dossier `android/app` pour qu'android puisse détecter que l'application est une version de debug. Pour cela, lancez la commande suivante :
|
||||||
|
````shell script
|
||||||
|
cd android/app && keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000
|
||||||
|
````
|
||||||
|
|
||||||
|
Ensuite, vous aurez besoin de créer un autre fichier dans le dossier `android/`, appelé gradle.properties avec le contenu suivant :
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>gradle.properties</summary>
|
||||||
|
|
||||||
|
````properties
|
||||||
|
# Project-wide Gradle settings.
|
||||||
|
|
||||||
|
# IDE (e.g. Android Studio) users:
|
||||||
|
# Gradle settings configured through the IDE *will override*
|
||||||
|
# any settings specified in this file.
|
||||||
|
|
||||||
|
# For more details on how to configure your build environment visit
|
||||||
|
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
||||||
|
|
||||||
|
# Specifies the JVM arguments used for the daemon process.
|
||||||
|
# The setting is particularly useful for tweaking memory settings.
|
||||||
|
# Default value: -Xmx10248m -XX:MaxPermSize=256m
|
||||||
|
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
|
||||||
|
|
||||||
|
# When configured, Gradle will run in incubating parallel mode.
|
||||||
|
# This option should only be used with decoupled projects. More details, visit
|
||||||
|
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||||
|
# org.gradle.parallel=true
|
||||||
|
|
||||||
|
# AndroidX package structure to make it clearer which packages are bundled with the
|
||||||
|
# Android operating system, and which are packaged with your app's APK
|
||||||
|
# https://developer.android.com/topic/libraries/support-library/androidx-rn
|
||||||
|
android.useAndroidX=true
|
||||||
|
# Automatically convert third-party libraries to use AndroidX
|
||||||
|
android.enableJetifier=true
|
||||||
|
# Version of flipper SDK to use with React Native
|
||||||
|
FLIPPER_VERSION=0.33.1
|
||||||
|
````
|
||||||
|
</details>
|
||||||
|
|
||||||
|
Ce fichier n'est pas synchronisé sur git car il peut contenir des secrets relatifs à la clé de signature du build de release.
|
||||||
|
|
||||||
Dans la deuxième console, lancez la commande suivante :
|
Dans la deuxième console, lancez la commande suivante :
|
||||||
````shell script
|
````shell script
|
||||||
npx react-native run-android
|
npx react-native run-android
|
||||||
````
|
````
|
||||||
|
|
||||||
### iOS
|
### iOS
|
||||||
|
|
||||||
|
**PRÉREQUIS** : Il faut être connecté avec le compte développeur de l'amicale sur Xcode pour pouvoir compiler !
|
||||||
|
|
||||||
Dans la deuxième console, lancez la commande suivante (valable que sur Mac) :
|
Dans la deuxième console, lancez la commande suivante (valable que sur Mac) :
|
||||||
````shell script
|
````shell script
|
||||||
npx react-native run-ios
|
npx react-native run-ios
|
||||||
|
@ -123,3 +188,7 @@ En remplaçant `NOM DU SIMULATEUR` par le simulateur que vous voulez.
|
||||||
#### Appareil Physique
|
#### Appareil Physique
|
||||||
|
|
||||||
Aucune idée je suis pauvre je n'ai ni Mac ni iPhone.
|
Aucune idée je suis pauvre je n'ai ni Mac ni iPhone.
|
||||||
|
|
||||||
|
## Compiler une version release
|
||||||
|
|
||||||
|
Merci de me contacter par mail pour toute information sur les release : [app@amicale-insat.fr](mailto:app@amicale-insat.fr)
|
||||||
|
|
|
@ -9,6 +9,7 @@ Créée pendant l'été 2019, cette application compatible Android et iOS permet
|
||||||
- Menu du RU
|
- Menu du RU
|
||||||
- Disponibilité des salles libre accès
|
- Disponibilité des salles libre accès
|
||||||
- Réservation des Bib'Box
|
- Réservation des Bib'Box
|
||||||
|
- Et d'autres services de l'INSA
|
||||||
|
|
||||||
Ce dépôt contient la source de cette application, sous licence GPLv3.
|
Ce dépôt contient la source de cette application, sous licence GPLv3.
|
||||||
|
|
||||||
|
@ -32,8 +33,10 @@ Cette application utilisait initialement Expo, permettant de simplifier grandeme
|
||||||
## [Notes sur l'état actuel du projet](NOTES.md)
|
## [Notes sur l'état actuel du projet](NOTES.md)
|
||||||
|
|
||||||
## Liens utiles
|
## Liens utiles
|
||||||
|
* [Tutoriel JavaScript](https://www.w3schools.com/js) (Un minimum de connaissances en JavaScript est nécessaire)
|
||||||
* [Documentation React Native](https://reactnative.dev/docs/getting-started) (La techno de base)
|
* [Documentation React Native](https://reactnative.dev/docs/getting-started) (La techno de base)
|
||||||
* [Documentation React Native Paper](https://callstack.github.io/react-native-paper/) (Le framework d'UI)
|
* [Documentation React Native Paper](https://callstack.github.io/react-native-paper/) (Le framework d'UI)
|
||||||
* [Documentation React navigation](https://reactnavigation.org/docs/getting-started) (Le framework de navigation entre écrans)
|
* [Documentation React Navigation](https://reactnavigation.org/docs/getting-started) (Le framework de navigation entre écrans)
|
||||||
* [Documentation Jest](https://jestjs.io/docs/en/getting-started) (Tests unitaires JavaScript)
|
* [Documentation Jest](https://jestjs.io/docs/en/getting-started) (Tests unitaires JavaScript)
|
||||||
* [Documentation Flow](https://flow.org/en/docs/react/) (Utilitaire de typage statique pour JavaScript)
|
* [Documentation Flow](https://flow.org/en/docs/react/) (Utilitaire de typage statique pour JavaScript)
|
||||||
|
* [Webstorm](https://www.jetbrains.com/webstorm/buy/#discounts?billing=yearly) (Un logiciel pas mal que j'utilise et gratuit pour les étudiants/projets open-source)
|
||||||
|
|
Loading…
Reference in a new issue