FICHE D ACTIVITE N 1 : APPLICATION WEB A OUEST- INFORMATIQUE PARTIE (1/3)
Table des matières I. Pôle de compétences concernées... 3 II. Circonstance et contexte... 3 III. Situation professionnelle et niveau d'autonomie... 3 IV. Objectif attendu... 4 V. Travail effectué par étape et par tâche... 4 1. Phase d analyse... 4 2. Solution proposée... 4 3. Solution adoptée... 5 4. Création du cahier des charges... 6 5. Formation sur Prado... 6 6. Conception... 6 7. Phase de test... 8 8. Déploiement... 8 VI. Difficultés rencontrées... 10 VII. Solutions adoptées... 10 VIII. Réflexion, déduction, et conclusion pratique... 10 IX. Compétences, savoir, savoir-faire... 11
I. Pôle de compétences concernées D1.1 - Analyse de la demande D1.2 - Choix d une solution D1.3 Mise en production d un service D1.4 - Travail en mode projet D2.1 Exploitation des services D2.2 Gestion des incidents et des demandes d assistance D2.3 Gestion des problèmes et des changements D3.1 - Conception d'une solution d'infrastructure D3.2 - Installation d une solution d infrastructure D3.3 - Administration et supervision d'une infrastructure D4.1 Conception et réalisation d une solution applicative D4.2 - Maintenance d une solution applicative D5.1 - Gestion des configurations II. Circonstance et contexte Mon premier stage s est déroulé à Craponne (une ville de l ouest lyonnais), dans une société de vente et de maintenance de matériel informatique (pour les particuliers et les professionnels) qui se nomme «Ouest-informatique». L entreprise est implantée à Craponne depuis une dizaine d années. Ouest informatique a fait appel à mes services car leur ancienne application était tombée horsservice, il n avait donc plus de site web depuis deux ans. III. Situation professionnelle et niveau d'autonomie J ai donc occupé le poste de chef de projet. Mon rôle avait pour but, la création d une application Web, dans sa totalité. C est-à-dire la conception, le développement, le design, le référencement, la communication ainsi que le déploiement de l application. J étais le seul développeur avec une autonomie quasi complète.
IV. Objectif attendu Ouest informatique a fait appel à mes services, pour redévelopper une plateforme web, car leur précédant site web, qui était développé en Joomla (http://www.joomla.fr/), avait subi une attaque et la base de données avait été entièrement détruite. Étant donné qu aucun système de backup n avait été mis en place à l époque, il leur a été impossible de redéployer leur application. L objectif attendu de mon travail est de réaliser un site web qui soit à la fois modulable, sécurisé et avec un système de backup. L application est et sera développée en trois phases : - La création du site vitrine, lors de mon premier stage c est-à-dire celui-ci. - La création du panneau d administration, lors de mon second stage. - Et pour finir le développement de la plateforme de vente ainsi qu une évolution graphique, à la fin de mon BTS. Cela permettra au final, d avoir un site au goût du jour, de présenter l entreprise et ses différentes activités, avec un panneau d administration, pour faciliter la mise à jour du contenu du site, ainsi qu une plateforme de vente, pour conquérir une nouvelle clientèle et permettra à la société d agrandir son marché. V. Travail effectué par étape et par tâche 1. Phase d analyse Suite au précédent incident, il est dans mon devoir de prévoir un système de backup. La solution adoptée devra être modulable, comme l application sera développée en trois étapes. 2. Solution proposée J ai donc opté pour trois solutions avec chacune leurs avantages et leurs inconvenants : - La première solution envisagée consiste à développer l application sans support. Cela permet d avoir une totale liberté lors du développement, mais demande une très bonne organisation au niveau de la structure du site. De plus cela signifie qu il faut coder la totalité de l application et donc «réinventer la roue». - La seconde solution consiste à utiliser un Framework, autrement dit un cadre de travail, qui est composé d un ensemble cohérant de composants logiciels. Cet ensemble permet d assister le développeur, afin de lui assurer de bonnes fondations et une cohabitation entre ses différents modules. Cela dit, ce cadre implique des méthodes de travail à respecter. Il y a donc une formation à entreprendre, avant de se lancer dans ce type de développement. - La dernière solution consiste à utiliser un CMS (systèmes de gestions de contenu), qui est une famille de logiciels, destiné à la conception et à la mise à jour dynamique de site web.
Autrement dit, un CMS est une application déjà conçue dans sa totalité. Cela implique un énorme investissement pour le développeur, qui doit se former sur ce type d application, pour s imprégner des différents modules implantés, dans le logiciel et réaliser les modifications nécessaires. Ce sont des logiciels très complets et donc très lourds. Selon moi, ces logiciels sont adaptés à de très grosses structures qui ont besoin d énormément de fonctionnalités. De plus, ses applications demandent un suivi continu, pour assurer leur bon fonctionnement ainsi que des mises à jour régulières sont préconisées. J ai proposé à l entreprise de me laisser chercher un espace d hébergement en ligne qui proposait un système de backup. 3. Solution adoptée J ai choisi d utiliser un Framework, car il permet de développer plus rapidement à long terme et plus proprement. Cela me permet d avoir un code épuré et organiser selon un modèle. Le modèle utilisé pour le développement en PRADO, est le modèle MVC (Modèle, Vue, Contrôler). Cela permet de développer selon 3 parties distinctes et permet donc de rester organisé. De plus ce modèle privilégie le travail en équipe. - La Vue correspond à toute la partie visuelle de l application - Le Modèle permet de dialoguer avec la base de données - Le Contrôleur quant à lui redirige les informations entre le Modèle et la Vue Mais encore, Prado est un Framework, qui se développe en POO (Programmation Orienté Object), ce qui rend cette plateforme puissante, avec des possibilités énormes. Pour ce qui est du système de backup, OVH s emble être la bonne solution. Il propose une sauvegarde journalière sur leur serveur mutualiser.
4. Création du cahier des charges Dans un premier temps, un cahier des charges a été rédigé. Cela m a permis de fixer le cadre du projet à réaliser, avec ses contraintes ainsi que les objectifs à atteindre. 5. Autoformation sur Prado Apres cela, j ai décidé de me former sur un Framework, j ai choisi PRADO. Mon Autoformation a duré une semaine et demie. Cela m a permis de comprendre le concept de base, ainsi que les principales fonctionnalités de ce cadre de travail, et d être opérationnel pour le développement. Lien vers PRADO : http://www.pradosoft.com/ 6. Conception a) Création de croquis des différentes pages sur feuille Suite à la prise de connaissance du cahier des charges, j ai réalisé des croquis sur papier, pour chaque page de l application web pour avoir une vue d ensemble du site. b) Création du projet sous Prado Par la suite j ai donc généré le noyau de l application, ainsi que son cadre de travail associé, qui est composé de 4 entités : - L index.php qui est le point d entrée de l application et permet d amorcer PRADO - Un dossier protected qui contiendra par la suite les données sensibles qui seront protégées. - Un second dossier Prado qui contient le noyau de l application - Et un troisième dossier assets contient les ressources qui doivent être publiées.
c) Création du Template Il me faut donc maintenant construire le Template de l application, que je déposerais dans le dossier Layout, qui se trouve lui-même dans le dossier protected. Le Template est une classe mère qui fera hériter tout son contenu à ses filles qui seront les pages de l application. Autrement dit «le Template est la partie récurrente de chaque page (la tête de page, le menu ainsi que le pied de page)». d) Création des pages Une fois le Template érigé je dois créer les différentes pages du site. Et par la suite créer les redirections de ses pages dans mon menu. e) Création de la redirection url des pages La redirection URL permet de créer la navigation entre les différentes pages du site. f) Création du slider en flash de la page d'accueil Je vais dès lors crée un module en flash pour ma page d accueil, qui va me permettre de faire défiler des articles divers et variés proposés par l entreprise.
g) Création des vues Il faut maintenant faire le contenu des différentes pages et intégrer les modules créés pour le projet. Les 4 principaux onglets seront l accueil, la présentation pour les particuliers, la présentation pour les professionnels et la zone de contact. Cette partie du projet est plus orientée communication et design. L accueil comportera la bannière défilante, avec un onglet présentant les d actualités de l entreprise. La page dédiée aux particuliers présentera une synthèse des services proposés La page dédiée aux professionnels présentera également une synthèse des services proposés au professionnel, avec un sous menu contenant davantage de détails. La page de contact contiendra toute l information pour contacter l entreprise, avec ses horaires d ouverture et un plan Google map. 7. Phase de test L application est maintenant réalisée. Je dois épurer le code et passer en phase de test, pour déceler les bugs qui pourraient apparaître entre les différents moteurs de recherche. 8. Déploiement Pour finir, je vais devoir déployer l application sur un hébergement mutualisé et affecter les droits d accès au fichier (lecture, écriture et exécution) via un client FTP (comme Filezilla). Le site est hébergé chez OVH et le nom de domaine est «ouest-informatique.com». Grace à OVH un système de backup a été mis en place sur le serveur de l application. Celui-ci nous assure un backup total de l application tous les soirs, ainsi que des archives pouvant remonter jusqu à 3 semaines. Ce qui répond tout à fait à la demande de l entreprise. Voici un article concernant le sujet article sur les systèmes de Backup par OVH Vous pouvez retrouver l application via l url suivante : http://www.ouest-informatique.com/.
Ci-dessous le diagramme de Gantt correspondant au projet
VI. Difficultés rencontrées Le développement avec un Framework rendait la tâche d autant plus difficile car je n avais aucune connaissance en développement web à ce moment-là. De plus je n avais pas encore vu la programmation orientée objet. VII. Solutions adoptées Pour travailler dans de bonnes conditions j ai décidé de prendre 1 semaine et demie, pour me former sur Prado et la POO. Pour une meilleure organisation, nous avons décidé avec l entreprise de faire deux réunions par semaine. Une en début de semaine, pour bien ciblé les objectifs et la seconde en fin de semaine, pour présenter ce qui a été réaliser dans la semaine et voir l état d avancement. VIII. Réflexion, déduction, et conclusion pratique La première étape du projet a été conclue avec succès. L entreprise a désormais un site web permettent de promouvoir leur produit et leur savoirfaire. Ce qui leur permet d augmenter leur visibilité et donc leur notoriété. De plus, l application qui a été élaborée est optimisée pour évoluer car elle est extrêmement modulable. Ce stage m a permis d obtenir de l expérience dans le domaine du développement WEB. J ai acquis des compétences me permettant d élaborer des stratégies de développement, qui me permettent de développer rapidement et efficacement. De plus, j ai appris à utiliser PRADO qui est un Framework stable, souvent mis à jour et suivi par une large communauté. J ai également appris à étudier un cahier des charges et à utiliser des outils de gestion de projet. Cela me permet d avoir un suivi en temps réel ainsi qu une bonne répartition des tâches et à terme finaliser le projet. Ce stage m a donc été très instructif, et m a permis d acquérir un très large panel de compétences en développement, ainsi qu en gestion de projet.
IX. Compétences, savoir, savoir-faire A1.1.1, Analyse du cahier des charges d'un service à produire A1.1.2, Étude de l'impact de l'intégration d'un service sur le système informatique A1.1.3, Étude des exigences liées à la qualité attendue d'un service A1.2.1, Élaboration et présentation d'un dossier de choix de solution technique A1.2.3, Évaluation des risques liés à l'utilisation d'un service A1.3.1, Test d'intégration et d'acceptation d'un service A1.3.2, Définition des éléments nécessaires à la continuité d'un service A1.4.1, Participation à un projet A1.4.3, Gestion des ressources A2.1.2, Évaluation et maintien de la qualité d'un service A2.2.1, Suivi et résolution d'incidents A2.2.2, Suivi et réponse à des demandes d'assistance A2.2.3, Réponse à une interruption de service A2.3.1, Identification, qualification et évaluation d'un problème A2.3.2, Proposition d'amélioration d'un service A3.1.1, Proposition d'une solution d'infrastructure A3.1.2, Maquettage et prototypage d'une solution d'infrastructure A3.2.1, Installation et configuration d'éléments d'infrastructure A3.3.2, Planification des sauvegardes et gestion des restauration A4.1.1, Proposition d'une solution applicative A4.1.4, Définition des caractéristiques d'une solution applicative A4.1.6, Gestion d'environnements de développement et de test A4.1.7, Développement, utilisation ou adaptation de composants logiciels A4.2.1, Analyse et correction d'un dysfonctionnement, d'un problème de qualité de A5.1.1, Mise en place d'une gestion de configuration A5.2.2, Veille technologique A5.2.3, Repérage des compléments de formation ou d'auto-formation...