-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'sprint6/217-report' of github.com:FACT-Team/FactDev int…
…o sprint6/217-report Conflicts: documents/LaTexTemplate documents/final-report/final-report.pdf fact-team.github.io
- Loading branch information
Showing
7 changed files
with
124 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule beamer-theme
updated
from 0246e3 to fb1ce2
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 10 additions & 1 deletion
11
documents/final-report/contents/methodologie/integration-continue.tex
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,10 @@ | ||
\section{L'intégration continue} | ||
\section{L'intégration continue}\label{integration-continue} | ||
\subsection{L'utilisation d'un logiciel de versionnement} | ||
% La fusion automatique | ||
% Github pour la communication, Issues, TODO/Done/current | ||
|
||
\subsection{Le Branching Workflow} | ||
% Schéma | ||
|
||
\subsection{L'intégration continue avec Travis} | ||
% Schéma |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,108 @@ | ||
\section{Les outils} | ||
Afin de respecter les attentes du client, et de développer correctement le logiciel présenté section \ref{logiciel}, nous avons utilisés un | ||
certain nombres d'outils, dans divers domaines. | ||
|
||
\subsection{Outils de développement} | ||
Afin de développer à proprement parler le logiciel, nous avons utilisés plusieurs technologies. | ||
|
||
\begin{wrapfigure}{r}{0.4\textwidth} | ||
\begin{center} | ||
\includegraphics[width=0.38\textwidth]{../beamer/logos/qt.png} | ||
\end{center} | ||
\caption{Le développement -- Qt} | ||
\end{wrapfigure} | ||
Proposé par le client, il a été choisi de développer le logiciel en C++, en utilisant le framework Qt. | ||
En effet, ce langage permet d'avoir un logiciel qui soit rapide, et peu gourmand en mémoire. Cependant, il était nécessaire d'utiliser un | ||
framework de développement, et ce pour plusieurs raisons : | ||
\begin{itemize} | ||
\item Développer rapidement une interface claire, uniforme | ||
\item Avoir un logiciel Multi-Plateforme, executable sous Windows, Linux et Mac OS | ||
\item Faciliter les lectures et écritures à une base de données | ||
\end{itemize} | ||
En plus de ces avantages certains, Qt améliore le langage C++ afin de garder la même rapidité d'exécution tout en simplifiant l'écriture de | ||
certains concepts\footnote{Simplification de la gestion de la mémoire, Ajout du \textit{foreach}, redéfinition de tous les types de bases, …}. | ||
|
||
\newpage | ||
\begin{wrapfigure}{l}{0.3\textwidth} | ||
\begin{center} | ||
\Huge \LaTeX | ||
\end{center} | ||
\caption{La mise en formex -- \LaTeX} | ||
\end{wrapfigure} | ||
Un des besoins du client, était la génération des factures et des devis au format PDF. Avant le développement du logiciel, ce besoin était | ||
fait << à la main >>, en \LaTeX{}, avec un \textit{template} rédigé. Afin de regarder la même mise en forme des devis et des factures, nous | ||
devions générer du \LaTeX{} en réutilisant ce template.\\ Une fois ce fichier \texttt{.tex} généré, nous faisons appel à un compilateur \LaTeX{} afin d'en sortir un fichier PDF. | ||
|
||
\begin{wrapfigure}{r}{0.4\textwidth} | ||
\begin{center} | ||
\includegraphics[width=0.18\textwidth]{../beamer/logos/sqlite.png}~ | ||
\includegraphics[width=0.18\textwidth]{../beamer/logos/mysql.png} | ||
\end{center} | ||
\caption{Bases de données} | ||
\end{wrapfigure} | ||
Le logiciel utilise une base de données pour sauvegarder les différents clients, devis, factures etc… Le besoin initial était de pouvoir | ||
sauvegarder ça sur un ordinateur : le système de SQLite permet cela très simplement, tout est sauvegardé dans un fichier binaire.\\ Une fois | ||
avancé dans le projet, une autre solution est apparu : posséder un serveur de base de données afin d'utiliser le logiciel avec plusieurs | ||
postes clients. Ce besoin a été couvert à l'aide de MySQL, ainsi le logiciel permet de choisir l'une ou l'autre des manières de procéder. | ||
|
||
|
||
\subsection{Versionnement} | ||
\begin{wrapfigure}{l}{0.4\textwidth} | ||
\begin{center} | ||
\includegraphics[width=0.28\textwidth]{../beamer/logos/git.png}\\~\\ | ||
\includegraphics[width=0.32\textwidth]{../beamer/logos/github.png} | ||
\end{center} | ||
\caption{Versionnement -- Git et Github} | ||
\end{wrapfigure} | ||
%% TODO replace … by references (section, subsection, …) | ||
Étant 4 développeurs au sein de ce projet, il était indispensable de choisir un moyen de pouvoir travailler ensemble, simplement, mais | ||
également de pouvoir annuler une erreur. Pour cela, nous avons choisi d'utiliser le système développé par Linus \bsc{Torvalds}, Git\footnote{Git | ||
est le Système de Versionnement présenté dans l'UE DCLL}.\\ | ||
Le choix de Git s'est fait d'une part, car c'est un système de version distribué, et possédant un excellent système de branche, nous ayant | ||
permis de mettre en place notre système de branche présenté section \ref{integration-continue}.\\ | ||
D'autre part, plusieurs plateformes | ||
permettant de travailler avec Git existent sur Internet, l'une d'entre elle ayant particulièrement retenue notre attention: Github.\\ | ||
Github nous a ainsi permis de stocker notre code, noter les exigences à l'aide des issues, faire de la revue de code à l'aide des Pull | ||
Requests(…), lier nos builds Travis(…) et la couverture de code à une pull requests, et plus simplement : communiquer entre nous. | ||
|
||
\subsection{Qualité du code} | ||
\subsubsection{Coveralls: Couverture de code} | ||
Notre souhait était d'avoir un logiciel possédant 90\% de couverture de code par les tests. Afin de nous aider dans cet objectif, coveralls | ||
nous indiquait le pourcentage, mais aussi les lignes testées ou non testées, tout en gardant un historique afin de savoir si nous | ||
augmentions ou diminuions cette couverture. | ||
|
||
\subsubsection{Travis: Intégration continue} | ||
Lorsqu'un développeur envoie des données au serveur, Travis effectue automatiquement des actions afin de signaler si le build << passe >>, | ||
ou échoue. Plus d'informations sur son fonctionnement section TODO \ldots | ||
|
||
\subsubsection{Doxygen: Documentation technique} | ||
La documentation technique s'est fait au moyen de Doxygen, outils très connu dans le monde C++ et permettant de générer cette documentation | ||
en de nombreux formats différents, notamment HTML, XML, RTF, \LaTeX{}, \ldots | ||
|
||
\begin{figure}[H] | ||
\centering | ||
\includegraphics[height=1.9cm]{../beamer/logos/travis.png}~~ | ||
\includegraphics[height=0.8cm]{../beamer/logos/doxygen.png}~~ | ||
\includegraphics[height=1.9cm]{../beamer/logos/coveralls.png} | ||
\caption{Outils pour la qualité du code : Travis, Doxygen et Coveralls} | ||
\end{figure} | ||
\subsection{Organisation} | ||
\subsubsection{IRC : les réunions} | ||
Étant dans différents groupes de TP, et n'habitant pas au même endroit, il était difficile de se rencontrer régulièrement pour effectuer des | ||
réunions d'avancements régulières\footnote{Notamment les « Mêlées » Scrum, pour plus d'information section TODO blalba}. La solution a été | ||
d'utiliser un canal IRC, en cas de problème, nous pouvions demander de l'aide à quelqu'un du groupe de connecté, et si nous fixions une | ||
réunions nous étions tous présents afin de discuter de nos avancées, problèmes et de ce qu'il restait à faire. | ||
|
||
\subsubsection{Google Drive : Le backlog et l'organisation générale} | ||
Nous avons utilisé Google Drive pour stocker plusieurs documents, notamment le \textit{Product Backlog}\footnote{Pour plus d'informations | ||
section todo bla bla bla} qui était alimenté par le \textit{product owner}. Nous nous sommes également servit de Google Drive afin de rédiger les | ||
rapports mensuels, mais aussi pour créer les diagrammes d'avancée d'un sprint. | ||
|
||
\begin{figure}[H] | ||
\centering | ||
\includegraphics[height=0.12\textwidth]{../beamer/logos/irc.png}~~ | ||
\includegraphics[height=0.12\textwidth]{../beamer/logos/drive.png} | ||
\caption{Outils pour l'organisation avec IRC et Google Drive} | ||
\end{figure} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters