Avant de découvrir les différents types de données que vous allez stocker, focalisons-nous sur le stockage local des données d’un téléphone.
Comprenez les avantages du stockage en local
Le stockage en local améliore l'expérience utilisateur tout en permettant à une application mobile de fonctionner de manière optimale. Voici les quatre principaux avantages du stockage en local.
Accéder aux données dans des conditions de connectivité difficiles
Lorsqu’on utilise une application mobile, l'accès à Internet et la disponibilité du réseau ne sont pas toujours garantis. De multiples raisons peuvent expliquer qu’on utilise une application sans réseau comme :
l’utilisation dans un lieu où l’activation du réseau est interdite pour des raisons de sécurité comme lors des phases de décollage et d'atterrissage d’un avion et ;
l’utilisation dans une “zone blanche”, c’est-à-dire un lieu non couvert par un réseau mobile comme des zones rurales ou souterraines.
Ne pas utiliser une application mobile à cause du manque de réseau peut s’avérer extrêmement frustrant pour un utilisateur. Si vous êtes vous-même consommateur d’applications mobiles, je suis sûr que vous en avez déjà fait l’expérience et que vous connaissez ce sentiment !
Permettre aux utilisateurs d’utiliser une application mobile hors-ligne est alors crucial pour une expérience fluide et sans accroc. C'est là qu'intervient le stockage local, un pilier fondamental pour les applications 100% hors-ligne.
Réduire la consommation des données mobiles ou wifi
En adoptant des pratiques de green code et en diminuant les appels réseaux faits par une application mobile permet de limiter son impact environnemental et vous fait participer, à votre échelle, à la mise en place d’une sobriété énergétique.
Réduire les coûts liés aux requêtes réseau
Les requêtes réseaux inutiles représentent un coût financier. Cela comprend l'hébergement de serveurs et le fait que chaque requête API consomme des ressources.
Protéger la vie privée de vos utilisateurs
Conserver les données sur l’appareil de vos utilisateurs, c’est réduire le risque de fuite des données et leur accès non autorisé par des tiers. C’est notamment pour répondre à ce besoin de sécurisation des données que les applications du type “gestionnaire de mots de passe”, peuvent stocker le mot de passe maître, uniquement sur le téléphone de l’utilisateur, jamais sur leurs serveurs.
Stocker des données localement se révèle donc être un élément essentiel pour le développement d'applications 100% hors-ligne performantes, sobres, fiables et sécurisées.
Découvrez les données multimédias
En tant que futur développeur logiciel, vous serez amené à manipuler et stocker localement de nombreuses données dont les trois types suivants : multimédias, primaires et complexes.
Parmi les différents types de données pouvant être stockés localement, les données multimédias permettent d’offrir une expérience utilisateur riche et immersive, que vous soyez en avion, dans le train ou dans un sous-sol !
Derrière le terme “multimédia” se cache en réalité une large variété de contenus ou médias dont les plus populaires sont l'image, le son et la vidéo. Cette liste n’est pas exhaustive mais vous permet déjà d’avoir une bonne idée du type de média associé.
Le tableau ci-dessous illustre des exemples d’utilisation de ces médias ainsi que quelques propriétés qui les caractérisent.
Type de média | Exemples d’utilisation | Caractéristiques à prendre en compte lors du stockage | Exemples liés à l’application PETiSoin |
Image |
|
|
|
Vidéo |
|
| Vidéos d’un album souvenir |
Son |
|
|
|
Connaître les caractéristiques d’un média est important pour les manipuler correctement et les stocker localement de la meilleure des manières. Vous allez devoir trouver pour vos utilisateurs le meilleur compromis entre la qualité du média et la taille du fichier. Ce genre de problématique est, par exemple, omniprésente dans les applications de type VoD (vidéos à la demande) qui implémentent une fonctionnalité download-to-go, c’est-à-dire la possibilité de télécharger des vidéos pour les regarder sans connexion Internet.
Découvrez les données primaires
Les données primaires sont des informations élémentaires, sous forme de valeurs unitaires. Il s’agit des types primitifs que l’on retrouve dans le langage de programmation Java et des types basiques que l’on retrouve dans le langage de programmation Kotlin. Voici une liste exhaustive des données primaires manipulées par les applications mobiles.
Nombres entiers
On retrouve tout d’abord les nombres entiers qui en Java, comme en Kotlin peuvent être de différents types en fonction du besoin fonctionnel auquel l’application répond.
Java | Kotlin | Exemple d’usage dans l’application PETiSoin |
|
| Âge de l’animal |
Nombres flottants
Dans la continuité des nombres entiers, on retrouve les nombres flottants, c’est-à-dire des nombres décimaux. À l’instar des nombres entiers, les nombres flottants peuvent être de types différents en fonction du besoin auquel ils répondent.
Java | Kotlin | Exemple d’usage dans l’application PETiSoin |
|
| Poids de l’animal |
Caractères
Les nombres, qu’ils soient entiers ou décimaux, ne sont pas les seules données primaires que l’on retrouve. Nous pouvons ajouter les caractères à cette liste qui permettent, dans le cadre d’une utilisation en Java ou Kotlin, de stocker une lettre, un chiffre, un caractère spécial ou encore un caractère unicode.
Java | Kotlin | Exemple d’usage dans l’application PETiSoin |
|
| La première lettre du nom de l’animal |
Booléens
Très utilisés en informatique, les booléens font également partie des données que l’on qualifie de primaires puisqu’ils permettent d’exprimer une valeur unitaire : vrai ou faux.
Java | Kotlin | Exemple d’usage dans l’application PETiSoin |
|
| Un indicateur pour savoir si l’animal est vacciné (vrai/faux) |
Chaînes de caractères
Finalement, bien qu’en Java ou Kotlin on ne les associe pas aux types primitifs ou basiques, le dernier type de données primaires est les chaînes de caractères. Elles permettent de manipuler plusieurs caractères comme un mot ou encore des phrases complètes.
Si pour les précédents types de données primaires, Java et Kotlin présentaient des différences syntaxiques, les deux langages proposent le même mot-clé pour manipuler des chaînes de caractères :String
. Dans le contexte de notre application PETiSoin, des remarques générales sur l’animal (par exemple “adore les longues promenades”) peuvent s’exprimer sous forme de chaînes de caractères.
Découvrez les données complexes
Terminons notre tour d’horizon des données par les données complexes.
Les données complexes, que l’on peut opposer directement aux données primaires, sont des structures de données plus élaborées qui représentent des informations plus riches et plus interconnectées.
Elles peuvent adopter une infinité de formes. Vous proposer une liste exhaustive à l’image des données primaires est mission impossible ! Mais ne vous inquiétez pas, je ne vais pas vous laisser seul avec cette information. Il est possible d’illustrer les données complexes à l’aide de quelques exemples.
Le premier exemple, qui illustre parfaitement ce qu’est une donnée complexe, est directement lié au domaine de l’ingénierie logicielle puisqu’il s’agit des objets.
L’objectif est alors de décrire leurs différentes propriétés. Si on prend l’exemple du vélo, on peut imaginer les propriétés suivantes : la couleur, la marque, le modèle, la taille des roues, le nombre de vitesses, le poids, la nature des freins (v-brake, à disque), etc. Ici, l'ensemble des propriétés est en réalité une composition de données primaires :
La couleur, la marque et le modèle sont des chaînes de caractères.
Le poids est un nombre flottant.
Le nombre de vitesses est un nombre entier.
Le second exemple qui illustre parfaitement ce qu’est une donnée complexe est les listes. Il s’agit de structures de données complexes qui permettent de stocker un ensemble d'éléments. En effet, les listes peuvent être homogènes, c’est-à-dire qu’elles contiennent uniquement des éléments d’un seul type comme des données primaires (une liste de nombres entiers ou une liste de chaînes de caractères, etc.) ou des données complexes (une liste de chiens avec les âges, les espèces, les couleurs, etc. ou une liste montrant un historique d’achats avec les articles achetés, leur prix, etc.). Mais on peut aussi imaginer des listes hétérogènes, c’est-à-dire une liste qui combine des données primaires de nature différente (chaîne de caractères et nombres entiers) ou une liste de données complexe de nature différente (des chiens, des chats, des poules et des canards). L’ensemble de ces possibilités rend les collections plus ou moins sophistiquées.
À vous de jouer !
Contexte
L’application PETiSoin, de par sa nature, est amenée à manipuler de nombreuses données.
Considérons la rubrique “Santé” de l’application qui permet aux propriétaires d’un animal de compagnie d’enregistrer les exercices quotidiens de leur animal.
Cette fonctionnalité permet d’afficher une liste d’animaux. Chaque animal présente un certain nombre de caractéristiques, comme :
un type (chat, chien, lapin) ;
une race (Persan, Siamois, Berger allemand, Lapin Nain, Géant des Flandres, etc.) ;
un poids en kilogrammes ;
une taille en centimètres et ;
une couleur.
Maintenant, un utilisateur peut aussi renseigner les exercices quotidiens de son animal et notamment les informations telles que :
la durée des exercices en minutes ;
le type d’exercice (promenade en forêt, canicross, nage, etc.) parmi une liste prédéfinie de valeurs et ;
la date et l’heure de début de l’exercice.
Votre toute première mission est de comprendre et de classer tous les types des données qui vous ont été fournies.
Consignes
Listez l’ensemble des données que vous avez en votre possession.
Déterminez leur nature (multimédias, primaires ou complexes).
Déterminez les types de chacune des données (chaînes de caractères, objet…).
Livrables
Vous pouvez classer les données dans un tableau.
En résumé
Stocker des données localement offre de nombreux avantages comme l’accès aux données même dans des conditions de réseaux dégradées, la réduction de la consommation de données ou encore la protection de la vie privée des utilisateurs.
Les données multimédias, comme les images, les vidéos ou l’audio, offrent une expérience utilisateur riche et immersive. Elles peuvent être d’une multitude de formats.
Les données primaires (booléens, nombres, caractères et chaînes de caractères) sont des éléments simples qui correspondent aux types primitifs de Java et aux types basiques de Kotlin.
Les données complexes, comme les objets ou les listes permettent de modéliser des informations plus sophistiquées comme un animal et l’ensemble de ses caractéristiques (poids, âge, race, couleur, etc.).
Il est temps maintenant de vous faire découvrir les différentes options disponibles pour stocker des données sur un appareil mobile, en examinant leurs avantages, leurs inconvénients et leurs cas d'utilisation spécifiques.