diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..763624ebe547350200a2b9d538bdff0b90536f61
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+__pycache__/*
\ No newline at end of file
diff --git a/README.md b/README.md
index cc1a1d0835e00d77e8f496cc094ee92ef100eda3..2436a6c680914169ec3960e88acc865a45dbf27f 100644
--- a/README.md
+++ b/README.md
@@ -1,92 +1,125 @@
-# Script recalcul calque
+# Script de recalcul du calque de plantabilité
 
+Ces scripts ont pour objectif de calculer les indices de plantabilité sur l'ensemble du territoire de la Métropole de Lyon.
 
+## Installation
 
-## Getting started
-
-To make it easy for you to get started with GitLab, here's a list of recommended next steps.
-
-Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)!
-
-## Add your files
-
-- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files
-- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command:
-
+* Installez **Python 3.8.10** (version recommandée)
+* Clonez ce projet sur votre instance
+```bash
+git clone https://forge.grandlyon.com/erasme/script-recalcul-calque.git
 ```
-cd existing_repo
-git remote add origin https://forge.grandlyon.com/erasme/script-recalcul-calque.git
-git branch -M main
-git push -uf origin main
+* Téléchargez les fichiers source de données via l'adresse : [https://documents.exo-dev.fr/source_file_data_calque_lyon_2022.7z](https://documents.exo-dev.fr/source_file_data_calque_lyon_2022.7z)
+* Copiez ces fichiers source dans le dossier `file_data/` à la racine du projet
+* Créez et configurez le fichier `.env` à partir du fichier `.env.example` (Cf. Configuration avancée)
+```bash
+cp .env.example .env
+nano .env
 ```
+* Installez les dépendances sur votre environnement Python
+```bash
+pip install -r requirements.txt
+```
+<i>Certains packages étant difficilement installables sur Windows, il est parfois nécessaire de passer par pipwin...</i>
 
-## Integrate with your tools
-
-- [ ] [Set up project integrations](https://forge.grandlyon.com/erasme/script-recalcul-calque/-/settings/integrations)
-
-## Collaborate with your team
-
-- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/)
-- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
-- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
-- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/)
-- [ ] [Automatically merge when pipeline succeeds](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html)
-
-## Test and Deploy
-
-Use the built-in continuous integration in GitLab.
-
-- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html)
-- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing(SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
-- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
-- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
-- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
+* Lancer une première fois le script pour afficher la documentation
+```bash
+python main.py
+```
 
-***
+**Bravo ! Vous êtes désormais prêt à lancer un nouveau calcul du calque de plantabilité !** 🎉
 
-# Editing this README
+## Utilisation
 
-When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thank you to [makeareadme.com](https://www.makeareadme.com/) for this template.
+La documentation du script vous aidera à comprendre les arguments à passer pour lancer chaque étape du calcul :
 
-## Suggestions for a good README
-Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.
+```bash
+$ python main.py help
 
-## Name
-Choose a self-explaining name for your project.
+Args:
+  initCommunes                                        Insert Communes in database from a geoJSON file path (with geometry and insee column)
+  initGrid <gridSize: int, inseeCode: int>            Generate with the size defined and insert Grid in database merged from a bounding box
+                                                      Can be launch on certain "communes" with one <inseeCode> or in all territory by default (no parameter)
+  initDatas                                           Make treatments on the datas from informations in metadatas table
+  computeFactors <inseeCode: int>                     Compute the factors area on each tile with database informations. 
+                                                      Can be launch on certain "communes" with one <inseeCode> or in all territory by default (no parameter)
+  computeIndices                                      Compute the plantability indices on each tile with database informations. 
+  computeAll <gridSize: int, listInseeCode: int>      Generate all the plantability layer (launch all previous steps). 
+                                                      List of inseeCode must be separated with comma (,) and without space (e.g. python main.py 5 69266,69388,69256) 
+                                                      but you can launch treatments for only one commune (e.g. python main.py 5 69266)
+  help                                                Show this documentation
+```
 
-## Description
-Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.
+L'ordre complet de lancement des étapes (effectué avec `computeAll`) est le suivant :
 
-## Badges
-On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.
+```bash
+initCommunes
+initGrid (30 mètres par défaut et sur toutes les communes)
+initDatas
+computeFactors (sur toutes les communes)
+computeIndices (sur toutes les communes)
+```
 
-## Visuals
-Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
+<i>Si toutes ces étapes se sont bien déroulées, c'est que les données sont désormais prêtes à être exploitée au travers d'un serveur cartographique (GeoServer par exemple).</i>
+
+<i>Pour cela, il faudra configurer une nouvelle couche sur la table `tiles` de la base de donnée. (Cf. Documentation > Modèle conceptuel de la base de données)</i>
+
+## Configuration avancée
+
+* Détail de configuration des attributs du fichier .env
+```bash
+# DB settings
+DB_HOST="XXXXXXXXXXXXXX"      # Nom de domaine ou adresse IP de connexion à la base de données
+DB_PORT=5432                  # Port de connexion à la base de données
+DB_USER="XXXXXXXXXXXXXX"      # Nom d'utilisateur de connexion à la base de données
+DB_PWD="XXXXXXXXXXXXXX"       # Mot de passe de connexion à la base de données
+DB_NAME="XXXXXXXXXXXXXX"      # Nom de la base de données (exemple : calque_planta)
+DB_SCHEMA="XXXXXXXXXXXXXX"    # Schéma PostgreSQL dans lequel se trouve la base de données
+# Python settings
+PYTHON_LAUNCH="python"        # Commande bash utilisée pour le lancement des sous scripts Python (peut être remplacé par python3 si nécessaire)
+# Others settings
+TARGET_PROJ="EPSG:2154"       # Projection cible utilisée pour réaliser les traitements de données
+REMOVE_TEMP_FILE=False        # Permet de supprimer les fichiers temporaires générés lors des traitements de données
+SKIP_EXISTING_DATA=True       # Permet de passer automatiquement à l'étape suivante lorsque la donnée traitée existe déjà en base
+ENABLE_TRUNCATE=False         # Permet de supprimer automatiquement la donnée lors de son traitement si elle existe déjà en base
+```
 
-## Installation
-Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection.
+## Documentation complète du projet
 
-## Usage
-Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.
+L'architecture logicielle cible pour le fonctionnement du projet utilise les briques technologiques suivante : 
+* Une instance de calcul du calque de plantabilité (Serveur Linux / Python 3.8.X)
+* Une base de données PostgreSQL (l'extension PostGIS est un plus)
+* Un serveur cartographique (GeoServer par exemple)
+* Une plateforme web de visualisation
 
-## Support
-Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.
+Dans le cadre de notre expérimentation, nous avons fait le choix de "containeriser" l'instance de calcul du calque, ainsi que le front et back de la plateforme web.
 
-## Roadmap
-If you have ideas for releases in the future, it is a good idea to list them in the README.
+Vous trouverez le détail de ce projet sur les documents suivants :
+* [Notice d'utilisation du calque](https://documents.exo-dev.fr/notice_utilisation_calque_plantabilite_lyon_V1.pdf)
+* [Documentation générale du projet]()
+* [Documentation technique du projet]()
+* [Modèle logique de données (MLD)](https://documents.exo-dev.fr/MLD_calque_plantabilite_lyon.png)
 
-## Contributing
-State if you are open to contributions and what your requirements are for accepting them.
+## Crédits
 
-For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
+* Author: Romain MATIAS
+* Copyright: Copyright 2022, EXO-DEV x ERASME, Métropole de Lyon
+* Description: Script de création d'un calque de plantabilité pour la Métropole de Lyon
+* Credits: Romain MATIAS, Natacha SALMERON, Anthony ANGELOT
+* Date: 06/07/2022
+* License: MIT
+* Version: 1.0.0
+* Maintainer: Romain MATIAS
+* Email: contact@exo-dev.fr ou info@erasme.org
+* Status: Expérimentation
 
-You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
+## TODO : Test and Deploy
 
-## Authors and acknowledgment
-Show your appreciation to those who have contributed to the project.
+Use the built-in continuous integration in GitLab.
 
-## License
-For open source projects, say how it is licensed.
+- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html)
+- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing(SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
+- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
+- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
+- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
 
-## Project status
-If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.
diff --git a/logs/log_30-09-2022.log b/logs/log_30-09-2022.log
new file mode 100644
index 0000000000000000000000000000000000000000..649b9982b9aeb4c1398fe36008c83c1c5cf6a022
--- /dev/null
+++ b/logs/log_30-09-2022.log
@@ -0,0 +1 @@
+30/09/2022 16:10:41 - [INFO] Logger is initialized
diff --git a/main.py b/main.py
index 9aeff5a60b3cf9285fe8ad0549c45555b9758bca..976e51f57e10fe74e8bb0adac7d25ec631539889 100644
--- a/main.py
+++ b/main.py
@@ -7,7 +7,7 @@ __copyright__ = "Copyright 2022, EXO-DEV x ERASME, Métropole de Lyon"
 __description__ = "Script de création d'un calque de plantabilité pour la Métropole de Lyon"
 __credits__ = ["Romain MATIAS", "Natacha SALMERON", "Anthony ANGELOT"]
 __date__ = "06/07/2022"
-__license__ = "MPL 2.0"
+__license__ = "MIT"
 __version__ = "1.0.0"
 __maintainer__ = "Romain MATIAS"
 __email__ = "contact@exo-dev.fr ou info@erasme.org"