Browse Source

Improved install instructions

Arnaud Vergnet 1 year ago
parent
commit
5bfc353218
2 changed files with 77 additions and 5 deletions
  1. 73
    4
      INSTALL.md
  2. 4
    1
      README.md

+ 73
- 4
INSTALL.md View File

@@ -2,7 +2,7 @@
2 2
 
3 3
 **Vous allez devoir installer git, node et npm sur votre machine, puis cloner ce dépôt.**
4 4
 
5
-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
5
+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)
6 6
 
7 7
 Ce guide à été testé sur Linux (Ubuntu 18.04).
8 8
 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
17 17
 * [Téléchargement des dépendances](#téléchargement-des-dépendances)
18 18
 * [Lancement de l'appli](#lancement-de-lappli)
19 19
 * [Tester sur un appareil](#tester-sur-un-appareil)
20
+* [Compiler une version release](#compiler-une-version-release)
20 21
 
21 22
 ## Installation de Git
22 23
 
@@ -42,7 +43,7 @@ sudo apt-get install -y nodejs
42 43
 
43 44
 ## Installation de React Native
44 45
 
45
-Merci de suivre les [instructions d'installation](https://reactnative.dev/docs/environment-setup) sur le site officiel.
46
+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.
46 47
 
47 48
 ## Téléchargement du dépôt
48 49
 
@@ -51,17 +52,34 @@ Clonez ce dépôt à l'aide de la commande suivante :
51 52
 git clone https://git.etud.insa-toulouse.fr/vergnet/application-amicale.git
52 53
 ````
53 54
 
55
+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.
56
+Ainsi, en prenant la branche master a n'importe quel moment, il devrait être possible de compiler une version stable.
57
+
58
+Si vous voulez utiliser la branche de développement, réalisez la commande suivante :
59
+````shell script
60
+git checkout dev
61
+````
62
+Pour revenir sur la branche principale, effectuez la commande
63
+````shell script
64
+git checkout master
65
+````
66
+
54 67
 ## Téléchargement des dépendances
55 68
 
56
-Une fois le dépôt sur votre machine, ouvrez le terminal dans le dossier du dépôt cloné et tapez : 
69
+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 : 
57 70
 ````shell script
58 71
 npm install
59 72
 ````
60 73
 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).
61 74
 
75
+En cas de problème d'installation (notamment lors du changement de branche), lancez la commande suivante pour tout réinstaller :
76
+````shell script
77
+./clear-node-cache.sh 
78
+````
79
+
62 80
 ### Instructions pour iOS
63 81
 
64
-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 :
82
+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 :
65 83
 ```shell script
66 84
 cd ios && pod install
67 85
 ```
@@ -83,12 +101,59 @@ npx react-native start
83 101
 
84 102
 
85 103
 ### Android
104
+
105
+**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 :
106
+````shell script
107
+cd android/app && keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000
108
+````
109
+
110
+Ensuite, vous aurez besoin de créer un autre fichier dans le dossier `android/`, appelé gradle.properties avec le contenu suivant :
111
+
112
+<details>
113
+<summary>gradle.properties</summary>
114
+
115
+````properties
116
+# Project-wide Gradle settings.
117
+
118
+# IDE (e.g. Android Studio) users:
119
+# Gradle settings configured through the IDE *will override*
120
+# any settings specified in this file.
121
+
122
+# For more details on how to configure your build environment visit
123
+# http://www.gradle.org/docs/current/userguide/build_environment.html
124
+
125
+# Specifies the JVM arguments used for the daemon process.
126
+# The setting is particularly useful for tweaking memory settings.
127
+# Default value: -Xmx10248m -XX:MaxPermSize=256m
128
+# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
129
+
130
+# When configured, Gradle will run in incubating parallel mode.
131
+# This option should only be used with decoupled projects. More details, visit
132
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
133
+# org.gradle.parallel=true
134
+
135
+# AndroidX package structure to make it clearer which packages are bundled with the
136
+# Android operating system, and which are packaged with your app's APK
137
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
138
+android.useAndroidX=true
139
+# Automatically convert third-party libraries to use AndroidX
140
+android.enableJetifier=true
141
+# Version of flipper SDK to use with React Native
142
+FLIPPER_VERSION=0.33.1
143
+````
144
+</details>
145
+
146
+Ce fichier n'est pas synchronisé sur git car il peut contenir des secrets relatifs à la clé de signature du build de release.
147
+
86 148
 Dans la deuxième console, lancez la commande suivante :
87 149
 ````shell script
88 150
 npx react-native run-android
89 151
 ````
90 152
 
91 153
 ### iOS
154
+
155
+**PRÉREQUIS** : Il faut être connecté avec le compte développeur de l'amicale sur Xcode pour pouvoir compiler ! 
156
+
92 157
 Dans la deuxième console, lancez la commande suivante (valable que sur Mac) :
93 158
 ````shell script
94 159
 npx react-native run-ios
@@ -123,3 +188,7 @@ En remplaçant `NOM DU SIMULATEUR` par le simulateur que vous voulez.
123 188
 #### Appareil Physique
124 189
 
125 190
 Aucune idée je suis pauvre je n'ai ni Mac ni iPhone.
191
+
192
+## Compiler une version release
193
+
194
+Merci de me contacter par mail pour toute information sur les release : [app@amicale-insat.fr](mailto:app@amicale-insat.fr)

+ 4
- 1
README.md View File

@@ -9,6 +9,7 @@ Créée pendant l'été 2019, cette application compatible Android et iOS permet
9 9
  - Menu du RU
10 10
  - Disponibilité des salles libre accès
11 11
  - Réservation des Bib'Box
12
+ - Et d'autres services de l'INSA
12 13
  
13 14
 Ce dépôt contient la source de cette application, sous licence GPLv3.
14 15
 
@@ -32,8 +33,10 @@ Cette application utilisait initialement Expo, permettant de simplifier grandeme
32 33
 ## [Notes sur l'état actuel du projet](NOTES.md)
33 34
 
34 35
 ## Liens utiles
36
+* [Tutoriel JavaScript](https://www.w3schools.com/js) (Un minimum de connaissances en JavaScript est nécessaire)
35 37
 * [Documentation React Native](https://reactnative.dev/docs/getting-started) (La techno de base)
36 38
 * [Documentation React Native Paper](https://callstack.github.io/react-native-paper/) (Le framework d'UI)
37
-* [Documentation React navigation](https://reactnavigation.org/docs/getting-started) (Le framework de navigation entre écrans)
39
+* [Documentation React Navigation](https://reactnavigation.org/docs/getting-started) (Le framework de navigation entre écrans)
38 40
 * [Documentation Jest](https://jestjs.io/docs/en/getting-started) (Tests unitaires JavaScript)
39 41
 * [Documentation Flow](https://flow.org/en/docs/react/) (Utilitaire de typage statique pour JavaScript)
42
+* [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…
Cancel
Save