Mission 1 : Formation Symfony2 La méthode SCRUM 1.1/ Contexte L’équipe autour d
Mission 1 : Formation Symfony2 La méthode SCRUM 1.1/ Contexte L’équipe autour du projet était composée du développeur informatique, deux stagiaires développeur informatique. Le projet était encadré par le Directeur Technique M. Ahilan THANGAVADIVEL. Dans le cadre du stage et de la gestion projet, il fallait instaurer une démarche de travail pour le bon suivi des tâches. Les méthodes dites "Agiles" ont permis de pouvoir faciliter l'organisation de projet et la gestion des différentes tâches. La méthode utilisée ici pour la gestion de projet était la méthode Agile SCRUM. Cela permet une gestion réactive, structurée et interactive des différents projets de l’entreprise. 1.2/ Méthode SCRUM, qu’est-ce que c’est ? La méthode SCRUM définit un cadre de travail permettant la réalisation de projets complexes. Initialement prévu pour le développement de projets type « Software », cette méthode peut être appliquée à tout type de projet, du plus simple au plus innovant, et ce de manière très simple. Les projets qui suivent la méthode Agile « SCRUM » sont divisés en plusieurs cycles de travail relativement court que l’on appelle « sprints ». Ces derniers permettent aux membres de l’équipe d’évaluer régulièrement les progrès liés au projet et de planifier les prochaines étapes de développement. Mais cela permet surtout de réajuster ou réorienter la direction prise par le projet si besoin est, à partir d’une base de travail déjà achevée et validée (sprint). Chaque projet utilisant la méthode SCRUM s’organise autour d’une équipe auto-organisée car il n’y a pas de chef d’équipe qui décide des rôles de chacun, ou de la manière dont un problème est résolu, puisque ces problématiques sont traitées par l’équipe dans son ensemble ; et multifonctionnelle car chaque membre de l’équipe est parti prenant dans le développement de chaque fonctionnalité, de l’idée à l’implémentation finale. Figure 1 - Cycle du SCRUM Il existe trois rôles principaux à « pourvoir » : Le responsable produit, le SCRUM Master, et le membre de l’équipe. • Le responsable produit : Ce dernier est en charge de communiquer la vision globale du produit à l’équipe. Il se doit de représenter le client final, se mettre à sa place et donc de prioriser ses besoins. Il est celui qui a le plus de responsabilités et d’autorité. Le responsable produit est en effet celui qui est en première ligne lorsque quelque chose se passe mal. • Le SCRUM Master : Il ne manage pas l’équipe, mais travaille à éliminer tous les obstacles qui peuvent empêcher l’équipe d’atteindre les objectifs fixés pour chaque sprint de travail. En résumé, ce rôle permet à l’équipe de rester créative et productive, tout en veillant à ce que les réalisations soient visibles pour le responsable produit. • Membre de l’équipe : Dans la méthode SCRUM, l’équipe est responsable de la réalisation opérationnelle des « travaux ». C’est toute l’équipe qui est responsable du résultat final de chaque sprint.La manière dont sont exécutées les tâches est très libre mais cette liberté doit être néanmoins cadrée par l’obligation de répondre aux objectifs du sprint. 1.3/ La méthode SCRUM appliquée au stage. Afin d’être dans un cadre propice pour la réalisation de projet, nous avons appliqués la méthode SCRUM préconisé par notre « chef de projet » à notre stage. J’avais déjà des connaissances sur le Framework Symfony2 et il a fallu former l’autre stagiaire en développement. Ainsi, nous avons organisés les différentes tâches selon des sprints. Le développeur informatique a eu le rôle de SCRUM Master, mon tuteur, le responsable ingénieur a le rôle de Responsable produit et nous étions, les stagiaires, les membres de l’équipe. Cette méthode nous a apporté une dimension organisationnelle pour le projet et le stage en lui-même. Figure 2 - SCRUM appliqué au stage Cheminement de la formation 2.1/Contexte de formation Dès le premier jour, nous avions pris connaissance avec l’environnement de travail de la société sur l’aspect développement. Les méthodes de travail, l’environnement logiciel, le langage principal utilisé etc… Ayant déjà fait mon stage de première année chez ADENIS. J’ai déjà une certaine connaissance de l’environnement de travail. L’autre stagiaire développeur ne connaissait pas Symfony2 et l’architecture MVC* avec le PHP POO. Ainsi, il a donc fallu former le stagiaire développeur pour qu’elle puisse se familiariser avec cette technologie. La formation a donc été organisée sous forme de tâches pour se positionner sur le SCRUM du stage. 2.2/ Les tâches liées à la formation Voici comment nous avons organisé la formation sous forme de plusieurs tâches : Installation de Symfony2 et création d'un projet Symfony2 ; Contexte d'un mini projet comme appui à la formation ; Création d'entité objet : Client et Company; Création formulaire pour ajouter, modifier ; Envoyer un email avec Symfony2 ; Sécuriser une application avec une page de connexion et une page inscription ; Sécurité sur Symfony2. Installation de Symfony2 et création d’un projet Symfony2 Pour l’installation de Symfony2, on a commencé par les pré requis à savoir : un serveur web (Apache*, par exemple), un moteur de base de données (MySQL), et PHP 5.3.2 ou plus récent. Quoi de mieux pour comprendre et installer une technologie qu’un tutoriel bien expliqué. Voici le lien d’un très bon tutoriel qui relate ce que nous voulons faire : http://www.lafermeduweb.net/tutorial/demarrer-un-projet-avec-symfony- p27.html Contexte d’un mini projet comme appui à la formation Afin de pouvoir comprendre et poursuivre la formation rien de tel qu’un contexte. On a pris un contexte simple : une société et ses clients. Pour une société, on voudrait savoir sa raison sociale, son adresse, son code postal et sa ville. Pour le client, on voudrait connaître son pseudo, son prénom, son nom de famille et de quelle compagnie il est client. On voudrait pouvoir ajouter un client, des compagnies, les modifier et les supprimer. Un tableau de bord où l’on pourrait voir les clients et les compagnies. Création d'entité objet : Client et Company et Utilisation de la php app/console Symfony2 a l’avantage de fonctionner avec une commande et un panel d’instruction permettant de réaliser différentes actions comme créer une entité objet dans la base de données. Pour tout ce qui concerne les bases de données, Symfony2 utilise Doctrine ORM*. Figure 3 - Création d'une entité Customer via CMD Il suffit de passer cette commande pour l’entité objet soit créer dans la base de données : php app/console doctrine :schéma :update --force Création formulaire pour ajouter , modifier Les formulaires aussi ont une particularité puisqu’ils sont gérés par Symfony2. On crée un formulaire basique et on devra le déclarer comme un objet. Par défaut, le formulaire généré par Doctrine affiche des champs pour toutes les colonnes de la table. Un formulaire permet une action sur une entité objet donc il est lié à une entité. On va s’intéresser à un formulaire d’ajout des clients. En partant du principe qu’il y a déjà quelques sociétés dans la base de données, on va créer un formulaire avec l’username, firstname et lastname du client de type TEXTE. Pour l’associer à une compagnie, on va créer une liste déroulante. Figure 4 - Formulaire client Qui dit formulaire dit traitement de données. Le traitement du formulaire se fait dans le contrôleur et c’est ici même où on « déclare » le formulaire. Figure 5 - Contrôleur du Formulaire Client Figure 6 - La vue du Formulaire Client Envoyer un email avec Symfony2 Envoyer un mail est possible avec Symfony2 puisque SwiftMailer, une bibliothèque à base de composants pour l'envoi d'e-mails à partir d'applications PHP, gère ce service C’est le même principe qu’un formulaire sauf qu’il faut modifier la config de Symfony2. Un exemple de config.yml pour cerner la chose. Figure 7 - Config du swift mailer Sécuriser une application avec une page de connexion et une page inscription Comme on peut le remarquer, on est considéré comme un utilisateur anonyme. Figure 8 - Personne anonyme On va alors créer une page de connexion et une page d’inscription pour accéder aux différents actions du projet. De ce fait, il nous faut créer une entité User qui répertorie les utilisateurs inscrits. Une fois inscrit, on va pouvoir se connecter à l’application. La sécurité sous Symfony2 est très poussée, on peut la contrôler très facilement. La démarche est simple : On cherche à identifier l’utilisateur qui accède à l’application et après authentification, on gère l’accès à l’utilisateur en question. Bon dans ce cas-ci, en s’inscrivant, on laisse le choix à l’utilisation de devenir admin ou utilisateur. Figure 9 - Formulaire d'inscription Sécurité sur Symfony2 La sécurité est un processus en deux étapes dont le but est d'empêcher un utilisateur d'accéder à une ressource dont il ne devrait pas avoir accès. Le composant de sécurité peut être configuré via la configuration de votre application à l'aide du fichier security.yml à partir du dossier app/config. Voici un extrait pour comprendre la sécurité gérée par Symfony2. Figure 10 - Security.yml Partie role_hierarchy La notion de « rôle » est au centre du processus d'autorisation. On assigne un ou plusieurs rôles à chaque utilisateur, et pour accéder aux ressources on demande que l'utilisateur ait uploads/Management/ mission-1.pdf
Documents similaires
-
13
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 22, 2022
- Catégorie Management
- Langue French
- Taille du fichier 0.6646MB