diff --git a/local/modules/LivraisonParSecteurs/Config/config.xml b/local/modules/LivraisonParSecteurs/Config/config.xml
new file mode 100644
index 00000000..3f4a14fd
--- /dev/null
+++ b/local/modules/LivraisonParSecteurs/Config/config.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/local/modules/LivraisonParSecteurs/Config/module.xml b/local/modules/LivraisonParSecteurs/Config/module.xml
new file mode 100644
index 00000000..5978655d
--- /dev/null
+++ b/local/modules/LivraisonParSecteurs/Config/module.xml
@@ -0,0 +1,28 @@
+
+
+ LivraisonParSecteurs\LivraisonParSecteurs
+
+ Define a delivery area, depending on customer's zip code
+
+
+ Permet de gérer les secteurs de livraison des clients, en fonction de leur code postal
+
+
+ en_US
+ fr_FR
+
+ 1.0.0
+
+
+ Laurent LE CORRE
+ laurent@thecoredev.fr
+
+
+ delivery
+ 2.3.x
+ alpha
+ 0
+ 0
+
diff --git a/local/modules/LivraisonParSecteurs/Config/schema.xml b/local/modules/LivraisonParSecteurs/Config/schema.xml
new file mode 100644
index 00000000..74de6ce7
--- /dev/null
+++ b/local/modules/LivraisonParSecteurs/Config/schema.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/local/modules/LivraisonParSecteurs/I18n/en_US.php b/local/modules/LivraisonParSecteurs/I18n/en_US.php
new file mode 100644
index 00000000..3b1c17c2
--- /dev/null
+++ b/local/modules/LivraisonParSecteurs/I18n/en_US.php
@@ -0,0 +1,5 @@
+ 'The displayed english string',
+ 'My areas' => 'My delivery areas',
+);
diff --git a/local/modules/LivraisonParSecteurs/I18n/fr_FR.php b/local/modules/LivraisonParSecteurs/I18n/fr_FR.php
new file mode 100644
index 00000000..5d405cc9
--- /dev/null
+++ b/local/modules/LivraisonParSecteurs/I18n/fr_FR.php
@@ -0,0 +1,16 @@
+ 'Actif',
+ 'Actions' => 'Actions',
+ 'Area name' => 'Nom du secteur',
+ 'Cities' => 'Communes couvertes',
+ 'Delivery days' => 'Jours de livraison',
+ 'Delivery price' => 'Prix de la livraison',
+ 'Edit an area' => 'Modifier le secteur',
+ 'General' => 'Général',
+ 'Home delivery cost' => 'Frais de livraison à domicile',
+ 'My areas' => 'Mes secteurs de livraison',
+ 'Save' => 'Sauvegarder',
+ 'Schedule' => 'Horaires',
+ 'Title of config view' => 'Module LivraisonParSecteurs - Configuration'
+);
diff --git a/local/modules/LivraisonParSecteurs/LivraisonParSecteurs.php b/local/modules/LivraisonParSecteurs/LivraisonParSecteurs.php
new file mode 100644
index 00000000..5fe7093d
--- /dev/null
+++ b/local/modules/LivraisonParSecteurs/LivraisonParSecteurs.php
@@ -0,0 +1,81 @@
+getWrappedConnection());
+ $database->insertSql(null, array(__DIR__ . '/Config/thelia.sql'));
+ $database->insertSql(null, array(__DIR__ . '/Config/insert.sql'));
+ }
+
+ /**
+ * This method is called by the Delivery loop, to check if the current module has to be displayed to the customer.
+ * Override it to implements your delivery rules/
+ *
+ * If you return true, the delivery method will de displayed to the customer
+ * If you return false, the delivery method will not be displayed
+ *
+ * @param Country $country the country to deliver to.
+ *
+ * @return boolean
+ */
+ public function isValidDelivery(Country $country)
+ {
+ // Get current addressId
+ $currentAddressId = $this->getRequest()->request->get('address_id');
+
+ if (empty($currentAddressId)) {
+ if (null !== $customer = $this->getRequest()->getSession()->getCustomerUser()) {
+ $currentAddressId = AddressQuery::create()
+ ->filterByCustomer($customer)
+ ->filterByIsDefault(1)
+ ->select('ID')
+ ->findOne();
+ } else {
+ return false;
+ }
+ }
+ }
+
+
+ /**
+ * Calculate and return delivery price in the shop's default currency
+ *
+ * @param Country $country the country to deliver to.
+ *
+ * @return OrderPostage|float the delivery price
+ * @throws DeliveryException if the postage price cannot be calculated.
+ */
+ public function getPostage(Country $country)
+ {
+ if (! $this->isValidDelivery($country)) {
+ throw new DeliveryException(
+ Translator::getInstance()->trans("This module cannot be used on the current cart.")
+ );
+ }
+
+ return LpsSecteurQuery::create()->findOneByActive(1)->getPrice();
+ }
+
+}
diff --git a/local/modules/LivraisonParSecteurs/Readme.md b/local/modules/LivraisonParSecteurs/Readme.md
new file mode 100644
index 00000000..c3163a85
--- /dev/null
+++ b/local/modules/LivraisonParSecteurs/Readme.md
@@ -0,0 +1,55 @@
+# Secteurs Livraison
+
+Add a short description here. You can also add a screenshot if needed.
+
+## Installation
+
+### Manually
+
+* Copy the module into ```/local/modules/``` directory and be sure that the name of the module is LivraisonParSecteurs\.
+* Activate it in your thelia administration panel
+
+### Composer
+
+Add it in your main thelia composer.json file
+
+```
+composer require your-vendor/secteurs-livraison-module:~1.0
+```
+
+## Usage
+
+Explain here how to use your module, how to configure it, etc.
+
+## Hook
+
+If your module use one or more hook, fill this part. Explain which hooks are used.
+
+
+## Loop
+
+If your module declare one or more loop, describe them here like this :
+
+[loop name]
+
+### Input arguments
+
+|Argument |Description |
+|--- |--- |
+|**arg1** | describe arg1 with an exemple. |
+|**arg2** | describe arg2 with an exemple. |
+
+### Output arguments
+
+|Variable |Description |
+|--- |--- |
+|$VAR1 | describe $VAR1 variable |
+|$VAR2 | describe $VAR2 variable |
+
+### Exemple
+
+Add a complete exemple of your loop
+
+## Other ?
+
+If you have other think to put, feel free to complete your readme as you want.
diff --git a/local/modules/LivraisonParSecteurs/composer.json b/local/modules/LivraisonParSecteurs/composer.json
new file mode 100644
index 00000000..1355df24
--- /dev/null
+++ b/local/modules/LivraisonParSecteurs/composer.json
@@ -0,0 +1,12 @@
+{
+ "name": "thecoredev/secteurs-livraison-module",
+ "description": "LivraisonParSecteurs\ module for Thelia",
+ "license": "LGPL-3.0-or-later",
+ "type": "thelia-module",
+ "require": {
+ "thelia/installer": "~1.1"
+ },
+ "extra": {
+ "installer-name": "LivraisonParSecteurs\"
+ }
+}
\ No newline at end of file