{"id":823,"date":"2020-11-09T18:59:32","date_gmt":"2020-11-09T17:59:32","guid":{"rendered":"https:\/\/www.cyril-grandjean.fr\/en\/?p=823"},"modified":"2021-03-18T13:17:10","modified_gmt":"2021-03-18T12:17:10","slug":"opentracks-itineraries-and-gps","status":"publish","type":"post","link":"https:\/\/www.cyril-grandjean.fr\/fr\/opentracks-itineraires-gps","title":{"rendered":"OpenTracks &#8211; Itin\u00e9raires &#038; GPS"},"content":{"rendered":"<p><\/p>\n\n\n\n<p>En dehors du domaine professionnel, j&rsquo;aime la photographie et la randonn\u00e9e. C&rsquo;est pour cela que j&rsquo;ai cr\u00e9e le groupe French Riviera Hiking Meetup afin de rencontrer des personnes du monde entier autour de randonn\u00e9es dans les Alpes Maritimes. Etant de nature \u00e0 coupler les projets personnels avec mes passions, j&rsquo;ai d\u00e9cid\u00e9 il y a quelques ann\u00e9es avec des amis du groupe Meetup de cr\u00e9er le projet OpenTracks sur mon temps libre.<\/p>\n\n\n\n<p>OpenTracks est un site internet (<a href=\"https:\/\/opentracks.app\/fr\" data-type=\"URL\" data-id=\"https:\/\/opentracks.app\/fr\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/opentracks.app<\/a>) mais aussi une application iOS (<a rel=\"noreferrer noopener\" href=\"https:\/\/apps.apple.com\/fr\/app\/opentracks-itin\u00e9raires-gps\/id1473021053\" target=\"_blank\">lien<\/a>) et Android (<a rel=\"noreferrer noopener\" href=\"https:\/\/play.google.com\/store\/apps\/details?id=app.opentracks\" target=\"_blank\">lien<\/a>) destin\u00e9 aux personnes aimant les promenades, randonn\u00e9es p\u00e9destres, randonn\u00e9es raquettes, trails et treks.<\/p>\n\n\n\n<p>Gr\u00e2ce \u00e0 l&rsquo;application OpenTracks, vous pouvez rechercher des randonn\u00e9es selon plein de crit\u00e8res de s\u00e9lection mais aussi effectuer les activit\u00e9s s\u00e9lectionn\u00e9es depuis votre mobile gr\u00e2ce au GPS int\u00e9gr\u00e9 et le mode hors-ligne optimis\u00e9 pour faire en sorte que vous ne soyez pas perdu mais aussi en optimisant l&rsquo;usage de la batterie. Je vous invite \u00e0 explorer plus en d\u00e9tails le site d&rsquo;OpenTracks et les descriptions des applications mobiles pour en d\u00e9couvrir plus sur les multiples fonctionnalit\u00e9s de l&rsquo;application et n&rsquo;h\u00e9sitez pas \u00e0 cr\u00e9er un compte sur l&rsquo;application si vous \u00eates int\u00e9ress\u00e9s par l&rsquo;application.<\/p>\n\n\n\n<p>Je profite du d\u00e9veloppement de l&rsquo;application pour perfectionner mes connaissances en Javascript front-end comme backend (OpenTracks est une application enti\u00e8rement d\u00e9velopp\u00e9e en Javascript) ainsi qu&rsquo;en d\u00e9veloppement mobile qui \u00e9tait un domaine qui \u00e9tait relativement th\u00e9orique pour moi jusqu&rsquo;\u00e0 maintenant et de cr\u00e9er une architecture robuste qui permettrait de pouvoir avoir des pages affich\u00e9es en SSR (pour le SEO), tout en \u00e9tant optimis\u00e9 sur mobile. Un challenge technique difficile mais pas inint\u00e9ressant  \ud83d\ude42<\/p>\n\n\n\n<p>J&rsquo;ai profit\u00e9 de ce projet pour mettre en place le Test Driven Development dans le cycle de vie de l&rsquo;application. Une petite perte de temps au d\u00e9but du projet mais qui est maintenant un gain de temps consid\u00e9rable gr\u00e2ce aux tests automatiques qui se sont enrichis au fil des versions de l&rsquo;application et qui participe \u00e0 l&rsquo;am\u00e9lioration continue de la qualit\u00e9 de l&rsquo;application en \u00e9vitant les r\u00e9gressions.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"576\" height=\"1024\" src=\"https:\/\/www.cyril-grandjean.fr\/wp-content\/uploads\/2020\/10\/app-store-ecran-4-576x1024.jpg\" alt=\"\" class=\"wp-image-828\" srcset=\"https:\/\/www.cyril-grandjean.fr\/wp-content\/uploads\/2020\/10\/app-store-ecran-4-576x1024.jpg 576w, https:\/\/www.cyril-grandjean.fr\/wp-content\/uploads\/2020\/10\/app-store-ecran-4-169x300.jpg 169w, https:\/\/www.cyril-grandjean.fr\/wp-content\/uploads\/2020\/10\/app-store-ecran-4-768x1365.jpg 768w, https:\/\/www.cyril-grandjean.fr\/wp-content\/uploads\/2020\/10\/app-store-ecran-4-864x1536.jpg 864w, https:\/\/www.cyril-grandjean.fr\/wp-content\/uploads\/2020\/10\/app-store-ecran-4.jpg 1080w\" sizes=\"auto, (max-width: 576px) 100vw, 576px\" \/><figcaption>Parcourez des parcours existants<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.cyril-grandjean.fr\/wp-content\/uploads\/2020\/10\/app-store-ecran-8-ipad.jpg\" alt=\"\" class=\"wp-image-829\" width=\"580\" height=\"435\" srcset=\"https:\/\/www.cyril-grandjean.fr\/wp-content\/uploads\/2020\/10\/app-store-ecran-8-ipad.jpg 1024w, https:\/\/www.cyril-grandjean.fr\/wp-content\/uploads\/2020\/10\/app-store-ecran-8-ipad-300x225.jpg 300w, https:\/\/www.cyril-grandjean.fr\/wp-content\/uploads\/2020\/10\/app-store-ecran-8-ipad-768x576.jpg 768w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><figcaption>Planifiez vos activit\u00e9s<\/figcaption><\/figure>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>En dehors du domaine professionnel, j&rsquo;aime la photographie et la randonn\u00e9e. C&rsquo;est pour cela que j&rsquo;ai cr\u00e9e le groupe French Riviera Hiking Meetup afin de rencontrer des personnes du monde entier autour de randonn\u00e9es dans les Alpes Maritimes. Etant de nature \u00e0 coupler les projets personnels avec mes passions, j&rsquo;ai d\u00e9cid\u00e9 il y a quelques [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,4,38,26,107],"tags":[],"class_list":["post-823","post","type-post","status-publish","format-standard","hentry","category-autres","category-projets","category-logiciels","category-developpement-web","category-tous"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.cyril-grandjean.fr\/fr\/wp-json\/wp\/v2\/posts\/823","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cyril-grandjean.fr\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cyril-grandjean.fr\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cyril-grandjean.fr\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cyril-grandjean.fr\/fr\/wp-json\/wp\/v2\/comments?post=823"}],"version-history":[{"count":0,"href":"https:\/\/www.cyril-grandjean.fr\/fr\/wp-json\/wp\/v2\/posts\/823\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.cyril-grandjean.fr\/fr\/wp-json\/wp\/v2\/media?parent=823"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cyril-grandjean.fr\/fr\/wp-json\/wp\/v2\/categories?post=823"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cyril-grandjean.fr\/fr\/wp-json\/wp\/v2\/tags?post=823"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}