1. CONCEPTION ET DÉVELOPPEMENT D’UNE APPLICATION
WEB DES SERVICES D’IMPRESSION EN LIGNE
Université de Sfax
Institut Supérieur d’Informatique et de Multimédia de Sfax
Département Génie Informatique et Multimédia
Année universitaire 2012-2013
Réalisé par:
Encadré par:
M. Sofien CHOTOROU M. Majdi ABBES
Hibatallah AOUADNI
2. Conception et développement d’une application web des services d’impression en ligne 2
Plan
Introduction
Etude préalable
Conception
Réalisation
Conclusion & perspective
4. Conception et développement d’une application web des services d’impression en ligne 4
Introduction
Communication
Commerce
Publicité
Personne
Famille
Entreprise
Flyer Carte Visite BrochureDrapeau
Contexte | Problématique | Objectif
5. Conception et développement d’une application web des services d’impression en ligne 5
Introduction
Imprimerie
Contexte | Problématique | Objectif
Agence
Agence Web
Perte de temps
Perte d’efforts
Perte d’argent
6. Conception et développement d’une application web des services d’impression en ligne 6
Introduction Contexte | Problématique | Objectif
Application Web
administrative
Site Web des services
d’impression en ligne
8. Conception et développement d’une application web des services d’impression en ligne 8
Etude Préalable Analyse de l’existant| Critique| Solution
• Services d’impression en ligne
• Large gamme des produits
• Assistance technique
• Suivi des commandes
• Panier sans authentification
• Caractérisation des produits
9. Conception et développement d’une application web des services d’impression en ligne 9
Etude préalable Analyse de l’existant| Critique| Solution
Service
Site
Proposition
des modèles
Caractérisation
des produits
Panier sans
authentification
Consultation
des prix
pixartprinting.fr - + + +
realisaprint.com - + - -
printplus-tn.com - + + +
- Tableau de comparaison des services offerts par les sites -
(+): identifier un service satisfait
( -): identifier un service pas satisfait
10. Conception et développement d’une application web des services d’impression en ligne 10
Etude préalable Analyse de l’existant| Critique| Solution
• Une charte graphique assez miteuse
• Une pénurie de spécification des
caractéristiques
printplus-tn.com
• Surcharge de la charte graphique
• Processus assez long pour caractériser un
produit
• Sécheresse d’interactivité et d’accessibilité
realisaprint.com
11. Conception et développement d’une application web des services d’impression en ligne 11
Etude préalable Analyse de l’existant| Critique| Solution
Consulter les articles / les modèles
Choisir un produit et le caractériser
Gérer son panier
Commander l’impression
SP-Admin Gérer les produits, les modèles
et les commandes
Contrôler le contenu de site web
Consulter les statistiques
13. Conception et développement d’une application web des services d’impression en ligne 13
ConceptionDiagramme de cas d’utilisation | Diagramme de séquence | Diagramme de classes
- Diagramme cas d’utilisation du site -
14. Conception et développement d’une application web des services d’impression en ligne 14
ConceptionDiagramme de cas d’utilisation | Diagramme de séquence | Diagramme de classes
- Diagramme cas d’utilisation de l’acteur administrateur -
15. Conception et développement d’une application web des services d’impression en ligne 15
ConceptionDiagramme de cas d’utilisation | Diagramme de séquence | Diagramme de classes
- Diagramme de séquence « ajouter produit au panier » -
16. Conception et développement d’une application web des services d’impression en ligne 16
ConceptionDiagramme de cas d’utilisation | Diagramme de séquence | Diagramme de classes
- Diagramme de séquence « mettre à jour l’avancement de l’impression » -
17. Conception et développement d’une application web des services d’impression en ligne 17
ConceptionDiagramme de cas d’utilisation | Diagramme de séquence | Diagramme de classes
- Diagramme de classes -
19. Conception et développement d’une application web des services d’impression en ligne 19
Réalisation Technologies | Framework | Architecture
Technologie Nom Description
Serveur Web Apache Serveur http, le plus populaire du World Wide Web
Framework
Symfony2
Un Framework MVC libre écrit en PHP 5. En tant que Framework, il facilite
et accélère le développement de sites et d'applications Internet et Intranet
PHP
Un langage de programmation largement utilisé qui est particulièrement
adapté au développement web
E-Commerce
Cart
Functionality
Un panier développé spécifiquement pour satisfaire nos besoins
Bibliothèques
Twitter
Bootstrap
Une collection d'outils utile à la création de sites web et applications web
JavaScript
un langage de programmation de scripts principalement utilisé dans les
pages web interactives
- Tableau de profile des technologies utilisées -
20. Conception et développement d’une application web des services d’impression en ligne 20
Réalisation Technologies | Framework| Architecture
C’est quoi Symfony ?
Pourquoi Symfony ?
Il contient de nombreux outils et des classes visant à raccourcir le
temps de développement d'une application web complexe
Symfony est un Framework MVC basé sur la langage de programmation
PHP5, conçu pour optimiser le développement d'applications Web
Facile à installer
Simple à utiliser
Code très lisible
Facile à étendre
Bundle
Automatise les tâches courantes
Le développeur se concentre sur les spécificités
21. Conception et développement d’une application web des services d’impression en ligne 21
Réalisation Technologies | Framework| Architecture
Panier JMSPay
22. Conception et développement d’une application web des services d’impression en ligne 22
Réalisation Technologies | Framework | Architecture
Internet
Contrôleur Modèle
Vue
Serveur
Client
- Architecture de Symfony -
Design Pattern MVC
ContrôleurModèle
Vue
24. Conception et développement d’une application web des services d’impression en ligne 24
Conclusion & perspective
Performant
Interactive
Notre application Responsive design
Concurrent fort par rapport aux autres solutions existant sur le marché
Sa manipulation ne nécessite pas une formation
25. Conception et développement d’une application web des services d’impression en ligne 25
Conclusion & perspective
Notre application
Merci Monsieur le président, Bonjour tout le monde je remercie tout les membres de jury d’avoir accepter évaluer notre travail
Nous avons le plaisir de vous présenter notre projet intitulé « Conception et développement d’une application web des services d’impression en ligne»
Cet exposé sera organisé comme suit:
Cet exposé sera organisé comme suit:
La publicité constitue l'un des formes les plus importants de communication et de commerce, dont le but est d'attirer l'attention d’une cible visée (que se soit une personne, une famille ou une entreprise).
de ce fait, les supports de la publicité sont multiples, parmi eux nous citons: flyer, carte visite, drapeau publicitaire, brochure.
Ces supports nécessitent pas justement une conception mais encore une impression.
Pour que le client avoir son support de publicité, il doit aller, tout d’abord, à une agence web pour avoir la conception de son support, après, à une imprimerie pour l’imprimer. Et, par exemple, si le support de publicité est un flyer, alors, le client doit se rendre à une agence qui fournit les distributeurs, pour distribuer ses flyers.
Tout ce procédure, résulter des pertes énormes pour le client, comme: perte de temps, d’efforts et le plus important d’argent.
D’où vient la nécessité de la conception et le développement de notre application qu’est composé d’un:
Site web des services d’impression en ligne: qui offre des conceptions (modèles) préparés et des autres services
et une application web administrative: ou l’administrateur peut gérer le site et les commandes
Pour aboutir à notre objectif, nous avons effectuer une étude préalable ou nous avons étudier quelques solutions qui existent sur le marché
Parmi lesquelles, nous trouvons :
RealisaPrint est une société Française qu’offre à ses clients des services d’impression en ligne proposant une large gamme des produits.
PixartPrinting est une imprimerie en ligne situé en Italie, elle offre à ses clients des services non-dénombrables parmi lesquelles: assistance technique, suivi des commandes.
Printplus est une imprimerie en ligne tunisienne qui allie (=combine) la facilité et la simplicité. Elle offre à l’internaute un panier à gérer et le permet de caractériser les produits sans accéder à l’authentification.
Nous analysons maintenant ces solution par rapport à un certain nombre de conditions (ou de services) dont les principales sont : proposition des modèles, caractérisation du produit, panier sans authentification et consultation des prix.
Cette comparaison nous a permis de constater que chacun de ces solutions ne propose pas des modèles aux clients.
en effet, ces solutions présentent des points faibles qui nous ont mené à les écarter,
Prenant l’exemple de « printplus-tn.com», ce site offre à ses clients plusieurs services mais présente les défauts suivants : …
Ainsi que, « realisaprint.com » présente d’insuffisance en ses services et les défauts suivants : …
- Processus assez long pour caractériser le produit ; pour chaque caractéristique, il faut que le client passe par une page.
Après avoir étudié les différentes solutions disponibles soit à l’échelle nationale soit à l’échelle internationale, notre solution devra combler les lacunes constatées, nous proposons de réaliser:
Un site web e-commerce d’impression en ligne « SfaxPrint » : c’est un site web destiné au public qui permet les internautes de….
Une application web administrative « SP-Admin » : une application web qui donne le privilège à l'administrateur de …
A ce niveau, nous vous expliquons la partie conception dans laquelle nous révélons quelques diagrammes de la solution
Le premier est celui du site. Nous identifions 2 acteurs un simple internaute et un client.
L’internaute a la possibilité de s’inscrire et de consulter les articles et les modèles proposés sans aucune limite. Ainsi, il est capable de gérer son panier, choisissant un ou des produits en attribuant des caractéristiques et un modèle pour le produit choisit.
Pour qu’un client puisse effectuer une commande, consulter l’historique de ses commandes, payer et imprimer son facture, il doit d’abord s’authentifier, contrairement à la gérance de son panier qui ne nécessite pas une authentification
Après l’authentification, l’administrateur peur réaliser plusieurs tâches, parmi eux, nous pouvons citer: gestion des pages, des articles, des bannières, des produits et leurs caractéristiques, des modèles et leurs catégories.
De plus, il peut gérer les clients et les classer. En outre, l’administrateur peut gérer les commandes et mettre à jour l’avancement de l’impression.
L’internaute ou le client consulte la liste des produits présente sur le site, sélectionne un produit souhaité (décrire les flux), puis procède à l’ajout au panier.
Pour que le client suivre l’avancement de son commande, l’administrateur doit mettre à jour l’avancement de l’impression
cette Figure montre le diagramme de classes général que nous avons réalisé, illustrant toutes les classes utilisés lors de l’implémentation d’application.
Alors, l’admin peut gérer les classes ou les catégories des client, les imprimeries, les produits, les pages et leurs articles
Bien que, un client peut passer un ou plusieurs commandes qui donne lieu à un panier, ce dernier constitue de plusieurs lignes concernant les produits choisis
Nous entamons (commençons) dans la partie réalisation par les technologies et le Framework utilisées pour le développement de la solution ainsi que l’architecture adopté.
Dans ce tableau , nous avons présenter le profil des technologies qui vont être utilisées dans notre solution :
Nous avons utilisé Apache comme étant un serveur Web, pour le Framework nous avons utilisé Symfony2 qu’est basé sur la langage de programmation PHP5
Ainsi, nous avons développer un panier spécifique pour satisfaire nos besoins
Et enfin, nous avons utilisé les bibiothèques Twitter Bootstrap et JavaScript
Comme Framework, nous avons utilisé Symfony
Bien les questions que se pose: c’est quoi Symfony? Et pourquoi Symfony?
Répondant à le 1ér question: c’est quoi Symfony? Bien Symfony …..
Passant à la 2éme question: pourquoi Symfony? pour plusieurs raisons parmi eux, nous citons:
- Facile à installer et à configurer sur la plupart des plates-formes
- Simple à utiliser
- Code très lisible et bien classé
- Facile à étendre, permettant une intégration avec d'autres bibliothèques
Tous ces raisons sont justifications de choix Symfony en Générale, et pour notre application, nous avons utiliser Symfony2 (la version 2)
Alors la question spécifique est « pourquoi Symfony2 pas Symfony1? » car Symfony2 nous offre un nouveau terme appelé « Bundle »
C’est quoi le bundle? Bien un bundle est un ensemble de fichiers et répertoires qui automatise les tâches courantes de sorte que le développeur peut se concentrer entièrement sur les spécificités d'une application sans réinventer de toutes les fonctionnalités.
prenant un exemple: voilà notre Bundle SfaxPrint, qui contient la fonctionnalité Panier, bien pour partager cette fonctionnalité avec des autres développeurs, ou de la réutiliser dans une autre application, il faut la mettre dans son propre bundle.
En outre, dans notre application, nous avons besoins d’un Bundle de Payement en ligne (qu’est n’est pas implémenté pour le moment car la société ne nous donne pas l’accords de le faire)
Bien, alors, voilà la composition finale de notre application.
Passant à l’architecture de Symfony
Symfony est basé sur le modèle de conception web classique connu comme l'architecture MVC. Cette dernière sépare la logique métier (modèle), la présentation (vue) et les traitements (contrôleur), résultant une grande maintenabilité.
Nous allons présenter une animation qu’explique l’interaction entre ces composants
Tt d’abord, le client va demander la page Web
Le contrôleur envoie une requête demandant les données du modèle
Le modèle renvoie les données demandé à le contrôleur
Après le traitement de données, le contrôleur va transmettre la résultat à afficher au vue
Et enfin la vue affiche la page demandé
Maintenant nous clôturons notre présentation par une brève conclusion et perspectives.
A la différence des solutions disponibles sur le marché, notre application est plus performant et interactive, grâce à sa conception "responsive", qu’est adaptable sur tous les supports (que se soit ordinateur, tablette ou téléphone mobile).
d'ailleurs, elle peut être considéré comme un concurrent fort par rapport aux autres solutions existant sur le marché
En plus sa manipulation ne nécessite pas une formation
Cependant, nous pouvons dire que cette première version de notre application n’est que la première pierre et que diverses optimisations peuvent être apportées à ce niveau, nous pouvons citer par exemple des fonctionnalités visant à améliorer :
la relation avec les clients CRM
Le webmarketing
Nous vous présentons maintenant une petite démonstration qui montre comment se servir de notre solution ainsi qu’une présentation de quelques fonctionnalités