Les scripts suivants permettent d'installer:
- Android Studio et les différents plugins
- Le SDK d'Android et le mettre à jour
- Intellij Idea et les différents plugins
- Le SDK de Flutter
- Télécharger le script suivant : script PowerShell
- Si le fichier s'ouvre dans le navigateur, faire CTRL+S pour l'enregistrer, ou cliquer droit sur le lien et faire "Enregistrer sous"
- Cliquer droit sur le fichier téléchargé
- Choisir "Exécuter avec PowerShell"
flowchart TD
clone["Clone repo"]
dJDK["Get JDK"]
unzipJDK["Unzip and Install JDK"]
dSDK["Get SDK"]
unzipSDK["Unzip and install SDK"]
dIDEA["Get Intellij"]
unzipIDEA["Unzip and install Intellij"]
dAS["Get Android Studio"]
unzipAS["Unzip Android Studio"]
startandroidstudio["Partir Android Studio"]
dSDK["Get Android SDK"]
unzipSDK["Unzip Android SDK"]
dFLUTTER["Download Flutter"]
unzipFLUTTER["Unzip & Install Flutter"]
firebase["Install Firebase CLI + FlutterFire"]
repos["Download repos 3N5 4N6 5N6 serveur"]
projetflutter["Première run Flutter"]
emulator["Lancer émulateur"]
subgraph téléchargements
direction LR
clone ==> dJDK
dSDK ==> dAS
dAS ==> dIDEA
dFLUTTER ==> repos
dIDEA ==> dFLUTTER
end
dJDK --> unzipJDK
unzipJDK --> dSDK
dSDK --> unzipSDK
dAS --> unzipAS
dIDEA --> unzipIDEA
dFLUTTER --> unzipFLUTTER
unzipAS --> startandroidstudio
unzipSDK --> startandroidstudio
unzipSDK --> emulator
emulator --> projetflutter
unzipFLUTTER --> projetflutter
unzipFLUTTER --> firebase
Pour installer les logiciels des cours de 3N5, 4N6 et 5N6, le script commence par télécharger des sous scripts qui se chargent d'effectuer les étapes décrites dans le diagramme ci-haut.
- Un cache des logiciels est conservé sur le disque réseau du département, soit dans
\\ed5depinfo\Logiciels\Android\scripts
. Le script se charge de copier les logiciels compressés sur le disque de local, et de les extraires aux bons endroits. - Les sous-scripts démarrent un émulateur android
- Les sous-scripts installent les outils de ligne de commande comme FlutterFire et Firebase CLI
- Les sous-scripts démarrent un projet de base de Flutter pour que lorsque les étudiants vont se créer leur propre projet, plusieurs des fichiers nécessaires aient déjà été mis dans un cache géré par gradle.
- L'ordre d'exécution des scripts s'assure que les fichiers soient bien extraits avant de lancer les sous-scripts qui s'en servent.
- Clonez le projet sur votre machine
- Assurez vous de toujours avoir un backup
\\ed5depinfo\Logiciels\Android\scripts\cache
avant de commencer afin de pouvoir revenir en arriève rapidement si nécessaire - Ouvrir et modifier le fichier https://github.com/departement-info-cem/scripts-mobile/blob/main/installation-mobile.ps1
- Assignez la valeur
$true
à la variable$devMode
- Plutôt que de télécharger les sous-script dans un autre dossier sur votre machine, le script principal va se référer aux scripts qui ont été clonés. Vous pouvez donc les modifier directement.
- Le répertoire du cache utilisé sera
\\ed5depinfo\Logiciels\Android\scripts\cacheDev
plutôt que\\ed5depinfo\Logiciels\Android\scripts\cache
. Ainsi vous n'avez pas à avoir peur de briser ce qui se trouve danscacheDev
- Une fois que vous avez testé toutes les modifications au script et que vous êtes certains que tout fonctionne, vous pouvez remettre la variable
$devMode
à$false
et effectuer une Pull Request pour faire approuver vos changements.
- Clonez le projet sur votre machine
- Ouvrir et modifier https://github.com/departement-info-cem/scripts-mobile/blob/main/sub-scripts/urls-et-versions.ps1
- Pour forcer le téléchargement des nouvelles versions, il faut vider le dossier (
\\ed5depinfo\Logiciels\Android\scripts\cacheDev
) contenant la cache de ZIP - Partir le script principal. Le script va détecter les éléments manquants et les télécharger.
- Remplacez
cache
parcacheDev
. Vous devriez tout de même effectuer une copie de sauvegarde decache
.
Les améliorations et suggestions sont listés sous les issues du projet. Nous vous encourageons à soumettre un issue si vous remarquez un comportement non désiré en exécutant le script ou si vous avez une suggestion à nous faire.
Développé et maintenu avec ❤️ par PierreOlivierBrillant et jorisdeguet