From 09016f68603733147ca00fb4e371e65ac47f81d2 Mon Sep 17 00:00:00 2001 From: arussac Date: Sun, 27 Apr 2025 16:57:19 +0200 Subject: [PATCH] prout --- contenu/frontend.md | 24 ++++++++++++++++++++++++ diapo_master.pdf | Bin 131602 -> 144243 bytes diapo_master.tex | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 contenu/frontend.md diff --git a/contenu/frontend.md b/contenu/frontend.md new file mode 100644 index 0000000..dea4fe4 --- /dev/null +++ b/contenu/frontend.md @@ -0,0 +1,24 @@ +## choix des technologies +- HTML +- CSS +- Javascript +- ChartJS +- Ajax + +## Efforts notables +Le carousel en trois dimensions avec l'animation du mouvement, et modulable en fonction du nombre de projets requis, accompagné d'une adaptation de la taille en fonction de la taille de la fenêtre (responsive) + +La mise en place d'un menu déroulant pour cacher les images quand il y en a trop dans un projet + +La problématique d'affichage des images compréssée pour une meilleure génération des images + +le style passe partout qui permet à chaque utilisateur de se sentit à l'aise + +## Difficulté +Interfacer de manière optimale chaque partie du front end avec le serveur et l'application pour que l'utilisateur puisse utiliser les deux versions facilement + +l'évolution constante des routes et de la logique du serveur + le changement du modèle de donnée + +## Apprentissage +Générer de la 3D en HTML et CSS +Travailler avec des images et des vidéos. \ No newline at end of file diff --git a/diapo_master.pdf b/diapo_master.pdf index 892e593268febb719a4b72942a0648db0addaeb4..e1cee22e254a5bdad0a191fb497f6ef3d4a19055 100644 GIT binary patch delta 29717 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 diff --git a/diapo_master.tex b/diapo_master.tex index 767fbba..7ee38b9 100644 --- a/diapo_master.tex +++ b/diapo_master.tex @@ -97,6 +97,41 @@ \end{itemize} \end{frame} +% Partie front end +\subsection{Front end} +\begin{frame}{Front end} + \textbf{Choix des technologies :} + \begin{itemize} + \item HTML, CSS, Javascript + \item ChartJS pour la visualisation de données + \item Ajax pour la communication asynchrone + \end{itemize} + \vspace{0.5em} + \textbf{Efforts notables :} + \begin{itemize} + \item Carousel 3D animé, modulable selon le nombre de projets + \item Responsive : adaptation à la taille de la fenêtre + \item Menu déroulant pour cacher les images en excès + \item Affichage d'images compressées pour optimiser la génération + \item Style universel pour le confort utilisateur + \end{itemize} +\end{frame} + +\begin{frame}{Front end (suite)} + \textbf{Difficultés rencontrées :} + \begin{itemize} + \item Interface optimale entre le front end, le serveur et l'application mobile + \item Évolution constante des routes et de la logique serveur + \item Adaptation aux changements du modèle de données + \end{itemize} + \vspace{0.5em} + \textbf{Apprentissages :} + \begin{itemize} + \item Génération de 3D en HTML et CSS + \item Manipulation d'images et de vidéos + \end{itemize} +\end{frame} + % Démonstration \section{Démonstration} \begin{frame}{Démonstration}