Vous êtes sur la page 1sur 22

Rapport de stage

BTS SIO Option SLAM

SmartDiet

02/12/2019 - 24/01/2020

Dayana VILLADA RODRIGUEZ

Hervé PIERRON VIALARD - Jean-François VERT Lycée Turgot


SOMMAIRE

I. Remerciements…………………………………………………………………………………………………………………..2
II. Présentation du lieu de stage………………………………………………………………………………………………3
III. Projets réalisés…………………………………………………………………………………………………………………….6
IV. Interprétation personnelle………………………………………………………………………………………………….19
V. Compétences………………………………………………………………………………………………………………………20
VI. Conclusion…………………………………………………………………………………………………………………………..21

1
REMERCIEMENTS

Je voudrais tout d’abord adresser ma gratitude à mon tuteur de stage, Rémy Bazzara, pour m’avoir
permis d’effectuer mon stage chez SmartDiet, pour sa disponibilité et surtout l’apprentissage qu’il
m’a offert pendant ce stage.

J’aimerais aussi adresser mes profonds remerciements aux responsables et au personnel de


SmartDiet pour leur gentillesse et leur bonne ambiance.

Enfin, je désire remercier mes professeurs Hervé Pierron Vialard et Jean-François Vert du BTS SIO, qui
m’ont apporté leur aide pour trouver mon stage.

2
PRESENTATION DE L’ENTREPRISE

J’ai effectué mon stage dans l’entreprise SmartDiet, c’est une SAS qui se situe au 80, rue des haies au
20ème arrondissement. Cette entreprise a été créée en octobre 2017, elle a un chiffre d’affaires de
120 et elle emploi un salarié. Le siège social se trouve au 101, avenue général Leclerc au 14ème
arrondissement.

Email : contact@smartdiet.fr
Numéro : 09 71 27 75 06

SmartDiet est le premier service de téléconsultations nutritionnelles en ligne, par visioconférence ou


par téléphone. L’entreprise s’appuie sur un réseau de diététicien(ne)s nutritionnistes qui sont au
service de leurs patients sur le site web www.smartdiet.fr. Les diététiciens ont plus de 10
spécialisations en nutrition et un minimum de cinq ans de pratique en cabinet libéral.

Le personnel se constitue de :

Stéphanie Jean-Angèle et Anne Laure Meunier : Co-fondatrices et diététiciennes nutritionnistes


Sarah Bouhali : Responsable réseau
Rémy Bazzara : Développeur web

Organigramme de SmartDiet :

Les services proposés par l’entreprise sont les téléconsultations, audit, ateliers, conférences, bilan
nutritionnel digitale ou face à face et rédactions de contenu.

3
Le nombre de téléconsultations sont définis par rapport au type de coaching, il y a le Coaching 1
mois, Coaching 3 mois, Coaching 6 mois ou Bilan unique.

Le bilan diététique est constitué de sept points qui sont Equilibrer, Acheter, Dormir, S’organiser,
Ressentir, Gérer, Bouger. Par rapport à l’autoévaluation effectuée par les patients on aura les
niveaux de chaque point pour étudier ce qu’il faut améliorer. Le diététicien est accordé par rapport à
sa location et ses spécialités.

Smartdiet fait du BtoB (Business to business), elle agit comme un sous-traitant de diverses
entreprises, pour favoriser une meilleure nutrition et activité physique aux salariés de celles-ci et car
les salariés souhaitent suivre des actions de prévention spécifiques à leur profession sur leur lieu de
travail. Également, elle fait du BtoC (Business to consumer), elle vise des consommateurs qui veulent
perdre du poids, gagner du poids, les sportifs, les femmes enceintes, qui souhaitent devenir
végétariens/végétaliens, maintenir leur poids, qui ont de troubles hormonaux, des troubles digestifs
ou des allergies.

Fonctionnalités du site :

Le site smartdiet.fr est un site portail où les clients, les entreprises et les diététiciens peuvent
s’authentifier. Pour les patients ils pourront suivre leur bilan diététique et les diététiciens gèrent
leurs téléconsultations. Les administrateurs vérifient que toute information saisie par les diététiciens
et les utilisateurs soit correcte et font des modifications.

-Partie Admin :

Le tableau de bord montre toutes les statistiques des patients B2B et B2C. Par exemple, on voit la
répartition des sept points du bilan diététique et le total de personnes qui doivent s’améliorer ou ont
un bon niveau.

Ensuite on peut voir la liste des utilisateurs, des abonnés et ceux qui appartiennent au groupe des
diététiciens, des patients et patients des entreprises.
On a aussi la liste des spécialités des diététiciennes, leurs réseaux, activités, critères et une carte qui
montre la localisation des diététiciennes dans toute la France.
Puis la liste des clients prospects, les informations des patients, leur progrès, objectifs, leurs
programmes, paiement et coupons.

Également toutes les descriptions des objectifs, des fiches, des quiz et des questions. Des
consultations où l’on peut éditer les mesures, afficher la facture et définir la progression.
La liste des entreprises affiliées, des prospects, des partenaires. Des projets à qui on peut injecter des
utilisateurs et télécharger leur bilan et les interventions qu’on peut annuler, les mettre comme
prioritaires et informer les diététiciens.

Enfin, dans toutes les listes on peut faire comme actions ajouter, modifier, supprimer, exporter et
rédiger des commentaires. On peut filtrer les listes par nom, par Siret, par ville, par patient, par
diététicien. Quand on clique sur un nom, on peut voir tout ce qui lui concerne et l’éditer. Aussi, si une
information est de type booléen, on peut la changer en cliquant.

4
-Partie Diététicien :

Le tableau de bord montre le nombre de patients, de consultations, les fiches conseil, les quiz et son
profil. On a ensuite la liste des patients avec leurs informations, on peut leur envoyer une fiche,
proposer un quiz, assigner un objectif, planifier une consultation et rédiger des commentaires. On a
aussi leur progression par consultation et la liste des consultations. On peut ajouter, modifier,
supprimer les consultations et les patients.

-Partie Patient :

Le tableau de bord affiche les programmes effectués, les prochains rendez-vous et le questionnaire
pour avoir un bilan diététique. On peut voir également son profil, les fiches et les télécharger, le
résultat des quiz, les objectifs, les statistiques et les consultations passées et à venir qu’on peut
évaluer.

Le site a trois environnements, smartdiet.fr pour le public, pro.smartdiet.fr pour les entreprises et
blog.smartdiet.fr. Aussi l’environnement de développement pro.smartdiet.com/app_dev.php. C'est
là où je faisais mes tests avant de lancer dans le site smartdiet.fr.

Le rôle du développeur web, mon tuteur, est d’ajouter des fonctionnalités souhaitées par le
personnel de l’entreprise, de gérer les bugs du site, la mise en ligne des corrections, vérifier que les
données dans la base soient correctes, activer ou désactiver des comptes et que toutes les
opérations fonctionnent.

5
PROJETS REALISES

OBJECTIF DU PROJET ET INTERVENANTS :

Le but est d’améliorer l’interface pro.smartdiet des clients BtoB et des administrateurs au souhait de
la responsable réseau et les co-fondatrices de SmartDiet.

BESOINS :

-Afficher les statistiques des patients de chaque entreprise

-La connexion des entreprises est spécialisée pour chacune d’elles. Faire une connexion qui
fonctionne pour chaque entreprise

-La carte des interventions affiche toutes les diététiciennes inscrites donc le chargement de la page
est très long. On ne veut afficher que celles qui sont proches d’une intervention

-Dans la carte des diététiciens, afficher une liste des diététiciens pour chaque région

-Pouvoir changer la diététicienne d’un patient

-Créer un service annuaire pour les diététiciens

FONCTIONNALITÉS A DÉVELOPPER :

-Dans la partie Projets, ajouter une colonne avec un PDF qui affiche les statistiques de chaque projet
par des tableaux, ce sont les différentes informations des salariés pour chaque entreprise. Aussi,
calculer le type et le nombre de consultations pour chaque diététicienne et le total. Faire un
graphique qui affiche la répartition en fonction du sexe des patients.

-Dans Diététiciens, ajouter une colonne Annuaire qui affiche un bouton ‘non’ qu’on peut changer à
‘oui’ en faisant un clic pour dire que la diététicienne est inscrite à l’annuaire. L’annuaire sera relié à
un service API pour créer un annuaire des diététiciennes.

-Améliorer le login pour les entreprises, avant on crée des login prédéfinis, maintenant dès qu’on
s’inscrit on a un compte smartdiet, il faut envoyer un email automatique, synchroniser au service
kuranda et faire l’auto-connexion, ce qui signifie que l’utilisateur peut se connecter d’un autre site
(site de sa mutuelle) chez smartdiet.

-Pour changer la diététicienne d’un patient, ajouter une fonction pour que toutes les modifications
d’un programme soient mises à jour.

-Améliorer la carte des interventions : pour trouver une diététicienne qui peut assister à une
intervention, on affiche toutes les diététiciennes de la base de données, même celles habitant à
1000Km. On souhaite afficher celles qui se trouvent dans la même région de l’intervention

6
PLANIFICATION DES MISSIONS :

-2 semaines pour m’entrainer sur Symfony

-3 semaines pour le PDF, chaque jour je fais une fonction

-1 semaine pour ajouter des attributs, des fonctions et améliorer l’inscription en ligne des entreprises

-1 semaine pour l’annuaire et pour la carte des diététiciens avec des fonctionnalités JQuery

LANGAGES/ OUTILS :

J’ai travaillé avec mon ordinateur, avec comme système d’exploitation Linux.
Le langage de programmation utilisée est PHP7 avec le Framework Symfony 2.5, JQuery et Javascript.
L’hébergement utilisé est Git.
Les logiciels utilisés sont NetBeans pour Symfony, Sqlyog pour gérer la base de données, Gitcola pour
faire le transfert dans le serveur de l’entreprise.

ENVIRONNEMENT TECHNIQUE :

Tout est fait d’abord dans l’environnement DEV ensuite ce sera transférée dans le serveur SmartDiet
et mon tuteur vérifie avant de le mettre dans le site.

MISE EN APPLICATION DU PROJET :

-Mission 1 : Formation de Symfony

Etape 1 : Installation Symfony

Mon tuteur préfère travailler sur Linux d’où installer un OS Linux (Ubuntu), installer et configurer
LAMP (Linux Apache MySQL PHP 7), ajouter des modules PHP importants (curl, intl...) et installer Git.
Puis créer une paire de clés ssh pour se connecter de façon sécurisée à un système, cloner le projet
Smartdiet avec les clés ssh (Git smartdiet) et créer un Virtual Host. Enfin faire la configuration du
fichier etc/hosts, mettre un alias pour la boucle locale 127.0.0.1 avec tous les sous domaines
SmartDiet et installer Composer et récupérer des packages liés au projet grâce au composer.json.

Etape 2 : Compréhension de l’arborescence d'un projet Symfony

Mon tuteur m’a expliqué l’arborescence d’un projet Symfony et les fonctions. La Console Symfony
est un jeu de commandes via app/console qui permet d'afficher les routes et les services existants
(router/container:debug), d'effacer le cache, de mettre à jour la base de données en fonction des
entités.

On utilise Doctrine qui est un ORM (en anglais object-relational mapping) qui permet de faire la
correspondance entre des objets php basés sur les entités et la base de données. Avec l’Entity
Manager on a accès aux fonctionnalités d’ORM

Le DQL (Doctrine Query Language) qui est le langage de requête orienté objet propre à Doctrine qui
permet de retourner les résultats sous forme d'objet ou de tableaux d'objets, les CRUD (Create,
Read, Update, Delete) pour gérer les données. On peut faire des requêtes classiques avec des

7
méthodes comme findBy, findOneBy; flush pour faire une mise à jour, set pour remplacer, remove
pour supprimer et new pour créer.

Twig est le moteur de template qui permet de mixer l'affichage des pages et du code simple. On peut
l’étendre (extends), il a des balises de variables particulières, on fait des blocks lorsqu'on étend une
classe et on peut utiliser des extensions Twig personnalisées (/Twig)

Un Bundle est un répertoire qui intègre une structure bien définie, ce répertoire permet
d’implémenter plusieurs fonctionnalités. Le projet a deux bundles AdminBundle et CoreBundle

Détail d'un Bundle :

- /Entity, les entités (tables)

Pour les entités, on utilise Doctrine, l’ORM mapping avec des annotations (@ORM\) => Table,
relations, colonnes de jointure) pour relier à la base de données. On doit définir les types et relations
des attributs et on met comme fonctions les Getters et Setters pour travailler en mode objet.

- /Controller, les actions, le code responsable du traitement des URL

Les contrôleurs créés doivent étendre BaseController qui a accès au service container, on peut
utiliser n'importe quel service à partir d'un contrôleur ($this->get(mon_service))

Le contrôleur doit forcément retourner une réponse et c’est souvent une page Twig. Il peut
également retourner des redirections ou même des objets Json en réponse (pour des webservices)

- /Ressources/config/services.xml, la définition des services

Les services Symfony et l'injection de dépendances : On définit un service en lui attribuant un id et le


chemin de sa classe. Dans la classe de son service, les services injectés passent dans le constructeur.

Définir un service permet de l'enregistrer dans le Container de services « service_container » et c’est


une injection simple grâce à la définition du service (ex : injecter un autre service dans son propre
service)

- /Ressources/config/routing.xml, la définition des routes

Les routes ont le même principe de définition que les services

Pour tout relier on définit un service pour chaque classe admin liée à une entité (avec l'entité en
argument, et un contrôleur lié si besoin)

La classe Admin permet de générer automatique une base pour trois vues principalement :

-La liste des enregistrements d'une table (list)

-Le formulaire de création/édition d'un enregistrement (form)

-La vue d'un enregistrement (show)

Pour déposer les modifications dans Gitcola on choisit les fichiers, on appuie sur stage – commit –
pull – push – fetch. Les modifications passent du dépôt local au dépôt distant git smartdiet.

8
Etape 3 : Premiers tests

D’abord j’ajoute une fonction descriptifAction dans le contrôleur FrontController. Dans routing.xml je
crée une route et définis la fonction ajoutée qui va être reliée, dans la fonction on fait la requête en
DQL avec l’Entity manager, par exemple, afficher le nombre de programmes et de consultations par
diététicienne par projet d'entreprise. On relie la requête à une page Twig créée
descriptionProjet.html.twig où on personnalise la façon dont on veut afficher le résultat de la
requête.

Fonction :

Twig (Vue) :

9
Route :

J’ai fait plusieurs tests comme par exemple faire des formulaires, des filtres de recherche et modifier
ou supprimer des données dans les vues.

-Mission 2 : PDF

Etape 1 :

Partie Vue : Dans Projet du sommaire des Entreprises, ajouter une colonne ‘Bilan’ qui sera un PDF à
télécharger.

Classe de la vue : Dans la classe ProjetAdmin, dans la méthode configureRoutes ajouter une route du
téléchargement du PDF et dans la méthode configureListFields ajouter la colonne bilan et l’associer à
une page Twig appelée list_project_bilan.html.twig avec le lien et le titre du lien pour télécharger.

Classe du PDF : Ajouter le service smart.projectsummary_generator dans services.xml associé à la


classe que j’ai créé ProjectSummaryGenerator. Puis lui ajouter une fonction generatePdf et faire
appel à la classe TCPDF, c’est ce qu’on utilisera pour créer le PDF. On affiche le nombre de
programmes et nombre de consultations du projet en utilisant du html avec le TCPDF et avec une
méthode.

Contrôleur de la vue : Pour générer le PDF du projet, dans le contrôleur ProjectAdminController


ajouter une fonction downloadSummaryAction avec l’id du projet en paramètre, on cherche le projet
par une requête DQL, on fait appel au service qu’on a créé et envoyer comme réponse le PDF avec la
méthode generatePdf de la classe ProjectSummaryGenerator.

Analyse personnelle :

Faire le PDF a été assez difficile, il y avait plein de fonctions à ajouter juste pour faire apparaître
l’icône de téléchargement et qu’il fonctionne.

Contrôleur ProjectAdminController :

10
Classe ProjectAdmin :

Dans le PDF, on fait également un tableau avec le total des patients qui ont un programme par
tranche d'âge et sexe. Je fais une fonction qui compare les âges des patients pour les mettre dans la
tranche d'âge qui les correspond. Elle retourne un tableau avec le nombre de patients de tous les
âges et leurs sexes. On fait la structure du tableau avec du Html injecté par le TCPDF.

Etape 2 :

On ajoute dans le même tableau le nombre des patients qui mangent de repas équilibrés et leur
degré par tranche d'âge, le nombre de ceux qui ont des antécédents médicaux et des antécédents
familiaux. Aussi le total de toutes les statistiques. Dans une seule fonction on fait appel à d’autres
fonctions comme pour calculer l'âge du patient ou savoir s’il a des antécédents médicaux.

Etape 3 :

Je fais un deuxième tableau avec les motifs de consultations par des patients par tranche d'âge et un
troisième avec la moyenne des sept points de leurs bilan diététique (Equilibre – Organise - Achète -
Gère - Ressens – Bouge – Dors) aussi par tranche d'âge pour afficher leur moyenne par des couleurs
(vert = bien, orange = à revoir, rouge = insuffisant).

Pour afficher le tableau je fais une fonction addColorToAgeRange qui prenne les couleurs des points
des patients par tranche d'âge, on calcule le nombre de ‘verts’, ‘oranges’, ‘rouges’ pour chaque point
et on retourne un tableau avec le total de couleurs des sept points. Ce tableau est mis en paramètre
dans une deuxième fonction seeColor qui calcule la moyenne des couleurs pour trouver la couleur
dominante de chaque point toujours par tranche d'âge.

11
Analyse personnelle :

Très compliquée à faire, je ne comprenais pas la logique que mon tuteur avait avec cette fonction.
On avait des idées différentes mais la mienne était plus compliquée à faire donc j’ai fait à la façon de
mon tuteur.

Fonction :

12
Tableau :

Etape 4 :

Je fais une autre fonction pour le quatrième tableau qui affiche le nombre total de consultations du
projet, le nombre de consultations effectuées, les consultations à venir et les consultations avec le
même numéro.

13
Etape 5 :

On fait un cinquième tableau qui montre pour chaque diététicienne du projet le nombre de ses
programmes, ses consultations, les consultations qui ont le même numéro et celles effectuées. On
fait une autre fonction qui calcule ces informations des diététiciennes.

Analyse personnelle :

C’était un peu compliqué de trouver les diététiciennes du projet dans le code puisqu’il y a plusieurs
jointures pour relier ces deux classes/tables. Il faut passer par plusieurs collections.

Fonction :

Vue Tableau :

14
Etape 6 :

Enfin, pour la mise en page du PDF, on utilise Imagick (extension Php) pour calculer le ratio du logo
de l’entreprise qu’on veut afficher et on fait un camembert qui montre la répartition homme/femme
des patients du projet avec SVGGraph (extension Php goat/1000 ajoutée)

Analyse personnelle :

J’ai fait des tableaux sans connaitre le nombre de lignes ou de colonnes qu’on aura, sans déclarer des
variables. C’était difficile car j’avais l’habitude à déclarer et à savoir ce que je vais mettre. On avait
des difficultés à les réinitialiser.

-Mission 3 : Login des clients BtoB

Il faut que les patients d’une entreprise puissent s'inscrire sur le site avec leur propre nom
d’utilisateur et leur mot de passe. On travaille dans la classe RegisterController, dans la fonction
Register on fait des modifications pour que le login soit fonctionnel pour n’importe quelle entreprise,
on crée un utilisateur avec DQL, on fait la synchronisation du service Kuranda (site de paiement), on
fait l’auto connexion de l’utilisateur et on retourne une page Twig qui est la page d’inscription.

Puis, on ajoute un attribut booléen ‘inscription en ligne’ dans la table smart_project de la base de
données ‘smartdiet’ qu’on affiche dans une colonne dans la liste des projets dans le site. On fait la
même procédure que la colonne du PDF mais seulement dans la classe ProjectAdmin, la vue de la
liste des projets.

Analyse personnelle :

J’ai eu du mal car l’entreprise avait besoin que je le fasse très vite et j’avais beaucoup d’erreurs.

15
Controleur RegisterController :

-Mission 4 : Autres fonctionnalités

Quand on change la diététicienne d’un patient sur le site et que la mise à jour soit effectuée, il faut
ajouter la méthode PostUpdate dans ProgramAdmin. Dans la méthode on fait une simple requête
DQL program->getPatient()->setDiet($diet).

16
On ajoute aussi la méthode PostRemove dans la classe ConsultAdmin pour faire la mise à jour quand
on supprime une consultation et on modifie la méthode changedateAction dans le contrôleur
ConsultAdminController lorsqu’une consultation est accidentellement modifiée dans le site. Elle sert
à corriger les fautes de frappe.

On met dans une colonne appelée ‘Infos’ dans la liste de diététiciens, les attributs booléen
‘Annuaire’, ‘Atelier’ et ‘Téléconsultation’ de la table fos_user_user de la base de données du site.
C'est un bouton ‘oui’ - ‘non’ qui change de valeur quand on clique et rafraîchit la page.

Mais il est souhaité par mon tuteur de ne pas rafraîchir la page, donc on travaille avec jQuery. Pour
chaque attribut il faut ajouter un contrôleur dans DietAdminController et définir une route dans
routing.yml. On modifie la page Twig qui donne la vue de la colonne pour mettre des fonctions Ajax
qui servent à changer la valeur du bouton sans rafraîchir.

Fonction Ajax :

Analyse personnelle :

Je ne connaissais rien en jQuery, c’était un peu difficile pour moi de comprendre le code.

-Mission 5 : Carte des diététiciennes et des interventions

Pour améliorer la carte des interventions il faut faire des fonctions pour trouver le département et la
région de l’intervention et de la diététicienne pour voir si c’est la même. On crée les fonctions dans
l’entité City puis on fait l’appel de ces fonctions dans InterventionAdminController. On envoie une
requête pour afficher les diététiciennes mais dans la boucle on met comme condition que la
diététicienne soit dans la même région que l’intervention.

Pour la carte des diététiciennes il faut utiliser les mêmes fonctions pour afficher les diététiciennes qui
se trouvent dans la ville qu’on a choisie dans la barre de recherche. On fait la même procédure que
dans la carte des interventions dans le contrôleur SocietyAdminController, on met la requête avec les
mêmes conditions que la carte des interventions. Pour la page Twig diet_map.html.twig , on ajoute

17
une fonction ajax (jQuery) pour ne générer la fonction que quand l’admin tape une ville dans la barre
de recherche.

Carte sur le site :

Analyse personnelle :

De base mon idée c’était d’ajouter l’attribut ‘region’ dans la table ‘smart_city’ et dans le code
afficher les diététiciennes qui ont des distances inférieures à 50km de l’intervention.

Mon tuteur m’a donc dit que ça va faire trop de requêtes car il faut calculer la distance de toutes les
diététiciennes de la base de données, d’où on a fait les fonctions dans smart_city, getDept et
getRegion.

18
INTERPRÉTATION PERSONNELLE

Points positifs :

Avoir appris Symfony pour développer des sites, au début mon tuteur m’a dit que je pouvais avoir le
site sur mon ordinateur avec le serveur Wamp et utiliser PhpMyAdmin, mais j’ai voulu faire comme
lui et changer Windows pour Linux et avoir Symfony. Je n’étais pas à l’aise les premiers jours mais
j’ai appris très vite à l’utiliser.

J’ai amélioré ma façon de coder, je faisais des lignes inutiles.


Je comprenais très bien les explications de mon tuteur. Il m’a beaucoup guidé pour trouver les
solutions.
Je maitrise mieux les tableaux à deux dimensions.

Points négatifs :

Parfois il me fallait beaucoup de temps pour trouver les solutions à mes problèmes. Aussi, j’ai
tendance à compliquer mon code quand je pourrais le faire de manière plus simple.
Je perdais du temps avec des erreurs très faciles à voir.

Je n’ai pas fait l’API car il me fallait des clés pour pouvoir faire le service et on n’a pas eu le temps de
les avoir.

Difficultés :

Pour Symfony c'était compliqué de trouver les fichiers qui sont ‘liés’, la syntaxe, j’oubliais souvent de
déclarer mes routes.
C’était très difficile de comprendre jQuery et Javascript.

Au niveau du code j’ai eu des difficultés avec l’algorithmique, je faisais plein de requêtes SQL sur
Sqlyog pour trouver ce que j’avais besoin dans la base. Quand la page avait des erreurs, j’allais dans
‘Inspecter’ pour trouver l’erreur ou aussi dans app/console dans le terminal.

19
SAVOIRS ET COMPETENCES

Savoirs :

-Apprentissage du Framework Symfony (ORM, injection des dépendances, création de service,


webservice)

-Utiliser un outil de gestion de version (GIT)

-Sens de l’organisation

-Sens de la responsabilité et d’autonomie

Compétences :

-A1.1.1 Analyse personnelle du cahier des charges d'un service à produire

-A1.2.5 Définition des niveaux d'habilitation associés à un service

-A1.4.1 Participation à un projet

-A2.3.2 Proposition d'amélioration d'un service

-A4.1.2 Conception ou adaptation de l'interface utilisateur d'une solution applicative

-A4.1.3 Conception ou adaptation d'une base de données

-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.1.8 Réalisation des tests nécessaires à la validation d'éléments adaptés ou développés

-A4.2.1 Analyse et correction d'un dysfonctionnement, d'un problème de qualité de service ou de


sécurité

-A5.2.3 Repérage des compléments de formation ou d'auto-formation utiles à l'acquisition de


nouvelles compétences

-A5.2.4 Étude d‘une technologie, d'un composant, d'un outil ou d'une méthode

20
CONCLUSION

Ce stage a été très enrichissant pour moi car il m’a permis d’apprendre ce qu’on utilise actuellement
dans le développement web et la façon dont travaille un développeur au sein d’une entreprise.

J’ai apprécié la formation du Framework Symfony et de me familiariser beaucoup plus avec


l’algorithmique. Aussi, j’ai pu approfondir les connaissances des cours et de savoir ce que je veux
faire comme métier plus tard.

Finalement, ce stage m’a apporté beaucoup de connaissances et m’a permis de développer mes
compétences.

21

Vous aimerez peut-être aussi