Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 07-02-2018 15:00:21

hyrr0
Membre
Distrib. : Debain stable
(G)UI : XFCE
Inscription : 12-01-2018

Application Android sans création de compte utilisateur (stateless)

Bonjour à tous et à toutes!

Voilà, je me lance dans un petit challenge. J'ai déjà une petite expérience en matière de dev web mais jamais en dev mobile. Je voudrais tester de dev une application android native.

Je souhaite tester le dev de bout en bout et pas juste afficher un bouton et Hello World! quand on clique dessus... je voudrais aller de l'authentification jusqu'à l'utilisation d'une appli. J'ai envisagé le projet suivant : Une appli basique de suivi de course.

Le client s'authentifie puis déclare qu'il commence une nouvelle session de course. Le client enregistre le temps et les coordonnées GPS. A la fin, le client informe de la fin de sa session. Les données sont envoyées au serveur  créé pour l'occasion en Go + MongoDB.

Globalement, je vois très bien comment aborder la question. Le seul point noir que j'ai c'est l'authentification. D'où ma question: Comment font les applications Android qui n'utilisent pas de compte utilisateur?

Est-ce que Google fournit un système d'authentification via un compte utilisateur (solution parfaite puisque, en cas de changement de téléphone, le client garde son compte). Ou bien je dois mettre en place un système basé sur l'identifiant unique du device et créer des tokens à la OAuth ou JWT ?

Merci de m'avoir lu jusqu'ici et pour l'aide éventuelle que vous pourrez m'apporter dans le domaine smile

A charge de revanche sur du web! big_smile

Hors ligne

#2 07-02-2018 15:44:45

Artheriom
Membre
Lieu : Clermont-Ferrand
Distrib. : Debian Stretch
Noyau : Linux 4.9.0-5-amd64
(G)UI : Gnome3
Inscription : 29-01-2018
Site Web

Re : Application Android sans création de compte utilisateur (stateless)

Yop,

Je pense que le mieux à faire pour toi est de jeter un oeil au système de connexion centralisé de Google, que tu peux implémenter sur tes API :  https://developers.google.com/identity/
Tu peux aussi sinon gérer toi même avec ton propre système d'authentification (auquel cas ton serveur doit aussi gérer le biniou, avec une table utilisateur), ou tu peux couper la poire en deux en gérant ton propre système d'authentification (via ton serveur), mais en faisant appel à un truc déjà éprouvé pour, par exemple, Keycloak.

Perso, vu que tu veux faire une appli Android, je te conseille la première option. Le système de connexion de Google te permettra de récupérer un identifiant unique par utilisateur pour gérer ta base de données.

Si tu veux te baser uniquement sur l'ID unique du téléphone, alors ton idée d'un système client/serveur est "stupide", car au final, l'utilisateur n'aura pas accès à ses données en dehors de son propre téléphone. Auquel cas, tu peux carrément charger une lib qui gère un fichier SQLite sur le téléphone client et donc te soustraire de toute la partie serveur.

Dans tout les cas, les avantages et les contraintes :
Centralisé via Google :
+ Gestion des comptes simple
+ Possibilité de synchro
- Tu va probablement saigner un peu en te tapant la doc de Google Identity Platform

"Standalone" :
+ Plus simple
+ Pas de serveur
- Pas de synchronisation

Dans tout les cas, bon courage. wink

En ligne

#3 07-02-2018 16:18:15

hyrr0
Membre
Distrib. : Debain stable
(G)UI : XFCE
Inscription : 12-01-2018

Re : Application Android sans création de compte utilisateur (stateless)

Merci Artheriom.

Alors oui, l'idée du serveur est stupide mais le but c'est justement de mettre en pratique client/serveur. Apprendre Golang en poussant un peu. Apprendre Mongo car j'ai vu que ça gérait les données géospatiales (coordonnées GPS par exemple) et le tout avec une appli Android. Autrement dit, trois trucs que je connais pas en un! big_smile

Maintenant, je suis le premier à trouver ça chiant quand il faut créer un compte! Des comptes j'en ai partout. En plus j'oublie les mots de passe à chaque fois! Donc j'ai un gestionnaire de mot de passe... donc quand je dois me connecter, bah au lieu de taper mon mdp faut que je me connecte sur le gestionnaire... puis sur mon appli. Bref, la création de compte c'est chiant à mourir ! Pour tout le monde! Et quand je télécharge une appli sur le store et qu'elle me demande de créer un compte : je la supprime (sauf si c'est une appli "importante").

Du coup, j'essaie de comprendre comment faire "autrement" sans rien changer pour l'utilisateur.

Je vais essayer de regarder ce que tu me propose avec Google. T'as déjà essayé toi? Des références? Genre tutos / vidéos youtube sur le sujet ? smile

Hors ligne

#4 07-02-2018 16:22:13

Artheriom
Membre
Lieu : Clermont-Ferrand
Distrib. : Debian Stretch
Noyau : Linux 4.9.0-5-amd64
(G)UI : Gnome3
Inscription : 29-01-2018
Site Web

Re : Application Android sans création de compte utilisateur (stateless)

Google est justement un bon compromis à ce sujet, car a évite de devoir encore créer des comptes, etc, etc... wink

Euh, je dois avoir ce genre de trucs sur un de mes autres PC, je jette un coup d'oeil à ça tout à l'heure ou demain, selon mon temps dispo. wink

En ligne

Pied de page des forums