Découvrir le Service Worker

Le Service Worker est une nouvelle technologie encore expérimentale qui va faire avancer les webapps et sites internet.

Le Service Worker répond à un besoin spécifique : garder une page web active lorsque le réseau est indisponible.

Le Service Worker, qu’est-ce que c’est  ?

Le Service Worker est un script qui va fonctionner en parallèle des scripts de la page internet. Il se place en proxy et va récupérer les données du LocalStorage (Protocole de votre page Web). Grâce à ces données , le Service Worker va vous permettre de naviguer sur votre page Web  même si vous n’avez pas ou plus accès à un réseau internet.

Concrètement, si nous devions imager, votre page web est une maison. Celle-ci a normalement besoin d’électricité (connexion internet) pour fonctionner. Or,  si la centrale ne fonctionne plus, vous pouvez quand même utiliser de l’électricité dans votre maison grâce à une batterie de secours (Service Worker).

On retrouve les Services Worker notamment dans les Progressives Webapps.

Attention : Les Services Workers restent encore expérimentaux. Ils ne sont donc pas encore compatibles avec tous les navigateurs. Pour le moment seul Google Chrome et Mozilla Firefox sont compatibles avec les Services Workers

Développement spécifique : Application native ou hybride, que choisir ?

C’est la grande question qui revient au sein de nos clients. Devons-nous développer une application mobile native ou hybride ? Chacune des deux options a ses avantages et ses inconvénients.

La réponse : Cela dépend de votre projet !

L’application native : Performante mais plus coûteuse 

L’application native est une application mobile que l’on télécharge et que l’on installe ensuite sur son smartphone ou sur sa tablette. Chaque plateforme (IOS, android…) a son propre langage.

  •  IOS : Objective-C ;
  •  Android : Java ;
  • Windows Phones : C#.

Cette application est dite native car elle va  pouvoir accéder aux fonctionnalités du support comme par exemple le GPS, l’appareil photo et notamment au hardware. Les applications natives seront  plus performantes  que les applications hybrides.

Le hic ? Si vous souhaitez avoir une application mobile native et que vous voulez qu’elle soit disponible sur toutes les plateformes, il faudra concevoir des applications bien distinctes car ce ne sont pas les mêmes langages utilisés pour lors du développement sur IOS ou sur Android.

Cela entraîne donc des coûts de production qui seront plus élevés que pour une application hybride.

L’astuce : suivant votre marché, il est intéressant de se demander qu’elle plateforme utilise votre cible. Si elle utilise à 80% Android, le développement d’une seule application peut suffire dans un premier temps.

L’application hybride : moins performante mais moins chère  

L’application hybride est une application à mi-chemin entre les Webapps et les applications natives.

Petit rappel : une Webapp est un logiciel applicatif hébergé sur un serveur et accessible depuis un navigateur Internet. Elle est adaptée pour les terminaux mobiles grâce à une bonne ergonomie et à certaines fonctionnalités spécifiques.  Une Webapp ne peut pas fonctionner sans connexion Internet. Les webapps sont développées une seule fois avec de l’open web HTML5, Javascript et CSS.

Une application hybride est donc à mi-chemin entre une application native et une webapp. Il s’agit de développer une application avec la même technologie qu’une webapp,  puis de l’encapsuler pour en faire une application mobile, que l’on peut installer via les stores. L’application hybride sera fonctionnelle avec une bonne ergonomie sur tous les supports sans avoir à développer une application pour chaque plateforme.

Contrairement aux webapps, dans une application hybride, on vient intégrer une couche de code natif pour permettre à l’application de pouvoir utiliser les fonctionnalités du support (appareil photo, GPS…).

Le hic ? Les applications hybrides coûtent moins cher mais sont en revanche  moins performantes que les applications natives. Suivant votre projet, il se peut que vous ne puissiez pas développer une application hybride en raison de contraintes technique (utilisation de capteurs du téléphone…)

Par exemple, si vous souhaitez développer une application pour objet connecté et que cette application soit sur IOS et Android, il faudra surement privilégier l’applications native. Les langues de communications entre l’API de l’objet et les smartphones vont changer en fonction de votre plateforme.

Comme dit précédemment, votre choix dépendra de votre projet !

Si vous souhaitez avoir plus d’informations ou  poser quelques questions, c’est ici. Notre équipe se fera une joie de vous répondre.

Technologie : Comprendre le Big Data

Le Big Data : Qu’est-ce que c’est?

Le Big Data, aussi connu sous le nom de mégadonnées, désigne l’ensemble des données numériques produites par l’utilisation des nouvelles technologies à des fins personnelles ou professionnelles. L’expression Big Data commence en 1997 avec l’Association for computing machinery. En 2001, Doug Laney décrit les Big Data d’après les « trois V »

– volume (quantité de donnée)

– variété (type de données récoltée : image, vidéo, adresse…)

– vélocité (fréquence à laquelle les données sont générées)

L’exploitation du Big Data a ouvert de nouvelles perspectives dans de nombreux domaines : science, commerce, finance… Grâce à des outils analytiques, les utilisateurs du Big Data (entreprise, chercheurs…) peuvent faire des analyses prédictives afin de prédire des pannes par exemple. Le marché du Big Data est un marché en croissance estimé à plusieurs milliards de dollars.

Conçu par Freepik
Big Data et entreprises

L’usage du Big Data en entreprise répond à plusieurs objectifs comme l’amélioration du service client, l’optimisation des processus ou la performance opérationnelle. Toutes entreprises a, aujourd’hui, avantage à tirer partie du Big Data. Cette technologie représente un enjeux commercial conséquent car à partir du Big Data, il devient possible de prédire des comportements d’achats. C’est comme ça que certaines entreprises comme Amazon peuvent vous proposer une liste de produit susceptible de vous plaire. Le stockage et l’analyse de toutes leurs données récoltées vont leur permettre de savoir si un client avec vos profils (historique) d’achats sera intéressé par tel ou tel produit en fonction des choix effectués par des utilisateurs ayant le même profil d’achat que vous.

Un marché entier s’est développé autour du Big Data. Certaines entreprises ce sont spécialisées dans la collecte de données afin de pouvoir les revendre à d’autres entreprises. Par exemple : Niantic a réussi un coup de maître avec l’application Pokemon Go. Grâce à celle-ci, vous êtes localisé où que vous soyez. Votre adresse mail, nom, prénom, liste de contact, tout est collecté, stocké puis revendu à d’autres entreprises.

Un business très juteux pour celui qui sait en tirer parti.

Le machine learning : Qu’est-ce que c’est ?

 

Définition :

Arthur Samuel : « Field of study that gives computers the ability to learn without being explicitly programmed »

En Français : « Champ d’étude qui donne aux ordinateurs la capacité d’apprendre sans être explicitement programmés à apprendre »

CONCRÈTEMENT

Le Machine Learning est un sous domaine de l’intelligence artificielle. Une nuance est à faire car toute intelligence artificielle n’est pas un machine learning. Il existe d’autres protocoles d’apprentissage que nous ne traiterons pas dans cet article.

Designed by Freepik

Le Machine Learning  est un ensemble d’algorithmes utilisables. En fonction de ce que l’on souhaite, nous allons assembler différents algorithmes ensemble.  l’objectif étant d’obtenir, grâce à l’apprentissage, des prédictions à un problème connu.

L’apprentissage se fait par l’exemple, nous allons d’abord fournir des données avec un résultat connu. Plus le Machine Learning aura des données, mieux il apprendra. A partir d’un certain niveau d’apprentissage, les algorithmes vont pouvoir prédire des résultats.

Prenons Netflix  pour exemple :

Vous regardez des films sur Netflix, chaque film correspond à une catégorie (horreur, comédie…). Plus vous allez regarder de films ou séries plus vous donnerez des données au Big Data de Netflix. Ces données iront alimenter le Machine Learning qui produira des résultats en fonction d’une question posé (Quel contenu aimerait l’utilisateur ?…).

 En fonction de ces résultats, Netflix sera en mesure de vous proposer du nouveaux contenus qui sera adapté à vos goûts et qui aura donc la plus grande probabilité d’être visionné par vous.

En plus :

Basé sur une autre technologie, une étude menée par une équipe de chercheurs du Georgia institute of technology a essayé d’apprendre à une intelligence artificielle de recréer un jeu vidéo en regardant quelqu’un jouer.

N’ayant pas accès au code du jeux vidéo, l’intelligence artificielle a observé les pixels du jeu afin d’apprendre et de le reproduire.

Cette technologie a permis à l’intelligence artificielle d’apprendre par l’exemple en observant. L’intelligence artificielle a pu recréer le jeux video en développant des règles pour chaque action du jeux.

Cela laisse envisager des progrès considérable dans le développement de l’intelligence artificielle et de l’interaction homme-machine.