Vous êtes sur la page 1sur 17

Jour 1 : Lundi 4 Janvier 2016

Matin :
- Rencontre avec Catherine Delmas et Pierre Delmas
- Prise en main du projet
- Installation des logiciels ncessaires (Android Studio, FileZila)
- Dbut de mise en forme du premier formulaire de commentaire d'un enseignant
Erreur sur le thme
Modification d'une ligne dans le style.xml :
Modifier
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

Par
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">

Aprs-midi :
- Cration de l'interface du formulaire
Nom de l'enseignant
Commentaire
Choix du stage
Utilisation d'un Spinner
Ajout des bouttons Ajouter Image et Termin
Positionns en fonction de la zone de texte, ainsi ils ne sont pas recouvert
par celle-ci lorsquelle s'agrandi
Jour 2 : Mardi 5 Janvier 2016
Matin :
- Rdaction du fichier php faisant le lien entre la base de donnes et l'application
Cration d'une base de donnes de test grce WampServer et PhpMyAdmin
Insertion d'enregistrement dans une table cre au pralable dans la base
Constat du retour de l'information en JSON grce au fichier php
Aprs-midi :
-Rdaction de la partie client sur l'application Android
Essai avec une mthode n'utilisant pas Async Task
http://blog.erlem.fr/android/30-android-connexion-a-mysql-a-l-aide-de-php
Cette solution ne fonctionne pas avec les nouvelles versions d'Android
Recherche de ressources pour utiliser Async Task et tests

Jour 3 : Mercredi 6 Janvier 2016


Matin :

Utilisation de l'mulateur ddi d'Android Studio : Android Virtual Device


- Renseigner le proxy afin que Android Studio puisse tlcharger correctement les
diffrents versions des images des machines :
Aller dans File > Settings > Appearance & Behaviour > System Settings > HTTP
Proxy
Cocher 'Manual Proxy configuration', entrer les paramtre du proxy et cliquer sur
'Apply'
- Cration des machines virtuelles
Cliquer sur 'Run 'app'' puis cocher 'Launch Emulator'
Ajouter un appareil en cliquant sur > Create Virtual Device
Choix des appareils :
Nexus 5 : 4,95''
Nexus 7 : 7,0''
Nexus 10 : 10,05''
ATTENTION : Chaque appareil sera par dfaut en version 6.0, d'Android !!!
- Pour utiliser la 4.0.3 ou toute autre version
Une fois un des priphrique choisi, la page 'System Image' s'ouvre, si la bonne
version n'est pas affiche il faut :
Cocher la case en bas droite 'Show downloadable system images'
Cliquer sur le 'Download' de la version souhaite, Android Studio s'occupe
du reste
- Par la suite il suffit de cliquer sur 'Run 'app'' > cocher 'Launch emulator > Selectionner la
machine souhaite
ATTENTION : A l'xcution, Android Studio peut planter l'application, s'en suit ce message
d'erreur :
Sur Android Studio se rendre dans le SDK Manager, Tools > Android > SDK
Manager puis dans la fentre qui s'ouvre aller dans l'onglet 'SDK Tools'
S'assurer que 'Intel x86 Emulator Accelerator (HAXM installer), rev 6.0.1 est bien
coch et en statut 'Installed', sinon le cocher et cliquer sur 'Apply'
Puis se rendre la ou le sdk est install (par exemple
C:\Users\xxxx\AppData\Local\Android\sdk) et lancer intelhaxm-android dans extras > intel
> Hardware_Accelerated_Execution_Manager
Suivre les instructions, si l'installation plante et fournit ce message d'erreur :
Aller dans le BIOS puis dans 'Advanced BIOS Features' et trouver l'option
'Virtualization Technology' et si elle ne l'est pas, la passer en 'Enabled'
J'ai donc choisi de m'orienter vers une autre solution pour muler mes machines de test

Installation de GenyMotion
Crtion d'un compte sur le site : https://www.genymotion.com/#!/
Tlcharger via un site quelconque le setup et installer GenyMotion
Renseigner les paramtres du proxy dans Paramtres > Rseau > Utiliser un

proxy HTTP
Ajout des terminaux virtuels correspondant aux besoins :
Google Nexus 7 4.1.1 API 16 800x1280 (Priphrique 7'')
Motorola Xoom 4.1.1 API 16 1280x800 (Priphrique 10,1'')
Samsung Galaxy S3 API 16 720-1280 (Priphrique 4,8'')
Inconvnient de cette mthode : Le choix de version et d'appareils est moins important
que celui propos par Android Studio, de plus pour une version donne certains appareils
ne sont pas prsent, ce qui mne au fait que pour une versions donne d'Android
certaines rsolutions ne sont tout simplement pas reprsentes par des appareils.
Avantage : GenyMotion est moins gourmand en ressources que Android Studio

Jour 4:Jeudi 7 Janvier 2016


Matin :
-Traitement de la rception de l'information envoye par le fichier php la partie client
Andoid
Depuis l'API 23 (version Marshmallow) beaucoup de fonctionnalits servant se
connecter en utilisant le protocole http ont t retires des librairies Android car elles
pouvaient apparemment causer des failles de scurit dans les applications.
Il faut donc se tourner vers une solution utilisant la bibliothque java
httpUrlConnection,
Aprs-midi :
-Rdaction du compte-rendu de stage
-criture du formulaire de rception des donnes ct client sur une application de test
Jour 5 : Vendredi 8 Janvier 2016
Matin :
- Poursuite de la rdaction du formulaire
Problme, les donnes s'affichant correctement sur la page .php dans le
navigateur ne s'affichent pas sur l'application alors que le chemin spcifi vers ce fichier
.php d'import est bon
Aprs-midi :
- Recherches pour la rsolution du problme
Aucune rponse sur Internet
Le problme venait tout de mme du chemin donn pour accder au fichier
d'import qui tait :
au lieu de :

- Rsultat :

Le rsultat n'est pas trs lisible car ici seul le JSON t import, il n'a pas
encore t analys par l'application.
Jour 6 : Lundi 11 Janvier 2016
Matin :
- Cration du 'parser JSON' qui permettra l'application de mettre en forme et d'interprter
les informations reus en JSON
Cration de la classe Enseignant dans l'application de test
- Cration d'une seconde application de test afin de mieux comprendre le fonctionnement
d'un JSON parser, celui-ci fonctionnant avec une Api en JSON, la structure est trs
similaire celle qui sera utilise pour l'application finale
Rsutat :

Aprs-midi :
- Cration de la classe patient pour stocker les donnes reues grce au parser
- Poursuite des recherches sur l'ordonnancement des donnes JSON grce un Parser
Jour 7 : Mardi 12 Janvier 2016
Matin :
- Plusieurs essais de modifier le Parser de l'application mto pour faire fonctionner
l'application sur la base de donnes de test
Les donnes JSON de l'api mto ne sont pas organises de la mme manire
que sur le JSON de la base de test, ce qui empche le fonctionnement du parser
Aprs-midi :
- Recherche sur comment modifi le parser actuel ou comment en re-crer un
fonctionnant pour la base de donnes utilise.

Jour 8 : Mercredi 13 Janvier 2016


Matin :
- Poursuite des recherches sur l'utilisation d'un parser
Aprs-midi :
- Android studio ne parviens plus envoy les applications aux diffrents priphriques
Vidage du cache d'Android Studio
Dsinstallation / Re-installation d'Android Studio
Dsinstallation de toutes les applications prsentent sur les priphriques
Jour 9 : Jeudi 14 Janvier 2016
Matin :
- Test de toutes les applications afin de voir quelles sont celles qui ont causer des
problme Android Studio et correction des concernes
Aprs-midi :
- Recherche de tutoriel sur l'export des donnes de l'application vers la base de donnes
- Reprise du spinner du formulaire de commentaire afin de le rendre plus visible et montrer
l'utilisateur que la zone est cliquable
- Modification du bouton termin qui maintenant ferme l'application et terme enverra le
commentaire et les images la base de donnes
Jour 10 : Vendredi 15 Janvier 2016
Matin :
- Comparaison de diffrentes librairies afin de convertir le JSON en un format de donnes
exploitable
Jackson
GSON
librairie stable fournie par Google
Ces deux librairies sont capables de convertir dans le sens JSON Java mais
aussi Java JSON, ce qui sera trs utile par la suite

Installation de la librairie GSON :


- Pour commencer, il faut aller tlcharger les trois fichiers ncessaires au
fonctionnement de la librairie :
gson-2.2.x.jar
gson-2.2.x-javadoc.jar
gson-2.2.x-sources.jar
Disponibles ici : http://search.maven.org/#artifactdetails%7Ccom.google.code.gson
%7Cgson%7C2.5%7Cjar
- Il faut ensuite aller dans le rpertoire de l'application et coller les trois fichiers dans
<nom de l'application> / app / libs

- Ceci fait, ouvrir le projet Android Studio et normalement les librairies sont visibles
dans la fentre project l'intrieur du sous-dossier libs
- Ensuite, aller dans File > Project structure, cliquer sur app puis sur l'onglet
dependencies
- Cliquer sur le petit + vert en haut a droite, slectionner file dependency et
l, aller cherche les fichiers dans le dossier libs de l'application
- Une fois les fichiers ajouts, il faut aller modifier le build,gradle qui se trouve dans
<nom de l'application> / app / src
- Il faut lui indiquer les dpendances que l'on ajoutes l'instant, pour cela, il faut
ajouter ce code la fin du fichier :
dependencies {

compile fileTree(include: ['*.jar'], dir: 'libs')


compile 'com.android.support:appcompat-v7:23.1.1'
compile files('libs/gson-2.2.x.jar', 'libs/gson-2.2.x-javadow.jar',
'libs/gson-2.2.x-sources.jar')
compile 'com.google.android.gms:play-services-appindexing:8.1.0'
}

- Aprs cela, veiller ce que les versions renseignes plus haut dans le fichiers
correspondent bien la version d'android vise et la version minimale de
fonctionnement pour l'application.
-Une fois tout ceci fait, pour commencer utiliser GSON il suffit d'utiliser ces
imports :
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

Aprs-midi :
GSON fonctionne
un tutoriel propose un petit jeu d'essais avec la classe GSON :
https://sites.google.com/site/gson/gson-user-guide

le problme est que lorsque l'on ajoute < \'' > dans une chane de caractres
cela fait planter l'application.
il faut donc trouver d'o viens le problme afin de pouvoir mener des tests plus
concluants

Jour 11 : Lundi 18 Janvier 2016


Matin :
- Rdaction des fiches hebdomadaires des semaines 1 et 2
- Rdaction du guide d'installation des librairies GSON
Aprs-midi :
- Remplacement des valeurs de test par le fichier JSON
Jour 12 : Mardi 19 Janvier 2016
- Suivi de tutoriels expliquants comment partir d'un fichier JSON rcuprer une liste ou
un objet
Le JSON de la base patient commence par ' [ ' et est suivi par ' { ', il contient
donc un tableau d'objets
Il faut donc utiliser JSONArray() pour obtenir un tableau
Jour 13 : Mercredi 20 Janvier 2016
Matin :
Cette mthode :

Est capable d'crire ceci :

Problme, elle ne trouve que le premier lment du fichier JSON et affiche dailleurs
que le tableau est de longueur 1
Aprs-midi :
- La mthode prcdente n'est apparemment pas la bonne
- Il faudrait utiliser l'outil db4o
Jour 14 : Jeudi 21 Janvier 2016
Matin :
- Reprise zro du TP n4 sur les taches asynchrones et les thread
la classe Async qui drive de la classe AsyncTask fonctionne correctement
Elle est appelle via l'activit ActImport qui lui fourni l'url du serveur
- Reprise du TP n3 sur les bases de donnes objets
Jour 15 : Vendredi 22 Janvier 2016
Matin :
- Application des connaissances apprises par les TP dans l'application de test d'import des
donnes JSON
Il apparat qu'une base de donnes objet (dcrite dans le TP n3) s'avre inutile
dans notre situation.
Aprs-midi :
- La solution prcdente tait donc plus ou moins correcte, il faut simplement russir
remplacer tout le texte instanciant l'objet patient par le fichier JSON
-Ce dernier commenant par '' [{ '' il faut commencer par crer un tableau ( [ ) contenant
des objets ( { ) qui eux mme contiennent les donnes (les paires nom : valeur)
Jour 16 : Lundi 25 Janvier 2016
Matin :
- Recherche sur la faon de faire en sorte de rcuprer l'objet dans le tableau de taille 1
sans avoir besoin de crer une liste entire
Aprs-midi :
- Rcupration des information d'un patient en utilisant la mthode qui permet d'aller
cherche une information pour un clef donne dans le fichier JSON (paire clef : valeur).
de la sorte, l'objet patient est cr et instanci avec les bonnes donnes
Jour 17: Mardi 26 Janvier 2016

Matin :
- Application de la solution trouve aux enseignants de la base de donnes de la
Colinre :
chaque enseignant possde un boolen qui est 'true' si il est administrateur,
sinon 'false'
ce boolen n'arrive pas s'instancier parce qu'il est contenu sous forme de 0 et
de 1 dans le JSON
solution : criture d'une condition instanciant les drits de l'enseignant en fonction
des 1 et des 0 pour les passer en 'true' ou 'false'
if (jsonObj.getString("droits").equals("1")) {
enseignant.setDroitsEnseignant(true);
}
else {
enseignant.setDroitsEnseignant(false);
}
Aprs-midi :
- Runification des deux applications (celle d'import de donnes et celle du commentaire
de l'enseignant)
Affichage du nom de l'enseignant en haut de la page ainsi que vous tes/ntes
pas administrateur de cette application en fonction des droits de l'enseignant pass dans
la requte du script php d'import qui a terme sera gr par l'cran de connexion.
Jour 18: Mercredi 27 Janvier 2016
Matin :
- Ecriture du script php qui permettra d'importer les stages de la base en fonction du code
d'un enseignant donn
Utilisation de la fonction recupererStagesParCodeEnseignant()
Elle renvoie un array de stages
Prend en paramtre le code d'un enseignant (int)
- Problme, mme en respectant les types dans le script php le navigateur affiche ceci au
lieu d'un JSON standard. On peu tout de mme voir le JSON, mais des caractres
unicode sont passs dans le fichier.

Aprs-midi :
Solution : Le problme venait du fait que la mthode toArray() n'avait pas t crer
auparavant, donc le rsultat ne pouvais pas tre converti en tableau affichable par le
navigateur.
Formatage de la rception de l'information dans l'application cliente :
Cration de la classe Stage qui sera implmente par les informations reuent
par le JSON
Jour 19: Jeudi 28 Janvier 2016
Matin :
Ecriture du script php utilisant la mthode :
recupererEtudiantsStagesParCodeEnseignant() qui permet de retourner une liste
d'etudiants par le code de l'enseignant en faisant un jointure par la table stage
Aprs-midi :
Cration de la classe Etudiant
Stockage des donnes rceptionnes par l'application Android dans une liste d'Etudiant
Jour 20 : Vendredi 29 Janvier 2016
Matin :
Trie des stages en fonction du code de l'enseignant en utilisant la table SQL
affectation qui attribut des codes de stages des codes etudiants. C'est cette table qui
fait la jointure entre Enseignant et Etudiant par Stage
L'application Android ne reoit maintenant que les stages en fonction du code de
l'enseignant renseign dans le script php simulant une connexion d'enseignant.

Jour 21 : Lundi 1er Fvrier 2016


Matin :
Poursuite du travail de vendredi, l'application affiche les donnes des tudiants en
rapport avec les stages assigns un enseignant
Aprs-midi :
Recherches sur comment afficher seulement le nom de chaque tudiants pour chaque
stage pour un enseignant dans un spinner
Problme, le spinner tant dclar dans l'activit principale, ce dernier
s'instancie avant que les informations n'aient eu le temps d'tre importes.
Jour 22:Mardi 2 Fvrier 2016
Matin :
ajout d'un boutton rafraichir qui r-initialise les donnes du spinner, mais ce dernier
n'arrive toujours pas tre rempli au lancement de l'application, il faut trouver un moyen
de le remplir ds que les informations sont disponibles
le spinner fonctionne mais les items sont cris en blanc sur fond blanc
C'est directement le code qui importe les donnes qui instancie le spinner, ainsi
on est certain que les donnes sont bien dans le spinner au bon moment.
Aprs-midi :
Recherche d'un tutoriel sur les spinner afin de rendre celui de l'application pleinement
fonctionnel et pratique
Car pour l'instant on ne peu pas rcuprer la valeur slectionne par l'utilisateur
Jour 23:Mercredi 3 Fvrier 2016
Matin :
Utilisation d'une fonction android dtectant le clic sur le spinner lorsque celui_ci est
ferm, lors de ce clique on charge les noms des tudiants dans le spinner
Le boutton rafraichir ne sert donc plus rien
Utilisation d'une fonction permettant de savoir quel item t slectionn par
l'utilisateur dans le spinner
Cration d'une classe Utilitaire permettant de rcuprer le rsultat de cette
fonction, car cette dernire ne peut pas retourner de valeur.
Aprs-midi :
Travail sur la mise en forme du formulaire afin qu'il soit plus user friendly
Recherches sur la cration d'un diteur de texte complet (texte en gras/italique/soulign
...) pour la zone de commentaire
Jour 24:Jeudi 4 Fvrier 2016
Matin :
Recherche sur comment rsoudre le problme
Cration de fichiers .xml ddis au style du spinner et celui des items qu'il contient.
Anisi le texte est enfin lisible.
Il fallut revoir la dclaration du spinner
Ajout d'un lment par dfaut dans le spinner :
Le tout premier item du spinner contient le texte Selectionnez un etudiant

ainsi, le ''texte par dfaut'' sera ce dernier. Car le spinner affiche toujours le premier item
quand rien n'est slectionn.
Aprs-midi :
Cration d'une application de test pour le formattage de la zone de commentaire
Il faudrait que l'utilisateur ai la possiblilit de formatter son texte (ex : italique,
gras, soulign)
Utilisation des balises html dans la zone de texte, ainsi que des fonctions
permettant de retourner la postion du pointeur
Lors du clic sur le boutton si rien n'est selectionn la balise ouvrante et la balise
fermante se placent la ou est le curseur et celui-ci est automatiquement replacer au millieu
de celles-ci.
Si une selection est faite, les balises vont automatiquement se placer au
dbut et la fin de la selection
Le boutton prvisualiser permet de voir le rendu du commentaire dans
une textView cot
Jour 25 : Vendredi 5 Fvrier 2016
Matin :
Mise au point sur l'application avec Mme Delmas
Intgration de l'application du commentaire formattable l'application android principale
Installation d'une scrollView permettant de naviguer plus aisment sur le
formulaire.
Des erreurs apparaissaient lors du clique sur un boutton type
souligner/gras/italique si le curseur ne se trouvait pas dans la zone de texte
try/catch afin d'ignorer les erreurs qui nempchent en aucun cas
l'application de fonctionner
Aprs-midi :
Recherches sur le problme de la touche entre du clavier du tlphone non reconnue
par l'application
Essaies avec le code de la touche <insert le code>
Utilisation de la valeur ENTER
Aucune des solutions ne fonctionne
STOCKAGE DU COMMENTAIRE DANS UN DOCUMENT TEXTE
EXPORT BASE DE DONNEES
CONNEXION BDD DISTANTE
FORMULAIRE DE CONNECTION
Jour 26 : Lundi 8 Fvrier 2016
Travail domicile pour cette semaine
Tlchargement d'android studio / genymotion / wampserver / filezila
Installation d'android studio / genymotion / wampserver / filezila
Jour 27 : Mardi 9 Fvrier 2016

Impossibilit de se connecter au serveur simul par WampServer, ce dernier retourne une


erreur de ce type :
<INSERT MESSAGE D ERREUR>
Aprs beaucoup de recherches, le problme venait d'un conflit avec une application sur
le port 80, port requit par WampServer pour fonctionner.
GenyMotion ne fonctionne pas non plus et renvoie une erreur lie une mauvaise version
de virtualBox
Le problme venait du fait qu'il manquait un pack d'addon oracle :
Oracle_VM_VirtualBox_Extension_Pack-5.0.10-104061.vbox-extpack
Jour 28 : Mercredi 10 Fvrier 2016
Rsolution du problme de la touche entre non reconnue en crer un bouton
entre directement sur l'application
Cration du formulaire de connexion comportant une comboBox avec les identifiants de
tous les enseignants de la base de donnes
Jour 29 : Jeudi 11 Fvrier 2016
Afin de rendre la connexion plus simple, la comboBox contient maintenant le code de
l'enseignant ainsi que son nom et son prnom.
En prparation de l'export vers la base de donnes, il faudrait tre capable de
rcuprer le code, le nom et le prnom sur le clique du bouton connexion
Problme, les informations de la comboBox tant gres dans une fonction hors
de l'activit, celles-ci sont donc inaccessibles, il faut donc procder un formatage par
dfaut afin de pouvoir tout de mme exploiter ces informations
Jour 30 : Vendredi 12 Fvrier 2016
Voici quoi ressemble le code permettant le formatage automatique des donnes
rcupres dans la comboBox :

Il fallut effectuer le mme traitement dans la comboBox du MainCommentaire


contenant les tudiants afin de rcuprer les informations de l'tudiant slectionn.
En utilisant une classe de stockage des informations : la classe nomme

Utilitaire
Il faut ensuite envoyer le rsultat de la saisie de la comboBox l'application
MainCommentaire.
Jour 31 : Lundi 22 Fvrier 2016
Le proxy automatique ne fonctionne pas
Passage sur le proxy des salles informatique des BTS SIO
Changement de machine, tlchargement des logiciels ncessaires pour travailler
problme avec le port 80 wamp n'arrive pas y accder cause d'une autre
application
il faut dsactiver le service sql
Jour 32 : Mardi 23 Fvrier 2016
Passage des paramtres de l'enseignant qui se connecte de l'activit de connexion a
celle du commentaire
Ses informations restent vides
Li aux asynctasks mal faites
Dpt des scripts php sur le serveur distant
Deux d'entre eux ne fonctionnent pas
L'un comportait une faute de frappe dans le nom de l'enseignant
recherch
Pour l'autre il manquait la mthode toArray() pour les enseignants
Mise en place d'une classe EnseignantConnect
Mise au point sur l'avancement du projet avec Mme Delmas et Mr Romeuf
L'application requiert une connexion constante ce qui est gnant
Ajout d'une base de donnes type dB4o
Jour 33 : Mercredi 24 Fvrier 2016
les scripts n'tant accessibles que via https, il faut changer la classe httpurlconnection
par httpsurlconnection
un probleme survient apparement sur la ligne du bufferedreader
le tout retourne une nullPointerException pour chaque appel la base
Jour 34 : jeudi 25 Fvrier 2016
Rception de l'application modifie par Mr Romeuf
Cration d'un dossier db4o dans les rpertoires de l'mulateur genymotion pour
que l'application puisse stocker en locale une base de donnes
le dossier et le fichier de stockage sont bien prsents, pourtant
l'application plante et dit que le fichier n'existe pas
Certaines lignes ne fonctionnent pas, notamment une erreur lie au fait que la
version de wamp est trop ancienne
Jour 35 : Vendredi 26 Fvrier 2016

Mise jour de wamp


Il manquait normment de .dll qu'il fallut installer
On ne peut pas acceder au fichiers php via le navigateur, lors de la saisi de leur
adresse dans la barre on obtient 404 not found
pourtant l'application qui utilise les multiples asynctask les trouve bien
Entretien avec Mme Delmas sur la fin du stage
Entretien avec pierre Delmas par skype sur la fin du stage

Ressource Android :
http://developer.android.com/guide/topics/resources/string-resource.html#q=escapedchar
https://googlegson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/JsonDeserializer.ht
ml

SPINNER COLOR DROPDOWN


http://www.broculos.net/2013/09/how-to-change-spinner-text-sizecolor.html#.VrMHEbLhCUl

LIENS :
Jonction Android PHP MYSQL
http://www.mybringback.com/android-sdk/12924/android-tutorial-using-remote-databasesphp-and-mysql-part-1/
Tuto Async task
http://www.tutos-android.com/asynctask-android-traitement-asynchrone-background
tuto general
http://sdz.tdct.org/sdz/creez-des-applications-pour-android.html
correction bug lignes
https://books.google.fr/books?
id=9CoUCwAAQBAJ&pg=PA102&lpg=PA102&dq=saisie+de+plusieurs+lignes+d
%C3%A9veloppement+android&source=bl&ots=RwCBS5-NGY&sig=GFzR7jgWHjRsgKHBsfevIhZAkI&hl=fr&sa=X&ved=0ahUKEwj5x-

XhgpXKAhXFNxQKHaYNDywQ6AEIKTAC#v=onepage&q=saisie%20de%20plusieurs
%20lignes%20d%C3%A9veloppement%20android&f=false
solution balises html dans le texte :
https://openclassrooms.com/courses/creez-des-applications-pour-android/tp-un-bloc-notes
http://www.throrinstudio.com/dev/android/formater-une-textview-avec-du-code-html/
concatener plusieurs lignes dans une base de donnes
http://www.journaldunet.com/developpeur/pratique/developpement/12307/commentconcatener-plusieurs-lignes-en-une-seule-chaine-dans-une-base-de-donnees.html
widget simples
https://openclassrooms.com/courses/creez-des-applications-pour-android/les-widgets-lesplus-simples
GSON
http://www.jmdoudoux.fr/java/dej/chap-gson.htm
JSON testeur
http://www.jsoneditoronline.org/
DOC JSON
http://docs.postgresqlfr.org/9.4/functions-json.html
conversion tableau
http://stackoverflow.com/questions/15609306/convert-string-to-json-array
upload images
http://stackoverflow.com/questions/5579186/how-to-upload-image-captured-from-camerain-an-android-app