5139 sujets

Le Bar du forum

Bonjour,

Je viens d'être contacté pour concevoir une application qui ressemblerait fort à un google forms amélioré.

Il s'agit de pouvoir saisir des réponses à un questionnaire.

Question 1
Colonne 1 | Colonne 2 | Colonne 3 | etc
Oui/Non | Oui/Non | Oui/Non | Oui/Non

Question 2
Colonne 1 | Colonne 2 | Colonne 3 | etc
Oui/Non | Oui/Non | Oui/Non | Oui/Non

etc...

La saisie est liée à une période (année) et doit se faire en comparant les données (en visualisation) de N-1 si saisies.
La saisie doit pouvoir se faire sans connexion internet avec rapatriement et fusion au retour.

Je m'interroge quant au développement du projet. J'ai de suite pensé à Google forms au vu de la non complexité apparente du CDC.

Est-ce que Google Forms est utilisé professionnellement parlant, j'entends dans un domaine applicatif et non uniquement marketing ?
Est-ce que Google Forms a des concurrents plus adaptés au projet ?
Est-ce qu'il existe des outils comme Google Forms avec BDD privée sur serveur propre (vs cloud) ?

S'il s'agissait d'une application complexe je m'orienterais vers un développement plus classique mais j'ai l'impression que la simplicité de la demande permettrait d'utiliser un outil de création de formulaire existant.

Merci d'avance pour vos réponses à mes questions
Smiley smile
Modifié par Manhattan (12 Jul 2016 - 12:07)
Bonjour

la complexité du projet repose là :

Manhattan a écrit :

La saisie doit pouvoir se faire sans connexion internet avec rapatriement et fusion au retour.


Alors oui c'est un formulaire simple... type google forms, mais déjà google form ne présente pas de sécurité particulière. De plus il est obligatoirement en ligne.

Donc tu peux oublier.

Ensuite il faut se concentrer sur cette problématique de rapatriement des réponses hors ligne.

Quel sera le mode de déploiement du formulaire ? si c'est hors ligne de quelle manière est il mis à disposition ?
Quel sera le moyen et la méthode envisagée pour le rapatriement ?

bref énormément de question qui du coup ne sont peut être pas dans le CDC et c'est là que ça devient compliqué et demande une longue réflexion professionnelle.
Dans le cas d'une webapp, existe t-il une méthode particulière pour enregistrer des données en local lorsque pas d'internet, puis les fusionner dès qu'une connexion est disponible ?
Le développeur à qui je vais refiler le bébé me parle d'appli mobile mais je pensais que c'était faisable aussi sur le web (l'aspect pas de connexion et fusion ensuite).
Modérateur
Bonjour Manhattan,

Manhattan a écrit :
Dans le cas d'une webapp, existe t-il une méthode particulière pour enregistrer des données en local lorsque pas d'internet, puis les fusionner dès qu'une connexion est disponible ?

Voila des jours que je suis ton sujet pour lequel, je l'avoue, j'ai du mal à cerner. Toutefois, et au risque de dire une bêtise, cette question me fait penser au Local Storage.

Ce qui m'étonne, c'est de sembler être le seul à y avoir penser. Pourquoi ? Smiley confused
Merci pour cette piste Greg, je vais potasser cette notion que je ne connais pas.
Pourquoi le seul à y avoir penser ?
Probablement parce que j'ai mal présenté le sujet, que nous sommes en période estivale...

En fait, je n'envisage pas particulièrement de développer l'appli vu que j'ai dans mes contacts un ami qui est dév indépendant orienté webapp, mais j'ai d'abord voulu défricher le sujet avant d'orienter ce prospect afin de savoir déjà si aucune solution de type cloud open source ne lui suffisait pas. Parce que des questionnaires, ça reste assez basique.
Maintenant, je continue de rechercher de l'info même si c'est mon pote qui va probablement s'occuper de la partie app et moi qui récupérerai la conception du site.

Moi franchement, depuis le début, un truc m'a de suite fait tilt : la personne saisissant les données d'un client est la seule à pouvoir accéder en écriture/modification aux données de ce client. Les autres peuvent consulter mais pas modifier. Avec un élément aussi clair, je me suis dit : eh bien enregistrement dans une base temporaire, et au retour écrasement en ligne des infos relatives au client.
Modérateur
Je viens de retrouver les Recommendations du W3 sur le LocalStorage (en anglais) ; ça devrait t'aider pour ton étude.

Cette technologie semble correspondre à ta demande.
Les données sont stockées sous forme de Bdd*, tu peux créer diverses tables, les données enregistrées sont propres à l'utilisateur, elles restent stockées hors-ligne et sont programmables (on peut leur appliquer une durée de vie à l'instar des cookies ou les limiter à la session en cours).

Par contre :
Il semble indispensable que l'interface pour rapatrier (entre-autre) les données soit en JS ; ce qui n'est pas réellement un problème dans la mesure où c'est activé par défaut depuis des années sur tous les navigateurs.
Il est tout aussi indispensable que le navigateur digère le Html5 ; c'est le cas depuis des années donc là encore faux problème.
Les données ne sont pas particulièrement sécurisées (dans tous les sens du terme) ; mais cette technologie, que l'on peut coder sous forme d'un "module" (comme une classe, une fonction voire même via une interface) va pouvoir être couplée très facilement avec toute autre technologie liée à la sécurité (par ex. cryptage, validation à 2 niveaux, utilisation de jetons etc) et ce à tout niveau (côté client, côté serveur et directement sur le flux [http2.0, cryptage...]).
En clair, je ne vois pas de point vraiment négatif.

Le résultat en serait une fonctionnalité fiable, maintenable et exportable : que du bonheur !

Ce serait pour moi, je le ferais moi-même mais il existe nombre de scripts libres qui assument cette fonctionnalité si toi (ou celui à qui tu refile le bébé) dispose d'un temps relativement court.

Smiley smile

* j'entends par là que les données peuvent-être traitées de la même manière que si elle proviennent d'une Bdd donc aucun outil supplémentaire à prévoir pour cette tâche.
Modifié par Greg_Lumiere (23 Jul 2016 - 10:51)
Et bien je te remercie, je vais parler de tout ça au dév qui le connait peut-être déjà mais au moins je pourrai comprendre les tenants et aboutissants.
Merci ^^