Академический Документы
Профессиональный Документы
Культура Документы
Steven TRINCHE
Stage de fin de formation CDI
25 Octobre 2016 13 Janvier 2017
Tuteurs : Mr Vulliet Jonathan/Mr Maccini Pierre
1
OMMAIRE
1 Remerciements..................................................................................................................Page 3
2 Prsentation de l'entreprise.........................................................................................Page 4
3 Description des travaux effectus.............................................................................Page 5
3.1 1er projet / Travaux de recherche................................................................Page 5
Prsentation du projet..................................................................................Page 5
Base de donnes..............................................................................................Page 7
Ecrans................................................................................................................Page 9
Bilan..................................................................................................................Page 10
3.2 2me projet / Dive Center..............................................................................Page 11
Prsentation du projet.................................................................................Page 11
Base de donnes Symfony..........................................................................Page 12
Base de donnes Phalcon.............................................................................Page 13
Ecrans..............................................................................................................Page 14
Bilan..................................................................................................................Page 15
4 Conclusions.......................................................................................................................Page 16
1 - Remerciements
Je tiens tout d'abord commencer ce rapport de stage en remerciant
l'entreprise, dans laquelle j'ai termin ma formation de CDI, qui se
nomme Solar Games.
Le chemin effectu vos cts fut une excellente exprience autant
professionelle que personnelle, cela m'a permis de connatre mes
capacits et de savoir o se situe mes limites.
J'ai appris normment et cela m'a persuad que j'avais choisi le bon
mtier pour le futur.
Je souhaite voluer, connatre encore plus de choses et mettre mes
connaissances, prsentes et futures, l'preuve.
L'aventure ne s'arrte donc pas pour moi car j'ai russi trouver ma
voie, surtout, dans un domaine spcifique de la programmation, en
l'occurence, le langage Web.
Je remercie toute l'quipe de m'avoir intgrer si rapidement, tout
spcialement Jonathan et Pierre, mes tuteurs, qui ont pris le temps de
rpondre mes questions, d'tre l pour moi quand j'en avais besoin,
d'tre aussi sympa et comprhensif.
Merci de m'avoir donner votre confiance pour les diffrents projets,
malgr mon statut de "stagiaire", j'ai pu mettre en pratique toutes mes
comptences acquises lors de la formation.
Je remercie aussi Laura et Lon pour leur gentilesse, Sbastien avec qui
j'ai collabor pour DiveCenter en plus de tous ses prcieux conseils et
nos discussions sur le 3D, qui a beaucoup d'importance pour moi ainsi que
Flo et Benot.
Merci encore, au plaisir de travailler nouveau avec vous.
Amicalement,
Trinch Steven.
3
2 Prsentation de l'entreprise
Solar Games est un studio Franais de cration et de dveloppement
doutils de formation et de serious games. Avec une approche innovante et un moteur
de jeu propritaire, ils proposent des expriences de formation distance totalement
indites. Fonde en 2011 par des ingnieurs issus de la filire du jeu vido, Solar
Games est base dans le sud de la France et compte aujourdhui une dizaine de
collaborateurs expriments.
L'quipe est compose de :
Lon : Prsident & CEO
Alexandre : Fondateur & COO
Laura : Assistance administrative & commerciale
Jonathan : Directeur technique
Pierre : Chef de projet
Sbastien : Directeur artistique
Benot : Responsable Q&A
Florian : Dveloppeur
Pierre-David : Chercheur
Base de donnes :
Ce schma reprsente le MLD (Modle Logique de Donnes) de la base de donnes principale utilise (prod-solargames.myaltis.fr).
7
crans :
Comme on peut le constater, la page principale est la page par dfaut du site.
De cette page, on peut accder la page Informations et aux diffrents serveurs et
leurs graphiques. Depuis la page Infos, on peut retourner la page principale.
La page principale permet d'accder aux donnes d 'un des serveurs de la liste
Une fois sur le serveur spcifi, on a accs aux diffrents graphiques qui vont
permettre de choisir les donnes visualiser
La page Infos regroupe les mises jours de la plus rcente la plus ancienne.
Ce qui donne l'avantage de garder une trace sur l'volution du site depuis le
dbut
Bilan :
Cet environnement a t le plus complexe a ralis, mon avis, au niveau du nombre
de langages utiliss (PHP pour Symfony, Bootstrap pour CSS, Twig pour la liaison
entre PHP et HTML, Doctrine pour les requtes SQL (mySQL en l'occurence) ainsi
que pour rcuprer les tables de la BDD distante et les afficher sous forme d'entits
objet (ORM Object Relational Mapping / Mapping Objet Relationnel) et Chart.js
pour mettre ses donnes en graphique.
Ce framework trs puissant m'a donc permis de combiner tous ces langages en
utilisant l'architecture MVC (Modle-Vue-Contrleur) pour avoir un code propre et
clair.
La plus grande difficult a t d'apprendre l'utiliser, me l'approprier et m'en servir
pour mes besoins.
Dans ce cas, mes besoins taient de construire des requtes qui affichent des rsultats
sous forme de graphiques.
Les requtes en elles-mme n'avaient rien de compliqu.
Ce projet tait prvu pour un mois (dbut stage -> fin novembre). J'ai fini un peu en
avance cependant le travail non prvu (les requtes + affichage) a rduit mon temps
allou pour la recherche et les tests de framework, ce qui m'a fait pass 80% de
dveloppement et 20% de recherche.
10
11
Seulement deux tables, une table user qui contient les comptes des utilisateurs et une
table code_acces qui contient les codes d'accs qui seront transmis aux personnes
concernes.
La table user est la plus complexe car elle comprend diffrentes fonctionnalits lies
l'application.
En effet, certaines colonnes sont rserves aux envois de mails et aux remises zro
de mot de passe. Symfony la construit et la gre elle-mme.
La table code_acces ne contient que deux colonnes, une cl primaire autoincrmente et la colonne du code d'accs.
Ce code d'accs est une cl gnre au pralable qui contient 16 caractres, comme
l'exemple suivant : 123A-45BC-DE7F-GH89. Les quatres premiers sont les plus
important car c'est eux qui vont dterminerla fonction exacte du compte de
l'utilisateur.
Les trois premires correspondent la commune et la lettre savoir si le compte est
un compte de dmonstration (par exemple) ou autre.
12
Sur Phalcon, la base de donnes est plus consquente. Deux fois plus de tables pour
avoir les mmes fonctionnalits que sur Symfony. Cependant l'avantage est que c'est
plus lisible et maintenable si on veut rajouter d'autres donnes.
Par exemple les tables email_reset et email_confirmations, la premire gre la
rinitialisation des mots de passes du compte utilisateur et la deuxime l'activation du
compte, une fois cre par l'utilisateur.
13
Ecrans :
14
Bilan :
Plusieurs difficults dans ce projet, tout d'abord, l'utilisation du CSS un niveau
lev, notamment dans l'utilisation du positionnement des images supplmentaires.
C'est surtout compliqu, du l'utilisation du responsive (technique qui permet de
grer la page selon la taille de l'cran).
Il y a donc beaucoup de cas grer, des tailles minimums sont imposes afin de ne
pas dformer le plan de la page initial. Il faut grer les messages d'erreurs et tous les
nombreux diffrents blocs de l'cran.
Ensuite, la deuxime difficult est lie Symfony. En particulier l'utilisation des
bundles(extension de Symfony pr-programme par des dveloppeurs afin de faire
gagner du temps). Le bundle en question, qui s'appelle FOSUserBundle, est le bundle
le plus utilis de Symfony car il gre lui tout seul tout l'aspect utilisateur, session,
base de donnes et protection contre les hackers (injection SQL et autre).
L'avantage du ct de Phalcon est qu'on peut choisir nous mme l'architecture alors
qu'on est oblig de respecter certaines normes avec Symfony (pour l'architecture de
base).
Au final, la conception et le dveloppement de DIVE Center a t fastidieux, mais j'ai
beaucoup appris et j'ai pu utilis ces deux frameworks dans de bonnes conditions. Ma
comprhension de l'architecture MVC s'est accrue ainsi que mes facults
d'apprentissage de nouveaux langages et frameworks.
15
4 Conclusions
Au cours de ce stage d'entreprise, j'ai pu mettre en pratique les comptnces
suivantes :
Maquetter l'application
Dvelopper une interface utilisateur
Dvelopper des composants d'accs aux donnes
Dvelopper des pages Web en lien avec une base de donnes
Concevoir une base de donnes
Mettre en place une base de donnes
Dvelopper des composants dans le langage d'une base de donnes
Concevoir une application
Collaborer la gestion d'un projet informatique
Dvelopper des composants mtier
Construire une application n-tiers
Prparer et excuter les plans de tests d'une application
Prparer et excuter le dploiement d'une application
16