\documentclass[10pt]{beamer}
\beamertemplatenavigationsymbolsempty

\usepackage[utf8]{inputenc}
\usepackage{default}

\usepackage{graphicx}
\graphicspath{{pictures/}}

\usepackage[french]{babel}
\usepackage[T1]{fontenc}

\usetheme{metropolis}
%\usecolortheme{dove}

\begin{document}

\begin{frame}
    \frametitle{Université de Technologie de Belfort-Montbéliard\\
            Département informatique}
    \vskip 4em
    \begin{center}
        {\LARGE Développement de nouveaux modules sur le projet Sith}\\
    \end{center}
    \vskip 4em
    Florent \textsc{Jacquet}\\
    Guillaume \textsc{Renaud}\\
    {\scriptsize TO52 - A16}
\end{frame}

\begin{frame}
    \frametitle{Sommaire}
    \tableofcontents
\end{frame}

\section{Les nouvelles applications}
\subsection{Eboutic}
\begin{frame}[fragile]\frametitle{Eboutic}
    \begin{itemize}
        \item Fournir une boutique
        \item Paiement en ligne en lien avec l'API du Credit Agricole
        \item Gestion des cotisations et rechargements
        \item Attention aux accès concurrentiels: pas visibles pendant le développement, car mono-thread, mais problèmes
            à la mise en production
    \end{itemize}
\end{frame}

\subsection{Le SAS}
\begin{frame}[fragile]\frametitle{Le SAS - Stock à Souvenirs}
    \begin{itemize}
        \item Galerie de photos
        \item Upload simple pour tout le monde, même pour plusieurs dizaines de photos
        \item Modération et gestion des droits basée sur la gestion des fichiers, ce qui a permis d'améliorer ces
            derniers
        \item Problèmes d'optimisation de certaines pages qui mettaient plus de 9 secondes à générer (plus que 2s
            maintenant)
    \end{itemize}
\end{frame}

\subsection{Les élections}
\begin{frame}[fragile]\frametitle{Les élections}
    \begin{itemize}
        \item Grosse partie "gestion": c'est Sli qui a principalement développé l'application
        \item Revue des \textsc{merges request} et choix de design
        \item Problèmatique de législation vite ignorées puisque validation officielle en AG
    \end{itemize}
\end{frame}

\subsection{La laverie}
\begin{frame}[fragile]\frametitle{La laverie}
    \begin{itemize}
        \item Gestion d'un planning de reservation en prenant bien en compte les différents états (hors-service, ...) de
            chaque machine
        \item Génération de formulaires dynamiques en fonction des réservations (factory design pattern)
    \end{itemize}
\end{frame}

\subsection{La communication}
\begin{frame}[fragile]\frametitle{La communication}
    \begin{itemize}
        \item Dynamise le site avec tous les textes paramètrables
        \item Fourni un système de news
        \item Fourni une newsletter
    \end{itemize}
    \begin{itemize}
        \item Envoie de mails en masse
        \item Beaucoup de templates
    \end{itemize}
\end{frame}

\section{La gestion des stocks}

\subsection{Fonctionnement}
\begin{frame}[fragile]{Fonctionnement}
    \begin{itemize}
        \item Création automatique des listes de courses
        \item Approvisionnement des stocks
        \item Prise d'éléments dans le stock
    \end{itemize}
\end{frame}

\subsection{Améliorations et difficultés}
\begin{frame}[fragile]\frametitle{Améliorations et difficultés}
    \begin{itemize}
        \item Mise à jour quantité liste de courses
        \item Mise à jour automatique du stock selon les ventes
        \item Ajout au système de notifications
    \end{itemize}
    \textbf{Difficultés}
    \begin{itemize}
        \item Découverte du design pattern "factory" pour les formulaires dynamiques
        \item Apprentissage de Python, en plus du framework
    \end{itemize}
\end{frame}

\section{Le rôle de mainteneur}

\subsection{Réviser les merge requests}
\begin{frame}[fragile]\frametitle{Réviser les merge requests}
    \begin{itemize}
        \item Long et fastidieux
        \item Nécessaire pour maintenir une base de code cohérente
        \item Permet de retrouver les bugs des nouveaux contributeurs
        \item Oriente les contributeurs sur la bonne voie et la marche à suivre avec Django/Jinja2/etc...
    \end{itemize}
\end{frame}

\subsection{Gestion des bugs, des tickets, de la mise en production...}
\begin{frame}[fragile]\frametitle{Gestion des bugs, des tickets, de la mise en production...}
    \begin{itemize}
        \item Ouverture/fermeture des tickets
        \item Mailing list/IRC
        \item Mise en production, gestion des migrations
        \item Restauration de la base de tests régulièrement
    \end{itemize}
    \par Organisation de la passation
\end{frame}

\section{Conclusion}
\begin{frame}[fragile]\frametitle{Conclusion}
    \begin{itemize}
        \item Apprentissage Django/Git
        \item Nouvelle mise en pratique des concepts de base de données relationnelles
        \item Utilisation poussée de Gitlab
        \item Formation de nouveaux contributeurs
    \end{itemize}
\end{frame}


\begin{frame}[fragile]
    \begin{center}
        \textbf{Merci de votre attention}\\
        Questions?\\
        Remarques?\\
    \end{center}
\end{frame}

\end{document}
