{"id":237,"date":"2020-06-08T16:11:39","date_gmt":"2020-06-08T15:11:39","guid":{"rendered":"http:\/\/algologic.fr\/?p=237"},"modified":"2020-09-29T14:20:00","modified_gmt":"2020-09-29T13:20:00","slug":"lapplication-mobile-backupmonster-est-en-ligne","status":"publish","type":"post","link":"https:\/\/algologic.fr\/en\/2020\/06\/08\/lapplication-mobile-backupmonster-est-en-ligne\/","title":{"rendered":"L&#8217;application Mobile BackupMonster est en ligne"},"content":{"rendered":"\n<p>ALGOLOGIC \u00e9tait en charge de r\u00e9aliser une nouvelle application mobile, destin\u00e9s au t\u00e9l\u00e9phone Android, et permettant de r\u00e9aliser des sauvegardes et restauration de son t\u00e9l\u00e9phone. L&#8217;application, appel\u00e9e BackupMonster, permet de sauvegarder ses messages, ses musiques, ses documents, ses contacts&#8230;etc. Un d\u00e9veloppement exigeant, n\u00e9cessitant de g\u00e9rer diff\u00e9rentes m\u00e9canismes de s\u00e9curit\u00e9 pour acc\u00e9der aux donn\u00e9es (parfois sensibles) de l&#8217;application, mais \u00e9galement pour les sauvegarder de fa\u00e7on s\u00e9curis\u00e9 dans le cloud, et les restaurer.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"500\" src=\"https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/Banniere.png\" alt=\"\" class=\"wp-image-238\" srcset=\"https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/Banniere.png 1024w, https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/Banniere-300x146.png 300w, https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/Banniere-768x375.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p>ALGOLOGIC a \u00e9t\u00e9 en charge de toute la partie technique du projet, de la conception \u00e0 la distribution sur le Play Store. Pour la r\u00e9alisation de l&#8217;application mobile et des diff\u00e9rentes parties serveurs, nous avons effectu\u00e9s les choix suivants :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>R\u00e9alisation d&#8217;une application native Android en Java (Android Studio)<\/li><li>Utilisation du Framework PHP &#8220;Code Igniter&#8221; pour la gestion de la base de donn\u00e9es, des webservices appel\u00e9 par l&#8217;application, des transferts s\u00e9curis\u00e9s entre l&#8217;application et le cloud, ainsi que pour le site de pr\u00e9sentation de l&#8217;application.<\/li><li>Utilisation de serveurs Amazon EC2 pour l&#8217;h\u00e9bergement des applicatifs et de la base de donn\u00e9es. Utilisation de Amazon S3 pour le stockage des fichiers.<\/li><li>Afin de g\u00e9rer les d\u00e9ploiements automatis\u00e9s de nouvelles versions, utilisation de l&#8217;outil de DevOps Ansible.<\/li><li>Int\u00e9gration de Google SignIn afin de g\u00e9rer l&#8217;identit\u00e9 des utilisateurs dans l&#8217;application et sur le serveur de fa\u00e7on s\u00e9curis\u00e9. <\/li><li>Formules d&#8217;abonnement payantes accessibles par achat int\u00e9gr\u00e9s \u00e0 l&#8217;application.<\/li><li>Chiffrement de toutes les donn\u00e9es utilisateurs lors du transfert ou pour le stockage dans le cloud.<\/li><\/ul>\n\n\n\n<p>Nous avons rencontr\u00e9s plusieurs challenges au cours de la r\u00e9alisation de cette application. Le premier consistait \u00e0 faire fonctionner l&#8217;application sur diff\u00e9rentes versions d&#8217;Android. L&#8217;acc\u00e8s aux diff\u00e9rentes donn\u00e9es, tel que les SMS, contacts, applications&#8230;etc, change entre les diff\u00e9rentes versions, de m\u00eame pour les m\u00e9canismes de s\u00e9curit\u00e9 et de droits. Des tests rigoureux ont \u00e9t\u00e9 n\u00e9cessaires pour d\u00e9celer et corriger tous les d\u00e9tails de l&#8217;impl\u00e9mentation sur les diff\u00e9rentes versions.<\/p>\n\n\n\n<p>L&#8217;ergonomie de l&#8217;interface \u00e9tait \u00e9galement un point particuli\u00e8rement important, l&#8217;un des enjeux de l&#8217;application \u00e9tant de fournir une exp\u00e9rience tr\u00e8s simple \u00e0 comprendre pour des utilisateurs novices. Plusieurs tests ont \u00e9t\u00e9 r\u00e9alis\u00e9s pour am\u00e9liorer l&#8217;interface, et int\u00e9grer parfaitement le graphisme de l&#8217;application (r\u00e9alis\u00e9 par l&#8217;agence <a href=\"https:\/\/limoncello.studio\/\">Limoncello<\/a>) quelque soit la taille d&#8217;\u00e9cran ou la version d&#8217;Android. <\/p>\n\n\n\n<p>Il nous a \u00e9galement fallu optimiser au mieux les performances de l&#8217;application pour qu&#8217;elle fonctionne correctement m\u00eame sur de petits terminaux (notamment les diff\u00e9rentes animations et transitions), ainsi que pour minimiser la bande passante et l&#8217;\u00e9nergie consomm\u00e9e par l&#8217;application.<\/p>\n\n\n\n<p>Enfin, la s\u00e9curit\u00e9 des donn\u00e9es a repr\u00e9sent\u00e9e un enjeu de taille, pour l&#8217;application comme pour la partie serveur.<\/p>\n\n\n\n<p>Un d\u00e9veloppement riche en challenge, dont vous pouvez d\u00e9couvrir le r\u00e9sultat \u00e0 l&#8217;adresse suivante : <a href=\"https:\/\/www.bumonster.com\/\">https:\/\/www.bumonster.com\/<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-gallery aligncenter columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"504\" height=\"1024\" src=\"https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/smart_mockup_BM_01-504x1024.jpg\" alt=\"\" data-id=\"239\" data-full-url=\"https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/smart_mockup_BM_01.jpg\" data-link=\"https:\/\/algologic.fr\/?attachment_id=239\" class=\"wp-image-239\" srcset=\"https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/smart_mockup_BM_01-504x1024.jpg 504w, https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/smart_mockup_BM_01-148x300.jpg 148w, https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/smart_mockup_BM_01-768x1559.jpg 768w, https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/smart_mockup_BM_01-757x1536.jpg 757w, https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/smart_mockup_BM_01.jpg 773w\" sizes=\"auto, (max-width: 504px) 100vw, 504px\" \/><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"504\" height=\"1024\" src=\"https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/smart_mockup_BM_02-504x1024.jpg\" alt=\"\" data-id=\"240\" data-full-url=\"https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/smart_mockup_BM_02.jpg\" data-link=\"https:\/\/algologic.fr\/?attachment_id=240\" class=\"wp-image-240\" srcset=\"https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/smart_mockup_BM_02-504x1024.jpg 504w, https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/smart_mockup_BM_02-148x300.jpg 148w, https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/smart_mockup_BM_02-768x1559.jpg 768w, https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/smart_mockup_BM_02-757x1536.jpg 757w, https:\/\/algologic.fr\/wp-content\/uploads\/2020\/09\/smart_mockup_BM_02.jpg 773w\" sizes=\"auto, (max-width: 504px) 100vw, 504px\" \/><\/figure><\/li><\/ul><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>ALGOLOGIC \u00e9tait en charge de r\u00e9aliser une nouvelle application mobile, destin\u00e9s au t\u00e9l\u00e9phone Android, et permettant de r\u00e9aliser des sauvegardes et restauration de son t\u00e9l\u00e9phone. L&#8217;application, appel\u00e9e BackupMonster, permet de &#8230;<\/p>\n","protected":false},"author":1,"featured_media":242,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[11,10,12,9],"class_list":["post-237","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-applications-mobiles","tag-android","tag-application-mobile","tag-cloud","tag-developpement-mobile"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/algologic.fr\/en\/wp-json\/wp\/v2\/posts\/237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/algologic.fr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/algologic.fr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/algologic.fr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/algologic.fr\/en\/wp-json\/wp\/v2\/comments?post=237"}],"version-history":[{"count":2,"href":"https:\/\/algologic.fr\/en\/wp-json\/wp\/v2\/posts\/237\/revisions"}],"predecessor-version":[{"id":249,"href":"https:\/\/algologic.fr\/en\/wp-json\/wp\/v2\/posts\/237\/revisions\/249"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/algologic.fr\/en\/wp-json\/wp\/v2\/media\/242"}],"wp:attachment":[{"href":"https:\/\/algologic.fr\/en\/wp-json\/wp\/v2\/media?parent=237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/algologic.fr\/en\/wp-json\/wp\/v2\/categories?post=237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/algologic.fr\/en\/wp-json\/wp\/v2\/tags?post=237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}