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