diff --git a/.gitattributes b/.gitattributes index 0b75546..cf8f1ee 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ *.pdf filter=lfs diff=lfs merge=lfs -text *.gif filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore index 5a51eaa..7c65322 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ documentation/* !documentation/documentation.pdf !documentation/documentation.tex +!documentation/img diff --git a/documentation/documentation.tex b/documentation/documentation.tex index 97930cc..ac4c354 100644 --- a/documentation/documentation.tex +++ b/documentation/documentation.tex @@ -1,9 +1,9 @@ \documentclass{article} -\usepackage[french]{babel} % français \usepackage[T1]{fontenc} % encodage \usepackage[hidelinks]{hyperref} % liens cliquable dans la table des matières \usepackage{graphicx} % images +\usepackage{subfigure} % deux images côte à côte \usepackage{listingsutf8} % intégration code \usepackage{xcolor} % couleurs personnalisés \usepackage{geometry} % change les dimensions de la page @@ -98,6 +98,8 @@ escapebegin=\color{ipython_green}, } +\renewcommand{\contentsname}{Table des matières} % traduction en FR + \title{\href{https://git.kennel.ml/Anri/GesMag}{Projet final Tkinter}} \author{Anri Kennel\thanks{Numéro d'étudiant : 20010664}\, (L2-A)\\Module Programmation d’interfaces $\cdot$ Paris 8} \date{Année universitaire 2021-2022} @@ -136,6 +138,13 @@ \subsection{Cahier des charges} \begin{todolist} \item[\fait] Page de login \texttt{/1.5} + + \begin{figure}[!ht] + \centering + \includegraphics[height=0.4\textheight]{img/login.png} + \caption{Page de login} + \end{figure} + \begin{todolist} \item[\fait] Nom d'utilisateur ne contient que des lettres et des chiffres \item[\fait] Mot de passe de minimum 8 caractères dont 1 caractère spécial, une majuscule et une minuscule \textbf{$\Rightarrow$ possibilité d'afficher ou non le mot de passe en clair} @@ -143,23 +152,80 @@ \item[\fait] Un bouton pour quitter l'application \end{todolist} \item[\fait] Page de manager (définit par un nom d'utilisateur et un mot de passe) \texttt{/7.5} + + \begin{figure}[!ht] + \centering + \includegraphics[height=0.3\textheight]{img/manager.png} + \caption{Page du Manager} + \end{figure} + \begin{todolist} \item[\faitDifferemment] Peut ajouter et supprimer un caissier \textbf{$\Rightarrow$ lisiblité accru pour les champs mal renseignés, l'ID n'est pas à renseigné car assigné automatiquent par la base de donnée} + + \begin{figure}[!ht] + \centering + \begin{minipage}{.5\textwidth} + \centering + \includegraphics[height=0.12\textheight]{img/add_cashier.png} + \caption{Ajout d'un caissier} + \end{minipage}% + \begin{minipage}{.5\textwidth} + \centering + \includegraphics[height=0.15\textheight]{img/remove_cashier.png} + \caption{Suppression d'un caissier} + \end{minipage} + \end{figure} + \item[\faitDifferemment] Peut voir la liste des caissiers \textbf{$\Rightarrow$ possibilité d'ouvrir des informations étendues sur un utilisateur, ainsi que de filtrer les utilisateurs (manager et caissiers) mais impossible de tout déselectionner (caissier par défaut)} + + \newpage \item[\fait] Un histogramme présentant l'évolution des sommes totales des ventes journalières de la semaine passée d'un utilisateur \textbf{$\Rightarrow$ accessible au double-clique dans la fenêtre des informations étendues d'un utilisateur} + + \begin{figure}[!ht] + \centering + \includegraphics[height=0.3\textheight]{img/user_info.png} + \caption{Informations étendues sur un utilisateur} + \end{figure} + \item[\fait] Un bouton pour vider tous les champs de saisie \item[\faitDifferemment] Un bouton pour quitter l'application \textbf{$\Rightarrow$ j'ai préféré mettre un bouton pour se déconnecter} \item[\fait] Un bouton pour se mettre en "mode caissier" \end{todolist} \item[\fait] Page de caissier (définit par un identifiant, un nom d'utilisateur, un mot de passe, un nom, un prenom, une date de naissance, une adresse et un code postal) \texttt{/6} + + \begin{figure}[!ht] + \hfill + \subfigure[En tant que Caissier]{\includegraphics[height=0.2\textheight]{img/cashier.png}} + \hfill + \subfigure[En tant que Manager]{\includegraphics[height=0.2\textheight]{img/cashier_as_manager.png}} + \hfill + \caption{Page du Caissier} + \end{figure} + \begin{todolist} \item[\fait] Afficher le stock disponible \begin{todolist} - \item[\faitDifferemment] 4 rayons de chacun au moins 10 articles de votre choix (fruits/légumes, boulangerie, boucherie/poissonnerie ou produits d'entretien) \textbf{$\Rightarrow$ toutes les images sont aux dimensions 50x50 et ont étés converties avec le logiciel Gimp} + \item[\faitDifferemment] 4 rayons de chacun au moins 10 articles de votre choix (fruits/légumes, boulangerie, \\boucherie/poissonnerie ou produits d'entretien) \textbf{$\Rightarrow$ toutes les images sont aux dimensions 50x50 et ont étés converties avec le logiciel Gimp} \item[\faitDifferemment] Au clic sur le produit, l'identifiant, le nom, la quantité en stock et le prix s'affichent \textbf{$\Rightarrow$ tout est affiché directement, pas besoin de cliquer sur le produit, il y a aussi un système de pages pour une meilleur lisibilité (10 éléments par page au maximum)} \end{todolist} + + \newpage \item[\fait] Possibilité de rajouter des produits en stock + + \begin{figure}[!ht] + \centering + \includegraphics[height=0.3\textheight]{img/add_stock.png} + \caption{Ajout d'éléments au stock} + \end{figure} + \item[\fait] Affichage d'un ticket de caisse + + \begin{figure}[!ht] + \centering + \includegraphics[height=0.3\textheight]{img/receipt.png} + \caption{Ticket de caisse avec 2 éléments au panier} + \end{figure} + \begin{todolist} \item[\fait] Date de vente \item[\fait] ID, nom, quantité, prix des produits achetés @@ -184,10 +250,6 @@ \item[\faitDifferemment] Ajout d'autres fonctionnalités \texttt{/1} \begin{todolist} \item[\faitDifferemment] J'ai pas vraiment ajouter une toute nouvelle fonctionnalité, mais améliorer ce qui était demandé pour une plus grande souplesse à l'utilisation (cf. les cases cochés avec des \ding{56}) - % \item Heure de connexion stricte pour les caissiers - % \item Meilleur caissier (avec le plus de ventes sur la journée/semaine précédente par exemple) - % \item Exporter le ticket de caisse en format image - % \item Chiffrer les mots de passes dans la base de donnée \end{todolist} \item[\faitDifferemment] Lisibilité du code \begin{todolist} diff --git a/documentation/img/add_cashier.png b/documentation/img/add_cashier.png new file mode 100644 index 0000000..4712a0f --- /dev/null +++ b/documentation/img/add_cashier.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b87768815f469b8f3e98f20b8b65500650ca3d5520e8430c1bd657e6ce397d9d +size 32727 diff --git a/documentation/img/add_stock.png b/documentation/img/add_stock.png new file mode 100644 index 0000000..1311b85 --- /dev/null +++ b/documentation/img/add_stock.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d697b1d646c0861f7ddd6e44e84704549b80ae1e5d2795682527d43ee1e05a5 +size 12219 diff --git a/documentation/img/cashier.png b/documentation/img/cashier.png new file mode 100644 index 0000000..5250133 --- /dev/null +++ b/documentation/img/cashier.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32511035564e6a66db5180c6cbac606b4ae8c219bafd5178aa820b910c935658 +size 169011 diff --git a/documentation/img/cashier_as_manager.png b/documentation/img/cashier_as_manager.png new file mode 100644 index 0000000..34b4adb --- /dev/null +++ b/documentation/img/cashier_as_manager.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b351382d5c27c6532a3f42ccdbb2c706920dde1aab55fac65ef978f7d5d366d +size 150569 diff --git a/documentation/img/login.png b/documentation/img/login.png new file mode 100644 index 0000000..e95f830 --- /dev/null +++ b/documentation/img/login.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23ed3447bdf38ae231e34a7f25e939d790db842cb5a76164449d65551bae42a4 +size 28946 diff --git a/documentation/img/manager.png b/documentation/img/manager.png new file mode 100644 index 0000000..6a49e72 --- /dev/null +++ b/documentation/img/manager.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd23d4007c9fa97713217344883078d94499e893e6bf6cee3b0a12d244c1dae9 +size 34864 diff --git a/documentation/img/receipt.png b/documentation/img/receipt.png new file mode 100644 index 0000000..c211e95 --- /dev/null +++ b/documentation/img/receipt.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6eb347ec1a6c86a49ff12483bdaa60b47eafeff14785853f18a54e549a4a2b8c +size 14005 diff --git a/documentation/img/remove_cashier.png b/documentation/img/remove_cashier.png new file mode 100644 index 0000000..60cbb6f --- /dev/null +++ b/documentation/img/remove_cashier.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:688c019784b54587d2e1be7c06bcb31fea682e2396a9874a3e59bff7aab02f21 +size 11875 diff --git a/documentation/img/user_info.png b/documentation/img/user_info.png new file mode 100644 index 0000000..de15fa4 --- /dev/null +++ b/documentation/img/user_info.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bffb7157e2f4df0e4887dd9252415b7192707d4dd6c1941309feb2195c3bc105 +size 34191