Conception et transformation d'une application web en application mobile( Télécharger le fichier original )par Deanhope MATABARO MASUMBUKO Hope Institut Supérieur Pédagogique de Bukavu - Licence 2015 |
IV.2.3. WAMPSERVER40WampServer (anciennement WAMP5) est une plateforme de développement Web de type WAMP, permettant de faire fonctionner localement (sans se connecter à un serveur externe) des scripts PHP. WampServer n'est pas en soi un logiciel, mais un environnement comprenant deux serveurs (Apache et MySQL), un interpréteur de script (PHP), ainsi que phpMyAdmin pour l'administration Web des bases MySQL. Il dispose d'une interface d'administration permettant de gérer et d'administrer ses serveurs au travers d'un tray icon (icône près de l'horloge de Windows). La grande nouveauté de WampServer 2 réside dans la possibilité d'y installer et d'utiliser n'importe quelle version de PHP, Apache ou MySQL en un clic. Ainsi, chaque développeur peut reproduire fidèlement son serveur de production sur sa machine locale Figure 40 Prof. SINDANO, Labo informatique, Cours inédit, L1 IG, ISP/BKV, 2014-2015 77 IV.2.4. SQLite341 SQLite constitue l'une des grandes nouveautés de PHP 5. Il s'agit d'une base de données relativement puissante mais qui, à la différence de MySQL ou de PostgreSQL, ne nécessite pas l'installation d'un serveur de base de données en plus d'un serveur PHP car elle est incorporée à PHP comme l'est le module standard. D'après ses concepteurs et les tests réalisés, SQLite se révèle beaucoup plus rapide que MySQL et PostgreSQL pour les opérations de lecture. Les opérations d'écriture perdent un peu de cet avantage car dans ce cas la base est verrouillée dans son intégralité, même si l'opération ne concerne qu'une table. Dans l'état actuel de son développement, SQLite n'est intéressant que pour les applications qui ne nécessitent pas un grand nombre d'accès concurrents en écriture à la base. Il y a peu de chance, par exemple, qu'un site comme Google l'adopte, mais elle pourrait suffire à des entreprises de taille moyenne et pour des applications installées sur des terminaux mobiles. 41 Prof. SINDANO, Labo informatique, Cours inédit, L1 IG, ISP/BKV, 2014-2015 78 2.4.1. Caractéristiques générales42 Contrairement à de nombreux autres SGBD, comme MySQL, SQLite crée la base directement sur le disque dur de votre serveur. À chaque base correspond donc un seul fichier, quel que soit le nombre de tables qu'elle contient. Dans ce fichier sont à la fois enregistrées la structure des tables et les données (voir figure 18-1). Comme vous le voyez, ce fichier est inutilisable tel quel. Pour cette raison, la modification de la structure d'une table est impossible en utilisant la commande ALTER TABLE. Vous devez d'abord sauvegarder les données, effacer la table puis la recréer avec une nouvelle structure. SQLite supporte l'essentiel des fonctionnalités du langage SQL, à l'exception des Suivantes :
D'après les tests publiés sur le site SQLite ( http://www.sqlite.org), cette base est jusqu'à trois fois plus rapide que MySQL dans les accès en lecture de données. En revanche, le fait que toute la base soit contenue dans un seul fichier entraîne son verrouillage total lors des accès en écriture. Cela ralentit les opérations dans le cas d'accès concourants à la base. Dans sa version actuelle 3, SQLite est dite « typeless » tout comme la version 2.8, c'est-à-dire qu'elle n'oblige pas à effectuer une déclaration du type de chaque colonne lors de la création des tables, contrairement à MySQL. Vous pouvez cependant conserver vos habitudes pour l'écriture des requêtes SQL de création des tables en définissant un type pour chaque colonne. Lors des opérations de comparaison et de tri, SQLite établit une différence entre les valeurs numériques et les textes. Les colonnes déclarées avec un type contenant les mots CHAR, TEXT ou BLOB sont considérées comme du texte. Toutes les autres possibilités, y compris les types personnels non normalisés par le SQL, sont considérées comme numériques. 79 Il est difficile de comprendre les technologies Web lorsqu'on ne met pas soi-même les mains dans le cambouis. Voici quelques explications de différentes technologies utilisées dans la mise en oeuvre d'un site Internet. IV.2.5. (X) HTML : langage de structuration des pages Web Le HTML et sa variante plus stricte XHTML sont des langages de balisage des pages Web. Il n'y a pas si longtemps, le HTML servait à définir aussi bien la structure des pages que leur présentation visuelle. Aujourd'hui, ces deux aspects doivent être bien distincts et le X/HTML est destiné uniquement à représenter la structure d'une page : titres, sous-titres, paragraphes, images, formulaires de saisie, liens hypertextes, etc. C'est la base d'une page Web, parfois la seule considérée et utilisée par le logiciel qui visite cette page, comme les moteurs de recherche ou les navigateurs textuels. On qualifie de « statiques » les pages dont le code X/HTML n'est modifié ni par JavaScript, ni par PHP avant ou après l'affichage dans le navigateur. 2.5.1. CSS : langage de présentation des pages Web Le code CSS (Cascading Style Sheets, ou feuilles de styles en cascade) permet de modifier la présentation des éléments X/HTML : couleur, taille, police de caractères, mais aussi position sur la page, largeur, hauteur, empilement, bref tout ce qui touche à la mise en page d'un document X/HTML. Ainsi, un même document X/HTML pourra changer d'apparence sans changer de structure, grâce uniquement à la modification des règles CSS qui lui sont appliquées. 80 La séparation de la structure et de la présentation facilite ainsi la construction, mais aussi la maintenance et l'évolution des pages Web. 2.5.2. JavaScript : langage de programmation côté client Le JavaScript est un langage qui est lu et exécuté par votre navigateur - le client - (donc directement sur votre ordinateur) et qui permet de créer des réactions en réponse à des événements sur la page ou à des actions de l'utilisateur. Par exemple : ? un clic sur un lien qui affiche un texte masqué progressivement ? un compteur qui défile ? l'apparition renouvelée d'actualités sans que le navigateur ne demande à nouveau la page au serveur ? etc. Auparavant, le code JavaScript était souvent intégré au code HTML, mais là encore, on préconise aujourd'hui la séparation des deux langages pour des raisons d'organisation du code, mais aussi d'accessibilité du site.Le JavaScript est capable lui-même d'écrire du code X/HTML ou CSS, et donc de modifier totalement la base d'une page Web. 2.5.3. PHP : langage de programmation côté serveur Le PHP est un langage qui est lu et exécuté sur le serveur où se trouve la page X/HTML, avant que celle-ci ne soit envoyée au navigateur (le client) qui en demande l'affichage. Par exemple, vous avez rempli un formulaire et cliqué sur le bouton, le serveur reçoit les données envoyées par le navigateur, le code PHP traite ces données et écrit le X/HTML de la nouvelle page Web que le serveur Web renvoie ensuite au navigateur. Le code XHTML d'une page peut ainsi être entièrement écrit à l'aide de code PHP, ou bien le code PHP peut être inséré à un endroit précis d'une page, pour compléter le code X/HTML, CSS, voire JavaScript. Il existe de nombreux autres langages côté serveur, comme ASP.NET ou Coldfusion. On qualifie de « dynamiques » les pages dont toutes ou certaines parties sont écrites par PHP (par exemple, un panier de commande au sein d'une page d'un site de commerce), car un langage de programmation modifie ou complète le code X/HTML « statique » de la page. 81 2.5.4. SQLite : système de base de données SQLite est un système de base de données, souvent couplé au langage PHP et tant surtout langage java pour android. Ce système utilise le langage SQL (Structured Query Language, langage structuré de requêtes) pour interroger, alimenter ou mettre à jour les bases de données. Ainsi, dans le cas d'un site Web, le langage PHP va établir la connexion à la base de données, puis envoyer le code SQL nécessaire aux opérations sur la base de données. En retour, SQLite va renvoyer des données ou des informations, qui seront traitées par le code PHP. Il existe de nombreux autres systèmes de base de données, comme Oracle ou Microsoft SQL Server. Dans les numéros de XP-Infos à venir, nous verrons un peu plus en détail chacune de ces technologies Web, afin que vous puissiez mieux les identifier, mieux les comprendre et mieux juger de la pertinence de leur utilisation sur votre site Internet. 2.5.5. NotePad++43 Un éditeur de code source utilisé pour prendre en charge plusieurs langages de programmation : Php C++, Java, Pascal, Html, Xml, Php Object-C, Makefile,... et d'autres il a pour avantage d'optimiser nombreuses fonctions tout en conservant une facilité de utilisateur et une convivialité. Il est configurable à travers ce son menu suivant : 43 http://www.wikipedia/ 82 IV.3. LES COMPOSANTES APPLICATIVES REALISEES 83 3.1 LE SPLASH SCREEN 3.3. INSCRIPTION DU MOBINAUTE 3.2. INTERFACE D'ACCUEIL 3.5. ESPACE REPONSE DE L'ADMINISTRATEUR 84 3.4. RESERVATION DES PLACES 85 En plus nous avions utilisés les méthodes agiles combinées du langage UML avec des techniques d'interview, de navigations et celles documentaires pour pouvoir vérifier nos 86 CONCLUSION GENERALE Au terme de notre étude portant sur le Développement d'une application mobile de réservation des places dans des bateaux cas des bateaux, nous sortons très satisfaits des travaux réalisés. L'étude que nous avons menée au cours de cette année, a abouti à la réalisation d'une application mobile à partir des langages de programmation habituelle. Cette réalisation a mis à priori les technologies habituelles utilisant HTML, CSS, JS, PHP, JQuery et JQuery mobile. L'étude a commencé par une introduction dans laquelle nous avons présenté notre problème qui nous a poussés à mener des recherches et à répondre à cette dernière d'une manière satisfaisante. Nous avons élaboré le premier chapitre qui fit un survol sur la majorité des ouvrages qui nous ont tant faciliter la tâche et qui parle beaucoup sur des applications mobiles où nous allons exposer des points très connus par la majorité puisque l'application doit avoir des documentations claires ; Le deuxième chapitre porte sur les processus de réalisation dès la préparation de la machine jusqu'à la réalisation de l'application d'essai et en fin le rendre exécutable à des plateformes bien définies. Le troisième chapitre porte sur la modélisation nous conduira vers les étapes de conception de notre application Android en guise exemplatif. Nous y présenterons les différents modèles de base applicables dans la conception orientée objet, avec les méthodes agiles dont le processus unifié en particulier qui utilisent toujours les différents diagrammes en UML qui seront d'application dans ce domaine. Le quatrième enfin, centré sur l'implémentation de l'application mobile en question où nous présentons l'application conçue; laquelle sera présentée à travers un support externe. Mais aussi dans différents téléphones. Seulement les démarches entreprises pour y parvenir seront synthétisées dans ce travail. Ainsi, dans ce chapitre, nous présenteront un les résultat pour pouvoir permettre à tout utilisateur de cette application à se situer face à cette dernière.. 87 hypothèses. Et de ce qui précède nous disons que le résultat était positif à moitié et nous savons que des adaptations seront apporté au fur et à mesure que les clients utilisent ce produit. Néanmoins, tout en estimant que le système proposé apportera satisfaction au département d'informatique de gestion, nous invitons d'autres chercheurs ayant le même souci que nous de bien vouloir s'investir et se servir de ce travail pour pouvoir réfléchir et amener plus loin, le cas échéant, la présente étude afin de pouvoir aider le département d'IG à surmonter les différentes difficultés liées à la réalisation des applications mobiles et enfin connaitre comment les téléphones interagissent avec les téléphones et avec les ordinateurs d'un autre côté. C'est une recherche simple et plaisante. 88 LA BIBIOGRAPHIE COURS ET AUTRES OUVRAGES
TFC ET MEMOIRES
89
90 WEBOGREPHIE V' http://www.ghislainlerda.com/2015/06/02/applicationmobilecordova/ V' http://jakarta.apache.org/regexp/ V' http://www.ibm.com/software/awdtools/netrexx/download.html V' http://www.inonit.com/cygwin/faq/ V' http://groovy.codehaus.org/ V' http://www.tutorialpoint.com V' http://mickael-lt.developpez.com/tutoriels/android/personnaliser-listview/ V' http://michel-dirix.developpez.com/tutoriels/android/integration-google-mapsandroid/ V' http://developer.android.com/ V' https://dl-ssl.google.com/android/eclipse/ V' http://developer.android.com/sdk/index.html V' http://code.google.com/intl/fr/android/maps-api-signup.html V' http://kenai.com/downloads/nbandroid/updates.xml 91 TABLE DES MATIERES RESUME I ABSTRACT III EPIGRAPHE IV DEDICACE V REMERCIEMENTS VI SIGLES ET ABREVIATIONS VII O. INTRODUCTION 1 0.1. PROBLEMATIQUE 1 O.2 HYPOTHESES 2 0.3 METHODES ET TECHNIQUES 2 B. TECHNIQUES 2 0.4. OBJECTIFS DU TRAVAIL 3 O.5. JUSTIFICATION DU CHOIX ET INTERET DU SUJET 3 a. L'intérêt personnel 4 O.6. DELIMITATION DU SUJET 5
O.7. PLAN SOMMAIRE DU TRAVAIL 6 O.8. ETAT DE LA QUESTION 7 0.9. DIFFICULTES RENCONTREES 9 Chapitre premier : REVUE DE LA LITERRATURE 10 I.1. MOBILITE EN INFORMATIQUE 10 I.1.1 Types de plateformes mobiles 10 I.1.1.a Ordinateurs portatifs : 10 I.1.1.b PDA : 11 I.1.1.c. Smartphones : 11 I.1.2. Contraintes de mobilité 11 I.1.2.a Interface utilisateur et méthodes d'entrée : 12 I.1.2.b Capacités de calcul, de stockage et alimentation électrique : 12 I.1.2.d Interopérabilité entre systèmes : 13 I.1.3. Architecture logicielle des plateformes mobiles 14 I.1.3.A Application autonome : 14 92 |
|