L’école Supérieure privée d’ingénierie et de technologie
PROJET DE FIN D’ETUDES
Présenté en vue de l’obtention du titre
D’INGENIEUR EN INFORMATIQUE
Par
Ahmed El-feki
Effectué à l’entreprise
Encadrant de l’université : Mr Karray GARGOURI
Encadrant de l’entreprise : Mr Houssem Ksontini
Janvier 2015
L’application mobile
Book My Night
destinée aux
platformes
iOS et android
Version mobile du site web
www.bookmynight.fr
L’écran d’accueil
(.psd)
Le menu principal
‘Quick menu’
(.psd)
Le menu détail soirée
(.psd)
Le menu de réservation
(.psd)
Le menu des soirées
Avec les filtres de date
Et de la ville
(.psd)
Le menu de
l’authentification
(.psd)
L’espace privé de
l’utilisateur
(.psd)
Les quatres étapes de l’inscription
(.psd)
L’icône de l’application
(.png)
Le SplashScreen
(retina / non-retina)
(.png)
Le framework de développement Cross-plateformes
Titanium Appcelerator
Pourquoi Titanium ??
Différents types d'applications mobiles
(Natives, Hybrides et Web)
Comparaison entre les différents types
d'applications mobiles
Et donc, que choisir??
La Solution  Le développement
Cross-PLateformes
:
Frameworks
de développement cross-plateformes
• Les plateformes prises en charge
• L'accès aux options avancées du téléphone
• La faisabilité au long terme
• Le look & feel : natif ou web..
<<Par opposition aux applications développées avec titanium PhoneGap
n'utilise pas des composantes UI natives. L'usage du CSS pour imiter
l'apparence native d'une plateforme exige une grande quantité de travail
manuel. La feuille de style standard jQuery Mobile essaie d'imiter
l'apparence et les sensations iOS (le look & feel) mais ce n'est pas réussi>>
• La rapidité des applications
• Sa distribution : s'il profite d'un app store..
~~ ~~ ~~
Critères spécifiques de comparaison
entre frameworks cross-plateformes
 La plus grande large communauté de développeurs.
 Utilise les technologies web standards (Javascript / CSS).
 Prends en charge les plateformes mobiles les plus populaires.
Raisons de choix
de Titanium appcelerator
Choix de la méthodologie..
Design Pattern MVC Alloy
• Priorité aux personnes et aux interactions sur les
procédures et les outils.
• Priorité aux applications fonctionnelles sur une
documentation pléthorique.
• Priorité de la collaboration avec le client sur la
négociation de contrat.
• Priorité de l'acceptation du changement sur la
planification.
Fondements de la méthode Agile
 Le client n’a pas d’exigence à la formalité
(pas de cahier de charge, juste des .psd..
et pas de diagrammes)
 Il a proposé des changements à fur
et à mesure de l’avancement de la réalisation.
 Il a effectué le contrôle de l’avancement toutes
les semaines..
 Notre équipe dépourvue d’expérience du développement
mobile préfère la collaboration rapprochée avec le client.
 Le projet lui-même ne demande pas de conception :
puisque la partie serveur était déjà faite.
Pourquoi la méthodologie
était l’agile ?
Choix de la méthodologie agile..
Méthode Contribution
Extreme Programming Pratiques simples, tests récursifs
Internet-Speed Developement
Equipe de développement large divisée en
petites équipes
Scrum
Diviser l'effort de développement et gérer
des cycles de développement courts
Analyse Des Besoins
Diagramme de contexte statique
Diagramme de cas d’utilisation global
Date picker pour ios 6 & 7
Date picker pour androidSpécifications Fonctionnelles
Diagramme de Cas d'utilisation
<<Afficher les clubs>>
Diagramme de Cas d'utilisation
<< s'authentifier >>
Diagramme de Cas d'utilisation
<< réserver une soirée >>
Catégorie utilisateur > catégorie soirée
Catégorie utilisateur < catégorie soirée
Diagramme
de séquence
système
global
simplifié
Spécifications NON-Fonctionnelles
 Le ‘Responsive – Design’
 Le contrôle des états des faibles connexions
et des déconnexions
 Le contrôle de la validité des données retournées
par le serveur.
 Le contrôle de saisie.
 L’internationalisation (support des langues Fr & En)
 Le respect de la charte graphique
 La persistance de l’état de l’authentification après
le redémarrage de l’application
 Consommation optimisé en mémoire.
Ergonomie de l’application, Souplesse de la navigation
et l’esthétique dynamique.
La conception
L’ architecture 2-tiers
Communication
avec les web
services
Base de
données de
bookmynight.fr
L’application
Bookmynight
Vue Statique :
Diagramme
de classes
Vue comportementale :
Structure de navigation
Diagramme
de séquence
de
l'authentifica
- tion avec
facebook
Conception de l'architecture
graphique de l'IU
Conception avancée relative
aux besoins non-fonctionnels
Gestion de la communication application-serveur
Redémarrage
Authentification automatique après redémarrage
Le widget animé indiquant
l'indisponibilité de la connexion
Gestion de la connexion
La réalisation
L’apprentissage du framework
L’environnement de développement
Choix des configurations d'écrans cibles
 3,5" (DVGA avec une résolution de 960x640 pixels
et un aspect ratio 3:2) avec un écran non-retina
les écrans 3,5" retina (iphone (Retina 3,5-inch) :
la génération iphone 4 : 4 et 4s
 les écrans 4" retina (1136×640) (iphone (Retina 4-inch) :
la génération iphone 5: 5, 5c et 5s) Le contrôle de saisie.
Différentes configurations d'écrans
Disponibles pour les simulateurs Android
Répartition des configurations d'écrans
sur les appareils actifs.
Le développement
MVC
Apple Push Nitifications (APN)
Implémentation spécifique des
besoins non-fonctionnels
1) - Le ‘Responsive Design’
o Objectif : Résoudre les problèmes des
différences des densités et des résolutions d’écrans.
o Les moyens de sa réalisation : L’utilisation
des valeurs relatives (%) au lieu des valeurs
absolues pour le dimensionnement des composants
graphiques.
o Ses limites : L’impossibilité d’appliquer les
valeurs relatives / dynamiques pour les textes.
o Objectif : Avoir une application moins
encombrante/gourmande en mémoire et plus
légère.
o Les moyens de sa réalisation :
-> L’élimination des objets et des
variables inutiles en leur affectant la valeur
‘null’.
-> Travailler avec commonJS permet la
non-pollution du ‘global scope’ et de
l’utilisation des variables dans des sous-
contextes locaux.
Implémentation spécifique des
besoins non-fonctionnels
2) - Optimisation de la mémoire
Passage reserv Scr. - confirmResrv Scr. ALL NOT optimised
Passage reserv Scr. - confirmResrv Scr. ALL optimised
TEST D’OPTIMISATION DE LA MEMOIRE
Passage reserv Scr. - confirmResrv Scr. ALL NOT optimised
Implémentation spécifique des
besoins non-fonctionnels
3) - Gestion de la connexion
L’outil de limitation de débit de la connexion 'Speedlimit'.
Recours au support technique
Le forum d ’appcelerator Titanium
Présentation pfe feki 2015.pptm

Présentation pfe feki 2015.pptm

  • 1.
    L’école Supérieure privéed’ingénierie et de technologie PROJET DE FIN D’ETUDES Présenté en vue de l’obtention du titre D’INGENIEUR EN INFORMATIQUE Par Ahmed El-feki Effectué à l’entreprise Encadrant de l’université : Mr Karray GARGOURI Encadrant de l’entreprise : Mr Houssem Ksontini Janvier 2015
  • 2.
    L’application mobile Book MyNight destinée aux platformes iOS et android
  • 3.
    Version mobile dusite web www.bookmynight.fr
  • 4.
  • 5.
  • 6.
    Le menu détailsoirée (.psd)
  • 7.
    Le menu deréservation (.psd)
  • 8.
    Le menu dessoirées Avec les filtres de date Et de la ville (.psd)
  • 9.
  • 10.
  • 11.
    Les quatres étapesde l’inscription (.psd)
  • 12.
    L’icône de l’application (.png) LeSplashScreen (retina / non-retina) (.png)
  • 13.
    Le framework dedéveloppement Cross-plateformes Titanium Appcelerator Pourquoi Titanium ??
  • 14.
    Différents types d'applicationsmobiles (Natives, Hybrides et Web)
  • 15.
    Comparaison entre lesdifférents types d'applications mobiles Et donc, que choisir??
  • 16.
    La Solution Le développement Cross-PLateformes :
  • 17.
  • 18.
    • Les plateformesprises en charge • L'accès aux options avancées du téléphone • La faisabilité au long terme • Le look & feel : natif ou web.. <<Par opposition aux applications développées avec titanium PhoneGap n'utilise pas des composantes UI natives. L'usage du CSS pour imiter l'apparence native d'une plateforme exige une grande quantité de travail manuel. La feuille de style standard jQuery Mobile essaie d'imiter l'apparence et les sensations iOS (le look & feel) mais ce n'est pas réussi>> • La rapidité des applications • Sa distribution : s'il profite d'un app store.. ~~ ~~ ~~ Critères spécifiques de comparaison entre frameworks cross-plateformes
  • 19.
     La plusgrande large communauté de développeurs.  Utilise les technologies web standards (Javascript / CSS).  Prends en charge les plateformes mobiles les plus populaires. Raisons de choix de Titanium appcelerator
  • 20.
    Choix de laméthodologie..
  • 21.
  • 22.
    • Priorité auxpersonnes et aux interactions sur les procédures et les outils. • Priorité aux applications fonctionnelles sur une documentation pléthorique. • Priorité de la collaboration avec le client sur la négociation de contrat. • Priorité de l'acceptation du changement sur la planification. Fondements de la méthode Agile
  • 23.
     Le clientn’a pas d’exigence à la formalité (pas de cahier de charge, juste des .psd.. et pas de diagrammes)  Il a proposé des changements à fur et à mesure de l’avancement de la réalisation.  Il a effectué le contrôle de l’avancement toutes les semaines..  Notre équipe dépourvue d’expérience du développement mobile préfère la collaboration rapprochée avec le client.  Le projet lui-même ne demande pas de conception : puisque la partie serveur était déjà faite. Pourquoi la méthodologie était l’agile ?
  • 24.
    Choix de laméthodologie agile.. Méthode Contribution Extreme Programming Pratiques simples, tests récursifs Internet-Speed Developement Equipe de développement large divisée en petites équipes Scrum Diviser l'effort de développement et gérer des cycles de développement courts
  • 25.
  • 26.
  • 27.
    Diagramme de casd’utilisation global Date picker pour ios 6 & 7 Date picker pour androidSpécifications Fonctionnelles
  • 28.
    Diagramme de Casd'utilisation <<Afficher les clubs>>
  • 29.
    Diagramme de Casd'utilisation << s'authentifier >>
  • 30.
    Diagramme de Casd'utilisation << réserver une soirée >> Catégorie utilisateur > catégorie soirée Catégorie utilisateur < catégorie soirée
  • 31.
  • 32.
    Spécifications NON-Fonctionnelles  Le‘Responsive – Design’  Le contrôle des états des faibles connexions et des déconnexions  Le contrôle de la validité des données retournées par le serveur.  Le contrôle de saisie.  L’internationalisation (support des langues Fr & En)  Le respect de la charte graphique  La persistance de l’état de l’authentification après le redémarrage de l’application  Consommation optimisé en mémoire. Ergonomie de l’application, Souplesse de la navigation et l’esthétique dynamique.
  • 33.
  • 34.
    L’ architecture 2-tiers Communication avecles web services Base de données de bookmynight.fr L’application Bookmynight
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
    Conception avancée relative auxbesoins non-fonctionnels Gestion de la communication application-serveur Redémarrage Authentification automatique après redémarrage Le widget animé indiquant l'indisponibilité de la connexion Gestion de la connexion
  • 40.
  • 41.
  • 42.
  • 43.
    Choix des configurationsd'écrans cibles  3,5" (DVGA avec une résolution de 960x640 pixels et un aspect ratio 3:2) avec un écran non-retina les écrans 3,5" retina (iphone (Retina 3,5-inch) : la génération iphone 4 : 4 et 4s  les écrans 4" retina (1136×640) (iphone (Retina 4-inch) : la génération iphone 5: 5, 5c et 5s) Le contrôle de saisie. Différentes configurations d'écrans Disponibles pour les simulateurs Android Répartition des configurations d'écrans sur les appareils actifs.
  • 44.
  • 45.
    Implémentation spécifique des besoinsnon-fonctionnels 1) - Le ‘Responsive Design’ o Objectif : Résoudre les problèmes des différences des densités et des résolutions d’écrans. o Les moyens de sa réalisation : L’utilisation des valeurs relatives (%) au lieu des valeurs absolues pour le dimensionnement des composants graphiques. o Ses limites : L’impossibilité d’appliquer les valeurs relatives / dynamiques pour les textes.
  • 46.
    o Objectif :Avoir une application moins encombrante/gourmande en mémoire et plus légère. o Les moyens de sa réalisation : -> L’élimination des objets et des variables inutiles en leur affectant la valeur ‘null’. -> Travailler avec commonJS permet la non-pollution du ‘global scope’ et de l’utilisation des variables dans des sous- contextes locaux. Implémentation spécifique des besoins non-fonctionnels 2) - Optimisation de la mémoire Passage reserv Scr. - confirmResrv Scr. ALL NOT optimised Passage reserv Scr. - confirmResrv Scr. ALL optimised TEST D’OPTIMISATION DE LA MEMOIRE Passage reserv Scr. - confirmResrv Scr. ALL NOT optimised
  • 47.
    Implémentation spécifique des besoinsnon-fonctionnels 3) - Gestion de la connexion L’outil de limitation de débit de la connexion 'Speedlimit'.
  • 48.
    Recours au supporttechnique Le forum d ’appcelerator Titanium