|
|
@ -9,9 +9,10 @@
|
|
|
|
\usepackage{mathabx}
|
|
|
|
\usepackage{mathabx}
|
|
|
|
\usepackage{listings}
|
|
|
|
\usepackage{listings}
|
|
|
|
\usepackage{xcolor}
|
|
|
|
\usepackage{xcolor}
|
|
|
|
\usepackage{subcaption}
|
|
|
|
% \usepackage{subcaption}
|
|
|
|
\usepackage{multirow}
|
|
|
|
% \usepackage{multirow}
|
|
|
|
\usepackage{makecell}
|
|
|
|
% \usepackage{makecell}
|
|
|
|
|
|
|
|
\usepackage{cite}
|
|
|
|
|
|
|
|
|
|
|
|
\usepackage{hyperref}
|
|
|
|
\usepackage{hyperref}
|
|
|
|
\hypersetup{
|
|
|
|
\hypersetup{
|
|
|
@ -46,9 +47,12 @@
|
|
|
|
language=Javascript
|
|
|
|
language=Javascript
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
\setmainfont{Tahoma}
|
|
|
|
\newfontfamily{\Tahoma}{Tahoma}
|
|
|
|
|
|
|
|
\newfontfamily{\SourceSans}{Source Sans Pro}
|
|
|
|
|
|
|
|
\newfontfamily{\SourceSansSB}[UprightFont={* Semibold}]{Source Sans Pro}
|
|
|
|
|
|
|
|
\setmainfont{Source Sans Pro}
|
|
|
|
% \newfontfamily{\ossb}[UprightFont={* Semibold}]{Open Sans}
|
|
|
|
% \newfontfamily{\ossb}[UprightFont={* Semibold}]{Open Sans}
|
|
|
|
\newcommand{\entity}[1]{\textbf{#1}}
|
|
|
|
\newcommand{\entity}[1]{{\SourceSansSB #1}}
|
|
|
|
\newcommand{\entityb}[1]{#1}
|
|
|
|
\newcommand{\entityb}[1]{#1}
|
|
|
|
\newcommand{\person}[2]{#1 #2}
|
|
|
|
\newcommand{\person}[2]{#1 #2}
|
|
|
|
\newcommand{\term}[1]{\textit{#1}}
|
|
|
|
\newcommand{\term}[1]{\textit{#1}}
|
|
|
@ -72,7 +76,6 @@
|
|
|
|
% From https://moodle.utbm.fr/pluginfile.php/117803/mod_book/chapter/595/CARNET-A22-20220711.pdf
|
|
|
|
% From https://moodle.utbm.fr/pluginfile.php/117803/mod_book/chapter/595/CARNET-A22-20220711.pdf
|
|
|
|
\setutbmkeywords{Télécommunications - Informatique - Développement logiciel - Logiciel de gestion - Logiciel de réseaux}
|
|
|
|
\setutbmkeywords{Télécommunications - Informatique - Développement logiciel - Logiciel de gestion - Logiciel de réseaux}
|
|
|
|
\setutbmabstract{
|
|
|
|
\setutbmabstract{
|
|
|
|
% TODO: source = moment.tech?
|
|
|
|
|
|
|
|
J'ai effectué mon stage ST40 au sein du département de développement full-stack de l'entreprise \entity{Moment},
|
|
|
|
J'ai effectué mon stage ST40 au sein du département de développement full-stack de l'entreprise \entity{Moment},
|
|
|
|
une start-up française basée à Paris et fondée en 2013.
|
|
|
|
une start-up française basée à Paris et fondée en 2013.
|
|
|
|
\newline
|
|
|
|
\newline
|
|
|
@ -90,12 +93,67 @@
|
|
|
|
\begin{document}
|
|
|
|
\begin{document}
|
|
|
|
% \maketitle
|
|
|
|
% \maketitle
|
|
|
|
\makeutbmfrontcover{}
|
|
|
|
\makeutbmfrontcover{}
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
\Tahoma
|
|
|
|
\tableofcontents
|
|
|
|
\tableofcontents
|
|
|
|
|
|
|
|
}
|
|
|
|
\newpage
|
|
|
|
\newpage
|
|
|
|
|
|
|
|
|
|
|
|
\section{Présentation}
|
|
|
|
\section{Présentation}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{Présentation de l'entreprise}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\entity{Moment} est une entreprise fondée en 2013, avec pour but de rendre l'expérience des voyageurs plus simple,
|
|
|
|
|
|
|
|
plus plaisante et plus connectée \cite{momenttech}.
|
|
|
|
|
|
|
|
Pour y parvenir, \entity{Moment} propose une plateforme digitale déployée dans les avions, les trains, les bateaux
|
|
|
|
|
|
|
|
de croisière et plus récemment les cliniques de santé.
|
|
|
|
|
|
|
|
Cette plateforme permet aux voyageurs de se connecter à un réseau wifi avec leurs propres appareils, et de profiter
|
|
|
|
|
|
|
|
de divertissements directement sur ceux-cis.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
% TODO: récupérer le vrai nombre d'employés et de projets
|
|
|
|
|
|
|
|
À ce jour, \entityb{Moment} s'apprête à compter 10 ans de travail dans ce domaine, et possède une trentaine d'employés.
|
|
|
|
|
|
|
|
\entityb{Moment} a lancé une cinquantaine de projets, dans 15 pays, et ses produits sont utilisés par plus de 10 millions
|
|
|
|
|
|
|
|
de passagers par jour.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
% TODO: valider Air France?
|
|
|
|
|
|
|
|
\entityb{Moment} fournit ses services aujourd'hui à \entity{Air France}, l'\entity{Aéroport de Paris},
|
|
|
|
|
|
|
|
\entity{TGV InOui}, \entity{Air Belgium}, \entity{Brittany Ferries} et \entity{Air Senegal}.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L'entreprise \entityb{Moment} a lancé en 2021 une filiale nommée \entity{Moment Care}, qui se spécialise dans
|
|
|
|
|
|
|
|
le divertissement dans le domaine de la santé:
|
|
|
|
|
|
|
|
\entity{Moment Care} souhaite révolutionner le contenu des offres de divertissement dans les établissements
|
|
|
|
|
|
|
|
de santé, et la manière d'y accéder \cite{momentcare}.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{Présentation du lieu de stage}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Lors de mon stage, les locaux de \entityb{Moment} se trouvaient à Paris, près de la place de la Bastille.
|
|
|
|
|
|
|
|
Ces bureaux sont partagés par la grande majorité des employés de \entityb{Moment}, qui sont organisés en
|
|
|
|
|
|
|
|
différents pôles:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\begin{description}
|
|
|
|
|
|
|
|
\item[Développement full-stack:] C'est au sein de cette équipe que mon stage s'est déroulé,
|
|
|
|
|
|
|
|
sous la supervision de son chef d'équipe, Pierre Perrin.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\item[Marketing \& Design:] Ce pôle s'occupe de l'image de l'entreprise et des produits, à la fois sur
|
|
|
|
|
|
|
|
les réseaux sociaux et auprès des clients présents et futurs.
|
|
|
|
|
|
|
|
Cette équipe décide notamment du design des différentes applications, qui est envoyé à l'équipe
|
|
|
|
|
|
|
|
\entity{Fullstack R\&D} pour implémentation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\item[PMO (Project Management Office):] Ce pôle est constitué de chefs de projets, qui gèrent les demandes
|
|
|
|
|
|
|
|
des clients, les dates limites, les statistiques à relayer aux clients et les difficultés techniques.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\item[Contenu:] L'équipe contenu s'occupe de maintenir la base de contenus disponibles sur les
|
|
|
|
|
|
|
|
différentes plateformes déployées. Elle négocie auprès des distributeurs de films, de séries
|
|
|
|
|
|
|
|
et de magazines, et elle maintient à jour le \term{Content Management System} (CMS).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\item[Business Developers:] Cette équipe est en contact avec nos clients actuels et de potentiels clients
|
|
|
|
|
|
|
|
futurs. Elle met en place le business plan, amène à l'entreprise de nouvelles opportunités
|
|
|
|
|
|
|
|
de partenariat et négocie les prix lors de la vente des produits de l'entreprise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\end{description}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\newpage
|
|
|
|
|
|
|
|
|
|
|
|
% Moment -> Moment + Moment Care
|
|
|
|
% Moment -> Moment + Moment Care
|
|
|
|
% Fondateur? (TODO:)
|
|
|
|
% Fondateur? (TODO:)
|
|
|
|
% Chiffres? (TODO:)
|
|
|
|
% Chiffres? (TODO:)
|
|
|
@ -105,40 +163,46 @@
|
|
|
|
% Gitlab
|
|
|
|
% Gitlab
|
|
|
|
|
|
|
|
|
|
|
|
% TODO: valider tout ça
|
|
|
|
% TODO: valider tout ça
|
|
|
|
Le groupe \entity{Moment} a été fondé en 2013, et est constitué à ce jour de deux entreprises:
|
|
|
|
% Le groupe \entity{Moment} a été fondé en 2013, et est constitué à ce jour de deux entreprises:
|
|
|
|
|
|
|
|
|
|
|
|
\begin{itemize}
|
|
|
|
% \begin{itemize}
|
|
|
|
\item \entity{Moment}, qui se spécialise dans le développement de solutions de divertissement pour l'aviation, le secteur maritime,
|
|
|
|
% \item \entity{Moment}, qui se spécialise dans le développement de solutions de divertissement pour l'aviation, le secteur maritime,
|
|
|
|
les chemins de fer et les aéroports.
|
|
|
|
% les chemins de fer et les aéroports.
|
|
|
|
\item \entity{Moment Care}, qui se spécialise dans le développement de solutions de divertissement pour le domaine de la santé.
|
|
|
|
% \item \entity{Moment Care}, qui se spécialise dans le développement de solutions de divertissement pour le domaine de la santé.
|
|
|
|
\end{itemize}
|
|
|
|
% \end{itemize}
|
|
|
|
|
|
|
|
|
|
|
|
À ce jour, les deux entreprises partagent les mêmes bureaux à Paris.
|
|
|
|
% À ce jour, les deux entreprises partagent les mêmes bureaux à Paris.
|
|
|
|
|
|
|
|
|
|
|
|
J'ai réalisé mon stage dans l'équipe \entity{développement full-stack}, qui maintient et développe les applications front-end pour
|
|
|
|
% J'ai réalisé mon stage dans l'équipe \entity{développement full-stack}, qui maintient et développe les applications front-end pour
|
|
|
|
\entityb{Moment} et \entityb{Moment Care}, ainsi qu'une partie des applications back-end (en grande partie pour \entityb{Moment Care}).
|
|
|
|
% \entityb{Moment} et \entityb{Moment Care}, ainsi qu'une partie des applications back-end (en grande partie pour \entityb{Moment Care}).
|
|
|
|
|
|
|
|
|
|
|
|
Notre équipe est menée par mon tuteur de stage, \person{Pierre}{Perrin}, et nous travaillons en collaboration avec les chefs de projets
|
|
|
|
% Notre équipe est menée par mon tuteur de stage, \person{Pierre}{Perrin}, et nous travaillons en collaboration avec les chefs de projets
|
|
|
|
de \entityb{Moment} et de \entityb{Moment Care}, l'équipe \entity{\og SysOps \fg} et l'équipe \entity{Design}.
|
|
|
|
% de \entityb{Moment} et de \entityb{Moment Care}, l'équipe \entity{\og SysOps \fg} et l'équipe \entity{Design}.
|
|
|
|
|
|
|
|
|
|
|
|
% TODO: trouver une source sur agile, utiliser la nomenclature associée
|
|
|
|
% % TODO: trouver une source sur agile, utiliser la nomenclature associée
|
|
|
|
Notre équipe fonctionne avec la méthode \term{agile}: chaque semaine, nous faisons une réunion présentant les sujets et taches de la semaine,
|
|
|
|
% Notre équipe fonctionne avec la méthode \term{agile}: chaque semaine, nous faisons une réunion présentant les sujets et taches de la semaine,
|
|
|
|
ainsi que leurs priorités.
|
|
|
|
% ainsi que leurs priorités.
|
|
|
|
Chaque matin, nous faisons également une courte réunion où chaqu'un présente le travail qu'iel a réalisé la veille,
|
|
|
|
% Chaque matin, nous faisons également une courte réunion où chaqu'un présente le travail qu'iel a réalisé la veille,
|
|
|
|
et ce qu'iel va faire ce jour.
|
|
|
|
% et ce qu'iel va faire ce jour.
|
|
|
|
|
|
|
|
|
|
|
|
La distribution du travail se fait via \entity{Jira}: en début de semaine, le \term{backlog} est mis à jour pour contenir l'ensemble
|
|
|
|
% La distribution du travail se fait via \entity{Jira}: en début de semaine, le \term{backlog} est mis à jour pour contenir l'ensemble
|
|
|
|
des taches retenues pour la semaine, ainsi que celles non-réalisées de la semaine dernière. Chaqu'un peut ensuite s'assigner
|
|
|
|
% des taches retenues pour la semaine, ainsi que celles non-réalisées de la semaine dernière. Chaqu'un peut ensuite s'assigner
|
|
|
|
des taches, travailler dessus, puis marquer la tache comme prête à être revue.
|
|
|
|
% des taches, travailler dessus, puis marquer la tache comme prête à être revue.
|
|
|
|
|
|
|
|
|
|
|
|
L'assurance de qualité se fait via des revues sur \entity{GitLab}: chaque modification au code doit être mise dans une \term{Merge Request}
|
|
|
|
% L'assurance de qualité se fait via des revues sur \entity{GitLab}: chaque modification au code doit être mise dans une \term{Merge Request}
|
|
|
|
(l'équivalent des \term{Pull Request} sur \entity{GitHub}), et un membre de l'équipe n'ayant pas contribué à cette modification
|
|
|
|
% (l'équivalent des \term{Pull Request} sur \entity{GitHub}), et un membre de l'équipe n'ayant pas contribué à cette modification
|
|
|
|
doit approuver celle-ci avant qu'elle ne puisse être ajoutée à la branche principale de développement.
|
|
|
|
% doit approuver celle-ci avant qu'elle ne puisse être ajoutée à la branche principale de développement.
|
|
|
|
|
|
|
|
|
|
|
|
% Tests unitaires
|
|
|
|
% Tests unitaires
|
|
|
|
%
|
|
|
|
%
|
|
|
|
|
|
|
|
|
|
|
|
\section{Travail réalisé}
|
|
|
|
\section{Travail réalisé}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\newpage
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\bibliographystyle{plain}
|
|
|
|
|
|
|
|
\bibliography{references}{}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\makeutbmbackcover{}
|
|
|
|
\makeutbmbackcover{}
|
|
|
|
\end{document}
|
|
|
|
\end{document}
|
|
|
|