From 5119fe11e37073a653f0869125bf7d4d3b4c8d48 Mon Sep 17 00:00:00 2001
From: Igor Laborie <ilaborie@gmail.com>
Date: Mon, 7 Jan 2019 21:47:03 +0100
Subject: [PATCH] fix map

---
 test-hugo/config.toml                         |  53 +++-
 test-hugo/content/blog/cfp.md                 |  11 +-
 test-hugo/content/blog/cr-cfp.md              |  16 +-
 test-hugo/content/blog/hello-2019.md          |   5 +-
 test-hugo/content/code-of-conduct.md          |   2 +-
 test-hugo/content/faq.md                      |  18 +-
 test-hugo/data/home.yml                       |   1 +
 test-hugo/data/location.yml                   |   9 -
 test-hugo/data/team.yml                       | 299 +++++++++---------
 test-hugo/data/tickets.yml                    |   2 +
 .../assets/script/good-map.js                 |  67 ++++
 .../assets/style/pages/_home.scss             |   6 +
 .../assets/style/pages/_team.scss             |  13 +-
 .../layouts/_default/baseof.html              |   6 +-
 .../{_default/home.html => index.html}        |  48 ++-
 .../layouts/partials/head.html                |   1 +
 .../layouts/team/single.html                  |   6 +-
 tools/extract-data.js                         |   2 +-
 {test-hugo/data => tools}/firebase-data.json  |   0
 tools/generate-sessions.js                    |   2 +-
 tools/generate-speakers.js                    |   2 +-
 21 files changed, 362 insertions(+), 207 deletions(-)
 delete mode 100644 test-hugo/data/location.yml
 create mode 100644 test-hugo/themes/devfest-theme-hugo/assets/script/good-map.js
 rename test-hugo/themes/devfest-theme-hugo/layouts/{_default/home.html => index.html} (61%)
 rename {test-hugo/data => tools}/firebase-data.json (100%)

diff --git a/test-hugo/config.toml b/test-hugo/config.toml
index 7cf6675..8138934 100644
--- a/test-hugo/config.toml
+++ b/test-hugo/config.toml
@@ -22,13 +22,62 @@ googleAnalytics = "UA-37717223-7"
     description = "Le DevFest, ou 'Developers Festival', est une conférence technique destinée aux développeurs. Elle s'adresse aussi bien aux étudiants, aux professionnels ou tout simplement aux curieux technophiles."
     images = ["/images/logo.svg", "/images/logo-monochrome.svg"]
     email = "contact@devfesttoulouse.fr"
-    keywords = "event, gdg, gde, devfest, google, programming, android, chrome, polymer, developers, web, cloud, androiddev"
-    googleMapsAPIKey = "AIzaSyAsYarycfx4sV9QhauT5li-63snSTqoJ3g"
+    keywords = "event, gdg, gde, devfest, google, programming, android, chrome, developers, web, cloud, androiddev"
 
 [params.logos]
     header = "/images/logo.svg"
     footer = "/images/logo-monochrome.svg"
 
+[params.location]
+  name = "Centre de Congrès Pierre Baudis"
+  description = "Le Centre de Congrès Pierre Baudis est un lieu d'échanges moderne, situé sur un emplacement privilégié, à proximité immédiate du centre de Toulouse et dans un environnement verdoyant."
+  address = "11 Espl. Compans Caffarelli, 31000 Toulouse"
+[params.location.pointer ]
+  latitude = 43.6110956
+  longitude = 1.4332799
+
+[params.map]
+    googleMapsAPIKey = "AIzaSyAsYarycfx4sV9QhauT5li-63snSTqoJ3g"
+    latitude = 48
+    longitude = 8
+    zoom = 5
+    options = '''{
+  "disableDefaultUI": true,
+  "disableDoubleClickZoom": true,
+  "scrollwheel": false,
+  "draggable": false,
+  "styles": [{
+    "stylers": [{
+        "lightness": 40
+      },
+      {
+        "visibility": "on"
+      },
+      {
+        "gamma": 0.9
+      },
+      {
+        "weight": 0.4
+      }
+    ]
+  }, {
+    "elementType": "labels",
+    "stylers": [{
+      "visibility": "on"
+    }]
+  }, {
+    "featureType": "water",
+    "stylers": [{
+      "color": "#5dc7ff"
+    }]
+  }, {
+    "featureType": "road",
+    "stylers": [{
+      "visibility": "off"
+    }]
+  }]
+}'''
+
 [taxonomies]
   tag = "tags"
 
diff --git a/test-hugo/content/blog/cfp.md b/test-hugo/content/blog/cfp.md
index ed1b673..5a23657 100644
--- a/test-hugo/content/blog/cfp.md
+++ b/test-hugo/content/blog/cfp.md
@@ -16,6 +16,7 @@ En attendant, le jour J, le [CFP](https://devfest-toulouse.cfp.io/) (Call For Pa
 ## Les formats
 
 Nouveauté cette année, vous vous proposons deux types de talks :
+
 - le format **lightning talk**/quickie, d’une durée de **15 minutes**, comme l’an dernier
 - le format **conférence** qui passe de 45 à **40 minutes** SANS QUESTION!
 
@@ -46,11 +47,7 @@ Vous pouvez soumettre un talk en Français ou en Anglais.
 
 Comme dit ci-dessus, les soumissions sont ouvertes **jusqu’au 1er Juillet 2018**. L’année dernière nous avons reçu plus de 150 soumissions ! N’attendez pas le dernier moment, soumettez un talk dès à présent !
 
-<div layout horizontal center-justified>
-<a href="https://devfest-toulouse.cfp.io/#/dashboard" rel="noopener noreferrer">
-  <paper-button primary>Je soumets !</paper-button>
-</a>
-</div>
+[Je soumets !](https://devfest-toulouse.cfp.io/#/dashboard)
+
 
-Vous avez des questions ? Vous pouvez écrire un message à l’équipe à [contact@devfesttoulouse.fr](contact@devfesttoulouse.fr
-) ou bien sur notre compte Twitter [@DevFestToulouse](https://devfesttoulouse.fr).
+Vous avez des questions ? Vous pouvez écrire un message à l’équipe à [contact@devfesttoulouse.fr](contact@devfesttoulouse.fr) ou bien sur notre compte Twitter [@DevFestToulouse](https://devfesttoulouse.fr).
diff --git a/test-hugo/content/blog/cr-cfp.md b/test-hugo/content/blog/cr-cfp.md
index 24a9033..8697818 100644
--- a/test-hugo/content/blog/cr-cfp.md
+++ b/test-hugo/content/blog/cr-cfp.md
@@ -10,16 +10,16 @@ draft: true
 Après plusieurs heures de délibération, de nombreux post it et moult crackers et pizza, nous avons enfin réussi à nous mettre d’accord sur l’ensemble des talks de l’édition 2018 du DevFest Toulouse ! 
  💪
 Le travail fut fastidieux, vous avez été nombreux à nous proposer des talks de très bonne qualité. 302 talks soumis soit 146 talks et 65 speakers de plus qu’en 2017 !
- 
+
 Merci à tous ! Merci de nous avoir titillé les neurones, d’avoir excité notre curiosité et de nous avoir permis de débattre de longs moments.
- 
+
 Nous espérons que la sélection sera à la hauteur de vos attentes.
- 
+
 Avant tout, nous souhaitons remercier les 221 speakers qui ont proposé des sujets jusqu’au dernier moment.
 Nous voulons aussi remercier les quelques uns qui n’ont pas pu proposer leur sujet à temps mais qui ont quand même tenu à essayer ;-)
- 
+
 Et maintenant quelques chiffres dont nous sommes fiers :
- 
+
 ![](nombre-proposition.png)
 
 Sur les 302 talks proposés nous avons été obligé d’en retenir seulement 41 ! (Quand on vous dit que cela n’a pas été facile !)
@@ -36,10 +36,10 @@ Les propositions de sujets ont été assez variées avec une nette domination po
 
 ![](graph-theme.png)
 
-La liste complète des speakers est disponible sur le site : https://devfesttoulouse.fr/speakers/
-Bon, on ne va pas vous mentir, il est possible que cette liste évolue légèrement selon les disponibilités et les contretemps de chacun(e). Nous la mettons à jour dès que possible donc n’hésitez pas à y jeter un coup d’oeil de temps en temps ou vous inscrire à la newsletter pour rester informés (par ici : https://devfesttoulouse.fr/).
+La liste complète des speakers est disponible sur le site : <https://devfesttoulouse.fr/speakers/>
+Bon, on ne va pas vous mentir, il est possible que cette liste évolue légèrement selon les disponibilités et les contretemps de chacun(e). Nous la mettons à jour dès que possible donc n’hésitez pas à y jeter un coup d’oeil de temps en temps ou vous inscrire à la newsletter pour rester informés (par ici : <https://devfesttoulouse.fr/>).
 Nous vous en informerons aussi sur notre compte Twitter @DevFestToulouse .
- 
+
 Pour les sujets, allez, on est sympa, on vous dit tout :
 
 * Ceinture noire Karate en tests d’API REST
diff --git a/test-hugo/content/blog/hello-2019.md b/test-hugo/content/blog/hello-2019.md
index b2ddf0e..a4ea092 100644
--- a/test-hugo/content/blog/hello-2019.md
+++ b/test-hugo/content/blog/hello-2019.md
@@ -19,10 +19,8 @@ Situé en plein coeur de Toulouse, dans le quartier de Compans Cafarelli, access
 
 Et… roulement de tambour, petite **nouveauté 2019**, il y aura un thème :
 
-
 **LE FROMAGE :cheese:**
 
-
 Ce thème sera décliné sur l’ensemble de la journée avec des **goodies**, une **décoration au top** et si vous voulez vous déguiser en Camenbert ou en Roquefort,
 faites vous plaisir !
 
@@ -42,8 +40,7 @@ Nous invitons également nos partenaires à jouer le jeu ;-).
 - XX conférences,
 - XXX speakers d’exception,
 - XXX 20 partenaires,
-- et pas mal de nuits courtes, de midis et de week-end bien chargés pour
-les XX bénévoles.
+- et pas mal de nuits courtes, de midis et de week-end bien chargés pour les XX bénévoles.
 
 <!-- ![](/images/posts/2018-03-27-lancement-devfest-toulouse-2018/lancement-1.jpg) -->
 
diff --git a/test-hugo/content/code-of-conduct.md b/test-hugo/content/code-of-conduct.md
index 275fa9b..77b8ed9 100644
--- a/test-hugo/content/code-of-conduct.md
+++ b/test-hugo/content/code-of-conduct.md
@@ -40,7 +40,7 @@ The following actions are considered harassment and are unacceptable within our
 - Advocating for, or encouraging, any of the above behavior.
 - Sustained disruption of community events, including talks and, presentations.
 
-##  5. Consequences of Unacceptable Behavior
+## 5. Consequences of Unacceptable Behavior
 
 Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated.
 Anyone asked to stop unacceptable behavior is expected to comply immediately.
diff --git a/test-hugo/content/faq.md b/test-hugo/content/faq.md
index 45b59b5..2629156 100644
--- a/test-hugo/content/faq.md
+++ b/test-hugo/content/faq.md
@@ -2,10 +2,10 @@
 title: FAQs
 ---
 
-
 ## Général
 
 ### Qu'est ce que le DevFest Toulouse ?
+
 Le DevFest, ou “Developers Festival”, est une conférence technique destinée aux développeur·se·s.
 Elle s'adresse aussi bien aux étudiants, aux professionnels ou tout simplement aux curieux technophiles.
 Durant toute la journée, des orateurs reconnus viendront présenter des sujets variés : autour du développement mobile, du web, de la data, des objets connectés, du cloud, du DevOps, etc... ainsi que des bonnes pratiques de développement.
@@ -17,6 +17,7 @@ Cette journée sera l'occasion de rencontrer des orateurs de renommée internati
 Le DevFest s'inscrit dans un [cadre international](https://developers.google.com/events/devfest/) et est organisé en partenariat avec Google.
 
 ### Les communautés organisatrices
+
 Le DevFest Toulouse est un événement organisé par les communautés de développeurs de Toulouse, et porté administrativement par le GDG Toulouse (ex TAUG).
 Vous retrouverez la liste des communautés en bas de page principale.
 
@@ -26,9 +27,11 @@ Pour rendre tout cela possible, une équipe de bénévoles sur-vitaminée s’ac
 ## Conférence
 
 ### Où et quand aura lieu le DevFest ?
+
 Le DevFest Toulouse 2017 a lieu le jeudi 8 novembre au Centre de Congrés Pierre Baudis.
 
 ### Comment s'y rendre ?
+
 Le centre de congrés est idéalement situé en centre ville.
 
 EN AVION :
@@ -44,11 +47,13 @@ EN METRO :
 Ligne B, descendez station Compans-Cafarelli.
 
 ### Comment devenir sponsor/partenaire ?
+
 Le dossier de partenariat est en cours de finalisation.
 
 ## CFP
 
 ### Quel est le format des conférences ?
+
 Deux types de conférences sont proposées :
 
 - Les **lightning talks**, d’une durée de **15 minutes**, sans question.
@@ -59,6 +64,7 @@ Pour les conférences données en toute fin de de journée, 10 minutes de questi
 
 
 ### Comment devenir orateur/oratrice ?
+
 Le CFP est ouvert, il ferme le 1 Juillet 2018.
 
 Il vous suffit de soumettre un ou plusieurs sujets sur notre [CFP](https://devfest-toulouse.cfp.io).
@@ -67,25 +73,30 @@ Si votre sujet a été pré-sélectionné, nous vous offrons une place à la con
 Que vous présentiez un talk seul ou en duo, chaque conférencier a son entrée offerte.
 
 ### Est-ce que l'on peut soumettre un talk a plusieurs ?
+
 Oui, sur le site du CFP, si vous n'êtes pas seul lors de la présentation, renseignez l'e-mail des autres conférenciers, ceux-ci doivent s'être préalablement inscrits sur le CFP avec cette même adresse.
 Pour des raisons pratiques, nous n’acceptons pas les sujets impliquant plus de trois orateur·rice·s. 
 
 
 ### J’ai proposé une conférence. Dois-je acheter mon entrée ?
+
 Si votre sujet (conférence ou lightning talk) a été sélectionné, nous vous offrons votre entrée au DevFest, vous n'avez donc pas à acheter votre place à l'avance.
 Si vous présentez un talk à plusieurs, deux entrées vous seront offertes par conférence, les autres intervenants devront acheter leur propre place (en l’absence d’autres conférences acceptées.)
 
 Au cas où votre sujet ne serait pas accepté, il vous sera encore possible d’acheter votre place après la notification, au tarif early-bird.
 
 ### Prenez-vous en charge les frais de déplacement et d’hébergement?
+
 Les speakers présentant une conférence complète (40 minutes) peuvent demander un remboursement de leurs frais (transport et hébergement) sur présentation des factures, et dans une limite de 250€ par conférence (et non pas par speaker).
 Pour les lightning talks, les frais de déplacement ne sont pas remboursés.
 
 ### Quels lieux recommandez-vous pour loger ?
+
 Le centre de congrès Pierre Baudis est situé à 15 minutes à pied de l’hyper-centre de Toulouse, ou 5 minutes en métro (arrêt Compans-Caffarelli).
 De nombreux hôtels et chambres d’hôtes sont disponibles à proximité.
 
 ### Quel est le format attendu pour les slides ?
+
 Vous pouvez présenter votre conférence à partir de votre propre ordinateur, ou nous fournir au préalable les slides au format PDF.
 Le thème des slides est entièrement libre, et les présentations seront diffusées ensuite sur la chaîne YouTube GDG France, qui héberge déjà les présentations des années précédentes.
 
@@ -93,16 +104,21 @@ Le thème des slides est entièrement libre, et les présentations seront diffus
 ## Billetterie
 
 ### Quelles sont les conditions de remboursements de votre billet ?
+
 Nous permettons un remboursement jusqu'à 15 jours avant l'événement hors frais de traitement de notre partenaire billetterie.
 
 ### Faut-il se munir d'une pièce d'identité ou y-a-t-il un âge minimum pour entrer à l'événement ?
+
 Votre billet suffit, il n'y a pas d'âge minimum.
 
 ### Puis-je mettre à jour les informations de mon inscription ?
+
 Oui, vous pouvez modifier les informations de votre commande sur le site de notre partenaire billetterie.
 
 ### Est-ce un problème si le nom indiqué sur mon billet ou mon inscription ne correspond pas à celui du participant ?
+
 Oui. Merci de nous contacter en cas de question précise.
 
 ### J'aimerais une facture, comment l'obtenir ?
+
 Notre association est désormais soumise à TVA. Il vous est donc possible d'obtenir une facture auprès de notre partenaire billetterie.
diff --git a/test-hugo/data/home.yml b/test-hugo/data/home.yml
index 5316d6d..698099a 100644
--- a/test-hugo/data/home.yml
+++ b/test-hugo/data/home.yml
@@ -1,5 +1,6 @@
 info: >-
   Le DevFest, ou 'Developers Festival', est une conférence technique destinée aux développeurs. Elle s'adresse aussi bien aux étudiants, aux professionnels ou tout simplement aux curieux technophiles.
+
 what:
   - label: Participants
     value: 700
diff --git a/test-hugo/data/location.yml b/test-hugo/data/location.yml
deleted file mode 100644
index ecc3cf6..0000000
--- a/test-hugo/data/location.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-name: Centre de Congrès Pierre Baudis
-description: >-
-  Le Centre de Congrès Pierre Baudis est un lieu d'échanges moderne, situé sur un emplacement privilégié, à proximité immédiate du centre de Toulouse et dans un environnement verdoyant.
-address: 11 Espl. Compans Caffarelli, 31000 Toulouse
-pointer:
-  latitude: 43.6110956
-  longitude: 1.4332799
-  zoom: 5
-mapCenter: 48,8
\ No newline at end of file
diff --git a/test-hugo/data/team.yml b/test-hugo/data/team.yml
index 121c8cd..f06f9f7 100644
--- a/test-hugo/data/team.yml
+++ b/test-hugo/data/team.yml
@@ -1,144 +1,155 @@
-- members:
-    - name: Julien Del Rio
-      photoUrl: /images/people/julien_delrio.jpg
-      socials:
-        - icon: twitter
-          link: 'https://twitter.com/JulienDelRio'
-          name: Twitter
-      title: GDG Toulouse
-    - name: Julien Renaux
-      photoUrl: /images/people/julien_renaux.jpg
-      socials:
-        - icon: twitter
-          link: 'https://twitter.com/julienrenaux'
-          name: Twitter
-        - icon: github
-          link: 'https://github.com/shprink'
-          name: Github
-        - icon: linkedin
-          link: 'https://www.linkedin.com/in/julienrenaux/'
-          name: LinkedIn
-      title: GDG Toulouse
-    - name: Alexia Audevart
-      photoUrl: 'https://www.ekito.fr/img/team/aaudevart.jpg'
-      socials:
-        - icon: twitter
-          link: 'https://www.twitter.com/aaudevart'
-          name: Twitter
-        - icon: github
-          link: 'https://github.com/aaudevart'
-          name: Github
-        - icon: linkedin
-          link: 'https://www.linkedin.com/in/alexia-audevart-450b8a1/'
-          name: Linkedin
-      title: Toulouse Data Science
-    - name: Kevin Davin
-      photoUrl: /images/people/kevin_davin.png
-      socials:
-        - icon: gplus
-          link: 'https://plus.google.com/+KevinDavin'
-          name: Google+
-        - icon: twitter
-          link: 'https://twitter.com/davinkevin'
-          name: Twitter
-        - icon: github
-          link: 'https://github.com/davinkevin/'
-          name: Github
-        - icon: linkedin
-          link: www.linkedin.com/in/davinkevin
-          name: LinkedIn
-      title: GDG Toulouse & Toulouse JUG
-    - name: Aurélie Vache
-      photoUrl: /images/people/aurelie_vache.png
-      socials:
-        - icon: twitter
-          link: 'https://www.twitter.com/aurelievache'
-          name: Twitter
-        - icon: website
-          link: 'http://scraly.com/'
-          name: Site
-        - icon: linkedin
-          link: 'https://www.linkedin.com/in/aurelievache'
-          name: LinkedIn
-        - icon: github
-          link: 'https://github.com/scraly'
-          name: Github
-      title: Duchess France / Toulouse Data Science
-    - name: Maxime Pawlak
-      photoUrl: /images/people/maxime_pawlak.jpg
-      socials:
-        - icon: twitter
-          link: 'https://twitter.com/Maxime_Pawlak'
-          name: Twitter
-      title: GDG Toulouse
-    - name: Michaël Bitard
-      photoUrl: /images/people/michael_bitard.jpg
-      socials:
-        - icon: twitter
-          link: 'https://twitter.com/bitardmichael'
-          name: Twitter
-      title: Electron liiiibre
-    - name: Didier Plaindoux
-      photoUrl: /images/people/didier_plaindoux.jpeg
-      socials:
-        - icon: twitter
-          link: 'https://twitter.com/dplaindoux'
-          name: Twitter
-      title: Toulouse JUG
-    - name: Vincent Ferries
-      photoUrl: >-
-        https://pbs.twimg.com/profile_images/697834407407849472/bzv1VZJm_400x400.jpg
-      socials:
-        - icon: twitter
-          link: 'https://twitter.com/VincentFERRIES'
-          name: Twitter
-      title: Toulouse JUG
-    - name: Igor Laborie
-      photoUrl: >-
-        https://pbs.twimg.com/profile_images/3404066863/94e02f3bca9b038c4546f4e42ed05bc6.jpeg
-      socials:
-        - icon: twitter
-          link: 'https://twitter.com/ilaborie'
-          name: Twitter
-        - icon: github
-          link: 'https://github.com/ilaborie'
-          name: Github
-      title: Folivoraphile
-    - name: Emmanuel Vinas
-      photoUrl: /images/people/emmanuel_vinas.jpeg
-      socials:
-        - icon: twitter
-          link: 'https://twitter.com/EmmanuelVinas'
-          name: Twitter
-      title: GDG Toulouse
-    - name: Lionel Porcheron
-      photoUrl: /images/people/lionel_porcheron.jpg
-      socials:
-        - icon: twitter
-          link: 'https://twitter.com/lporcheron'
-          name: Twitter
-      title: Toulouse DevOps
-    - name: Michaël Pailloncy
-      photoUrl: 'https://s.gravatar.com/avatar/1b42d100589ea585ce9a1f359b8d4496?s=160'
-      socials:
-        - icon: twitter
-          link: 'https://twitter.com/mpailloncy'
-          name: Twitter
-        - icon: github
-          link: 'https://github.com/mpailloncy'
-          name: Github
-        - icon: linkedin
-          link: 'https://www.linkedin.com/in/michael-pailloncy-21119827/'
-          name: LinkedIn
-      title: Toulouse JAM / JUG
-    - name: Elodie Lerare
-      photoUrl: images/people/elodie_lerare.jpg
-      socials:
-        - icon: twitter
-          link: 'https://twitter.com/EloBlou'
-          name: Twitter
-        - icon: linkedin
-          link: 'https://www.linkedin.com/in/elodie-lerare-223a6b41/'
-          name: LinkedIn
-      title: ''
-  title: Core Team
+- name: Julien Del Rio
+  title: GDG Toulouse
+  photoUrl: /images/people/julien_delrio.jpg
+  socials:
+    - icon: twitter
+      link: 'https://twitter.com/JulienDelRio'
+      name: Twitter
+
+- name: Julien Renaux
+  title: GDG Toulouse
+  photoUrl: /images/people/julien_renaux.jpg
+  socials:
+    - icon: twitter
+      link: 'https://twitter.com/julienrenaux'
+      name: Twitter
+    - icon: github
+      link: 'https://github.com/shprink'
+      name: Github
+    - icon: linkedin
+      link: 'https://www.linkedin.com/in/julienrenaux/'
+      name: LinkedIn
+
+- name: Alexia Audevart
+  title: Toulouse Data Science
+  photoUrl: 'https://www.ekito.fr/img/team/aaudevart.jpg'
+  socials:
+    - icon: twitter
+      link: 'https://www.twitter.com/aaudevart'
+      name: Twitter
+    - icon: github
+      link: 'https://github.com/aaudevart'
+      name: Github
+    - icon: linkedin
+      link: 'https://www.linkedin.com/in/alexia-audevart-450b8a1/'
+      name: Linkedin
+
+- name: Kevin Davin
+  title: GDG Toulouse & Toulouse JUG
+  photoUrl: /images/people/kevin_davin.png
+  socials:
+    - icon: gplus
+      link: 'https://plus.google.com/+KevinDavin'
+      name: Google+
+    - icon: twitter
+      link: 'https://twitter.com/davinkevin'
+      name: Twitter
+    - icon: github
+      link: 'https://github.com/davinkevin/'
+      name: Github
+    - icon: linkedin
+      link: www.linkedin.com/in/davinkevin
+      name: LinkedIn
+
+- name: Aurélie Vache
+  title: Duchess France / Toulouse Data Science
+  photoUrl: /images/people/aurelie_vache.png
+  socials:
+    - icon: twitter
+      link: 'https://www.twitter.com/aurelievache'
+      name: Twitter
+    - icon: website
+      link: 'http://scraly.com/'
+      name: Site
+    - icon: linkedin
+      link: 'https://www.linkedin.com/in/aurelievache'
+      name: LinkedIn
+    - icon: github
+      link: 'https://github.com/scraly'
+      name: Github
+
+- name: Maxime Pawlak
+  title: GDG Toulouse
+  photoUrl: /images/people/maxime_pawlak.jpg
+  socials:
+    - icon: twitter
+      link: 'https://twitter.com/Maxime_Pawlak'
+      name: Twitter
+
+- name: Michaël Bitard
+  title: Electron liiiibre
+  photoUrl: /images/people/michael_bitard.jpg
+  socials:
+    - icon: twitter
+      link: 'https://twitter.com/bitardmichael'
+      name: Twitter
+
+- name: Didier Plaindoux
+  title: Toulouse JUG
+  photoUrl: /images/people/didier_plaindoux.jpeg
+  socials:
+    - icon: twitter
+      link: 'https://twitter.com/dplaindoux'
+      name: Twitter
+
+- name: Vincent Ferries
+  title: Toulouse JUG
+  photoUrl: >-
+    https://pbs.twimg.com/profile_images/697834407407849472/bzv1VZJm_400x400.jpg
+  socials:
+    - icon: twitter
+      link: 'https://twitter.com/VincentFERRIES'
+      name: Twitter
+
+- name: Igor Laborie
+  title: Folivoraphile
+  photoUrl: >-
+    https://pbs.twimg.com/profile_images/3404066863/94e02f3bca9b038c4546f4e42ed05bc6.jpeg
+  socials:
+    - icon: twitter
+      link: 'https://twitter.com/ilaborie'
+      name: Twitter
+    - icon: github
+      link: 'https://github.com/ilaborie'
+      name: Github
+
+- name: Emmanuel Vinas
+  title: GDG Toulouse
+  photoUrl: /images/people/emmanuel_vinas.jpeg
+  socials:
+    - icon: twitter
+      link: 'https://twitter.com/EmmanuelVinas'
+      name: Twitter
+
+- name: Lionel Porcheron
+  title: Toulouse DevOps
+  photoUrl: /images/people/lionel_porcheron.jpg
+  socials:
+    - icon: twitter
+      link: 'https://twitter.com/lporcheron'
+      name: Twitter
+
+- name: Michaël Pailloncy
+  title: Toulouse JAM / JUG
+  photoUrl: 'https://s.gravatar.com/avatar/1b42d100589ea585ce9a1f359b8d4496?s=160'
+  socials:
+    - icon: twitter
+      link: 'https://twitter.com/mpailloncy'
+      name: Twitter
+    - icon: github
+      link: 'https://github.com/mpailloncy'
+      name: Github
+    - icon: linkedin
+      link: 'https://www.linkedin.com/in/michael-pailloncy-21119827/'
+      name: LinkedIn
+
+- name: Elodie Lerare
+  title: ''
+  photoUrl: images/people/elodie_lerare.jpg
+  socials:
+    - icon: twitter
+      link: 'https://twitter.com/EloBlou'
+      name: Twitter
+    - icon: linkedin
+      link: 'https://www.linkedin.com/in/elodie-lerare-223a6b41/'
+      name: LinkedIn
diff --git a/test-hugo/data/tickets.yml b/test-hugo/data/tickets.yml
index d7d12ff..4b676dd 100644
--- a/test-hugo/data/tickets.yml
+++ b/test-hugo/data/tickets.yml
@@ -9,6 +9,7 @@
   regular: true
   soldOut: true
   url: 'https://www.billetweb.fr/devfest-toulouse-2018'
+
 - currency: €
   starts: 06 Juin
   ends: 08 Novembre
@@ -20,6 +21,7 @@
   regular: true
   soldOut: true
   url: 'https://www.billetweb.fr/devfest-toulouse-2018'
+
 - currency: €
   starts: 01 Août
   ends: 08 Novembre
diff --git a/test-hugo/themes/devfest-theme-hugo/assets/script/good-map.js b/test-hugo/themes/devfest-theme-hugo/assets/script/good-map.js
new file mode 100644
index 0000000..da6d040
--- /dev/null
+++ b/test-hugo/themes/devfest-theme-hugo/assets/script/good-map.js
@@ -0,0 +1,67 @@
+'use strict';
+
+{
+  let initCalled;
+  const callbackPromise = new Promise((r) => window.__initGoodMap = r);
+
+  function loadGoogleMaps(apiKey) {
+    if (!initCalled) {
+      const script = document.createElement('script');
+      script.src = 'https://maps.googleapis.com/maps/api/js?' +
+        (apiKey ? `key=${apiKey}&` : '') +
+        'callback=__initGoodMap';
+      document.head.appendChild(script);
+      initCalled = true;
+    }
+    return callbackPromise;
+  }
+
+  customElements.define('good-map', class extends HTMLElement {
+    static get observedAttributes() {
+      return ['api-key', 'zoom', 'latitude', 'longitude', 'map-options'];
+    }
+
+    attributeChangedCallback(name, oldVal, val) {
+      switch (name) {
+        case 'api-key':
+          this.apiKey = val;
+          break;
+        case 'zoom':
+        case 'latitude':
+        case 'longitude':
+          this[name] = parseFloat(val);
+          break;
+        case 'map-options':
+          this.mapOptions = JSON.parse(val);
+          break
+      }
+    }
+
+    constructor() {
+      super();
+
+      this.map = null;
+      this.apiKey = null;
+      this.zoom = null;
+      this.latitude = null;
+      this.longitude = null;
+      this.mapOptions = {};
+    }
+
+    connectedCallback() {
+      loadGoogleMaps(this.apiKey).then(() => {
+        if (!this.mapOptions.zoom) {
+          this.mapOptions.zoom = this.zoom || 0;
+        }
+        if (!this.mapOptions.center) {
+          this.mapOptions.center = {
+            lat: this.latitude || 0,
+            lng: this.longitude || 0
+          };
+        }
+        this.map = new google.maps.Map(this, this.mapOptions);
+        this.dispatchEvent(new CustomEvent('google-map-ready', { detail: this.map }));
+      });
+    }
+  });
+}
\ No newline at end of file
diff --git a/test-hugo/themes/devfest-theme-hugo/assets/style/pages/_home.scss b/test-hugo/themes/devfest-theme-hugo/assets/style/pages/_home.scss
index 10054d8..cd40a6d 100644
--- a/test-hugo/themes/devfest-theme-hugo/assets/style/pages/_home.scss
+++ b/test-hugo/themes/devfest-theme-hugo/assets/style/pages/_home.scss
@@ -74,10 +74,16 @@
   }
 
   section.location {
+    padding: 0;
     position: relative;
     background: var(--darken-1);
     font-weight: 300;
 
+    #map {
+      display: block;
+      height: 664px;
+    }
+
     .description {
       display: inline-block;
       padding: var(--space-4);
diff --git a/test-hugo/themes/devfest-theme-hugo/assets/style/pages/_team.scss b/test-hugo/themes/devfest-theme-hugo/assets/style/pages/_team.scss
index 053fa51..05939b3 100644
--- a/test-hugo/themes/devfest-theme-hugo/assets/style/pages/_team.scss
+++ b/test-hugo/themes/devfest-theme-hugo/assets/style/pages/_team.scss
@@ -32,11 +32,16 @@
         display: flex;
         margin: 0;
         padding: 0;
-        filter: grayscale(1);
-        transition: filter var(--animation);
+        font-size: 1.5em;
 
-        &:hover, &:focus {
-          filter: grayscale(0);
+        li {
+          filter: grayscale(1);
+          transition: filter var(--animation);
+
+          &:hover,
+          &:focus {
+            filter: grayscale(0);
+          }
         }
       }
 
diff --git a/test-hugo/themes/devfest-theme-hugo/layouts/_default/baseof.html b/test-hugo/themes/devfest-theme-hugo/layouts/_default/baseof.html
index 2bb64ca..4918b2e 100644
--- a/test-hugo/themes/devfest-theme-hugo/layouts/_default/baseof.html
+++ b/test-hugo/themes/devfest-theme-hugo/layouts/_default/baseof.html
@@ -18,13 +18,15 @@
 {{ end }}
 
 
-{{ block "scripts" . }}
 {{ $base := resources.Get "script/base.js" }}
 {{ $subscription := resources.Get "script/subscription.js" }}
 {{ $shuffle := resources.Get "script/shuffle.js" }}
+{{ $map := resources.Get "script/good-map.js" }}
 
-{{ $js := slice $base $subscription $shuffle | resources.Concat "script/main.js" }}
+{{ $js := slice $base $subscription $shuffle $map | resources.Concat "script/main.js" }}
 <script src="{{ $js.Permalink }}"></script>
+{{ block "scripts" . }}
+<!-- No extra scripts -->
 {{ end }}
 </body>
 
diff --git a/test-hugo/themes/devfest-theme-hugo/layouts/_default/home.html b/test-hugo/themes/devfest-theme-hugo/layouts/index.html
similarity index 61%
rename from test-hugo/themes/devfest-theme-hugo/layouts/_default/home.html
rename to test-hugo/themes/devfest-theme-hugo/layouts/index.html
index d772248..84ca238 100644
--- a/test-hugo/themes/devfest-theme-hugo/layouts/_default/home.html
+++ b/test-hugo/themes/devfest-theme-hugo/layouts/index.html
@@ -68,29 +68,20 @@
 </section>
 {{ end }}
 
-
 {{ if .Params.location }}
 <section class="location">
-		<iframe
-				src='https://www.google.com/maps/embed/v1/view?key={{ .Site.Params.googleMapsAPIKey }}&zoom={{ .Site.Data.location.pointer.zoom }}&center={{ .Site.Data.location.mapCenter }}'
-				frameborder="0"
-				scrolling="no"
-				width="100%"
-				height="400">
-		</iframe>
-
+	<good-map id="map" api-key="{{ .Site.Params.map.googleMapsAPIKey }}" latitude="{{ .Site.Params.map.latitude }}"
+	 longitude="{{ .Site.Params.map.longitude }}" zoom="{{ .Site.Params.map.zoom }}" map-options="{{ replace .Site.Params.map.options "\n" ""}}">
+	</good-map>
 
 	<div class="description">
 		<h2>Le lieu</h2>
-		<h3>{{ .Site.Data.location.name }}</h3>
-		<p>{{ .Site.Data.location.description }}</p>
+		<h3>{{ .Site.Params.location.name }}</h3>
+		<p>{{ .Site.Params.location.description }}</p>
 		<div class="direction">
-			{{ .Site.Data.location.address }}
-			{{ if .Site.Data.location.pointer }}
-			<a class="btn btn-icon-only icon-direction"
-			   target="_blank"
-			   aria-label="Itinéraire"
-			   href="https://www.google.com/maps/dir/?api=1&destination={{ .Site.Data.location.pointer.latitude }},{{ .Site.Data.location.pointer.longitude }}"></a>
+			{{ .Site.Params.location.address }}
+			{{ if .Site.Params.location.pointer }}
+			<a class="btn btn-icon-only icon-direction" target="_blank" aria-label="Itinéraire" href="https://www.google.com/maps/dir/?api=1&destination={{ .Site.Params.location.pointer.latitude }},{{ .Site.Params.location.pointer.longitude }}"></a>
 			{{ end }}
 		</div>
 	</div>
@@ -107,4 +98,27 @@
 </section>
 {{ end }}
 
+{{ end }}
+
+
+{{ define "scripts"}}
+<script>
+document.querySelector('#map')
+	.addEventListener('google-map-ready', (e) => {
+		new google.maps.Marker({
+			position: {
+				lat: parseFloat('{{ .Site.Params.location.pointer.latitude }}'),
+				lng: parseFloat('{{ .Site.Params.location.pointer.longitude }}'),
+			},
+			icon: {
+				url: 'images/map-marker.svg',
+				anchor: new google.maps.Point(25, 50),
+				scaledSize: new google.maps.Size(50, 50),
+			},
+			map: e.detail,
+		});
+	}, {
+		once: true
+	});
+</script>
 {{ end }}
\ No newline at end of file
diff --git a/test-hugo/themes/devfest-theme-hugo/layouts/partials/head.html b/test-hugo/themes/devfest-theme-hugo/layouts/partials/head.html
index cb7e0ef..032425d 100644
--- a/test-hugo/themes/devfest-theme-hugo/layouts/partials/head.html
+++ b/test-hugo/themes/devfest-theme-hugo/layouts/partials/head.html
@@ -38,4 +38,5 @@
 
     {{ $style := resources.Get "style/main.scss" | resources.ToCSS | resources.Minify | resources.Fingerprint }}
     <link rel="stylesheet" href="{{ $style.Permalink }}">
+    
 </head>
\ No newline at end of file
diff --git a/test-hugo/themes/devfest-theme-hugo/layouts/team/single.html b/test-hugo/themes/devfest-theme-hugo/layouts/team/single.html
index 2af7b6c..b6c4c74 100644
--- a/test-hugo/themes/devfest-theme-hugo/layouts/team/single.html
+++ b/test-hugo/themes/devfest-theme-hugo/layouts/team/single.html
@@ -1,16 +1,12 @@
 {{ define "main" }}
 {{ .Content }}
 
-{{ range .Site.Data.team }}
 <section>
-	<h2>{{ .title }}</h2>
-
 	<ul class="members shuffle">
-		{{ range (shuffle .members) }}
+		{{ range (shuffle .Site.Data.team) }}
 		<li>{{ partial "team.html" . }}</li>
 		{{ end }}
 	</ul>
 </section>
-{{ end }}
 
 {{ end }}
\ No newline at end of file
diff --git a/tools/extract-data.js b/tools/extract-data.js
index e23c298..fd288b2 100644
--- a/tools/extract-data.js
+++ b/tools/extract-data.js
@@ -13,7 +13,7 @@ const writeToYml = (list, dest) => {
     fs.writeFileSync(dest, data, writeOption);
 };
 
-const firebaseData = require('../test-hugo/data/firebase-data.json');
+const firebaseData = require('./firebase-data.json');
 
 ['partners', 'team', 'tickets']
     .forEach(key => {
diff --git a/test-hugo/data/firebase-data.json b/tools/firebase-data.json
similarity index 100%
rename from test-hugo/data/firebase-data.json
rename to tools/firebase-data.json
diff --git a/tools/generate-sessions.js b/tools/generate-sessions.js
index c6e7f74..07df4c3 100644
--- a/tools/generate-sessions.js
+++ b/tools/generate-sessions.js
@@ -7,7 +7,7 @@ const writeOption = {
     flag: 'w'
 };
 
-const firebaseData = require('../test-hugo/data/firebase-data.json');
+const firebaseData = require('./firebase-data.json');
 
 
 const generateSessionData = (id, session) => {
diff --git a/tools/generate-speakers.js b/tools/generate-speakers.js
index 3f82b18..6c65e7c 100644
--- a/tools/generate-speakers.js
+++ b/tools/generate-speakers.js
@@ -7,7 +7,7 @@ const writeOption = {
     flag: 'w'
 };
 
-const firebaseData = require('../test-hugo/data/firebase-data.json');
+const firebaseData = require('./firebase-data.json');
 
 const generateSpeakerData = (id, speaker) => {
     const frontMatter = {id, ...speaker};