summaryrefslogtreecommitdiff
path: root/ero1/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'ero1/README.md')
-rw-r--r--ero1/README.md108
1 files changed, 108 insertions, 0 deletions
diff --git a/ero1/README.md b/ero1/README.md
new file mode 100644
index 0000000..3e1343f
--- /dev/null
+++ b/ero1/README.md
@@ -0,0 +1,108 @@
+# ERO1
+
+## Le projet
+
+### Descriptif rapide du projet
+
+La ville de Montréal demande une étude pour rendre le déneigement plus efficace et moins coûteux.
+Il faut organiser le survol des routes par drone, planifier les trajets des véhicules et proposer
+différents scénarios de coûts selon le matériel utilisé.
+
+### Récapitulatif des attentes
+
+#### Science et outils d'ingénieurie
+
+- Données, variables et contraintes clairement définies,
+
+- Modèle détaillé & justifié,
+
+- Optimisation expliquées en lien avec le contexte
+
+#### Identification des ressources et outils
+
+- Recherche de méthodes variées,
+
+- Comparaison argumentée avec le contexte
+
+#### Prototype
+
+- Programme lisible | testable,
+
+- Interface,
+
+- Plusieurs cas testés,
+
+- Identification des goulets d'étranglement
+
+#### Qualité
+
+- Comparatifs avec des indicateurs variés + justifiés,
+
+- Plusieurs scénarios
+
+### Architecture du projet
+
+Les détails donnés sont en lien avec le code produit et les résultats obtenus.
+Ne seront pas mentionnés dans ces descriptifs: `venv`, les dossiers cache, `AUTHORS` et `README.md`
+
+#### Description des dossiers :
+
+- `src` : Ce dossier contient l'ensemble des dossiers dédiés au code source.
+ Un détail de chaque dossier est présent dans `./src/README.md`
+
+- `temp` : Ce dossier contient les fichiers temporaires générés pendant l'exécution du programme.
+ Un détail de chaque fichier est présent dans `./temp/README.md`
+
+- `paths` : Ce dossier contient des fichiers YAML qui correspondent aux résultats des différents
+ parcous de drône avec les différentes versions du postier chinois
+
+#### Description des fichiers :
+
+- `setup.sh` : Script shell qui initialise un venv et télécharge les modules pythons à partir de `requirements.txt`
+
+- `clear.sh` : Script shell qui supprime le venv créé par `setup.sh`
+
+- `run.sh` : Script shell qui permet de lancer la démo de notre projet
+
+- `requirements.txt` : L'ensemble des modules/libs python utilisés directement et indirectement pour ERO1
+
+- `start_dev.py` : L'ANCIEN fichier à executer, il controlait et mettais en commun les grandes étapes du projet,
+ A NE PAS UTILISER
+
+- `parameters.py` : Contient nos 'variables d'environnement' pour ce projet afin de pouvoir
+ modifier chaque paramètre du projet facilement et d'avoir des comparaisons plus exhaustives
+
+- `demo.py` : Le nouveau fichier de test; lance une démonstration intercative où vous pouvez choisir
+ le parcours du drone, le parcours des déneigeuses, le nombre de déneigeuses ...
+ Voici quelques précision:
+ => l'implémentation naive ne permet pas de gérer plusieurs déneigeuses, elle ne peut pas non plus gérer les 5 quartiers en même temps
+ => l'implémantion du chinese postman problem pour les déneigeuses est limité à seul quartier
+
+## Mode d'emploi
+
+### Installation
+Pré-requis: `requirements.txt`, `setup.sh`, le package `python3`, un shell fonctionnel
+Exécuter `./setup.sh`
+
+Une fois l'éxecution de `setup.sh` terminée, vous pouvez :
+1. utiliser `./venv/bin/python` comme interpreteur python
+2. OU activer manuellement le venv avec la commande : `source ./venv/bin/activate`
+
+### Execution
+Pré-requis: `run.sh`, un shell fonctionnel
+Exécuter `./run.sh`
+
+Ce fichier lancera la démonstration (`demo.py`), il est nécessaire d'avoir réaliser l'étape d'installation car le fichier `run.sh` utilise lui même l'environemment `./venv/bin/python`
+
+A l'issue de cette démo, vous pourrez retrouver le path du drone dans `paths` et les résultats de la déneigeuse sous format KML dans `temp`
+
+### Désinstallation
+Pré-requis: `clear.sh`, un shell fonctionnel
+Exécuter `./clear.sh`
+
+Ce fichier supprimera le dossier `venv`. Les dossiers de cache comme `cache` et
+`__pycache__` ne sont pas automatiquement supprimés pour éviter de devoir re-télécharger
+chaque module python se trouvant dans `requirements.txt` à chaque initialisation du venv.
+
+*Attention*: Si le venv a manuellement été activé, il est recommandé d'utiliser la commande
+`deactivate` avant d'exectuer le script `clear.sh`