Proposition de modifications sujet #1

Closed
Yvan wants to merge 2 commits from (deleted):master into master
2 changed files with 35 additions and 31 deletions
Showing only changes of commit 94f2edfa3e - Show all commits

View File

@ -1,4 +1,8 @@
# SAE-BUT1-WEB-Publique # SAE-BUT1-WEB-Publique
Ressources pour la SAE de second semestre. Ressources pour la SAE de second semestre.
Projet web principalement en PHP Projet web principalement en PHP
# Sujet
[Voir le sujet](./SujetSAE.md)

View File

@ -1,8 +1,8 @@
# Projet SAE 2.02 # # Projet SAE 2.02
Ce projet se fait dans le cadre d'une SAE commune avec SAE 2.05 et SAE 2.06. Ce projet se fait dans le cadre d'une SAE commune avec SAE 2.05 et SAE 2.06.
## Contexte ## ## Contexte
Une entreprise se charge de faire l'intermédiaire entre les Une entreprise se charge de faire l'intermédiaire entre les
particuliers et des entreprises (B2C) pour la vente de matériel particuliers et des entreprises (B2C) pour la vente de matériel
@ -32,11 +32,11 @@ pourront être reconditionnés (batterie, écran tactile, disque ssd, RAM etc).
https://www.bbc.com/future/article/20161017-your-old-phone-is-full-of-precious-metals https://www.bbc.com/future/article/20161017-your-old-phone-is-full-of-precious-metals
Smartphones are pocket-sized vaults of precious metals and rare earths. A typical iPhone is estimated to house around 0.034g of gold, 0.34g of silver, 0.015g of palladium and less than one-thousandth of a gram of platinum. It also contains the less valuable but still significant aluminium (25g) and copper (around 15g). > Smartphones are pocket-sized vaults of precious metals and rare earths. A typical iPhone is estimated to house around 0.034g of gold, 0.34g of silver, 0.015g of palladium and less than one-thousandth of a gram of platinum. It also contains the less valuable but still significant aluminium (25g) and copper (around 15g).
## La réalisation ## ## La réalisation
Il s'agit de mettre en oeuvre un site web qui permet à un client Il s'agit de mettre en oeuvre un site web qui permet à un client
de suivre ses interactions avec l'entreprise. de suivre ses interactions avec l'entreprise.
@ -53,11 +53,11 @@ ou son prix de vente, en particulier, le site doit permettre de réduire la dist
transport pour faciliter l'économie locale et solidaire. transport pour faciliter l'économie locale et solidaire.
## Existant ## ## Existant
Une base de données. Une base de données.
## À Faire ## ## À Faire
À partir d'un cahier des charges précis, mise en oeuvre du site revenant sur les aspects du premier semestre (HTML) mais surtout ceux À partir d'un cahier des charges précis, mise en oeuvre du site revenant sur les aspects du premier semestre (HTML) mais surtout ceux
vu au second semestre (programmation côté serveur avec PHP / connexion avec la BdD). vu au second semestre (programmation côté serveur avec PHP / connexion avec la BdD).
@ -65,22 +65,22 @@ vu au second semestre (programmation côté serveur avec PHP / connexion avec la
Il faudra aussi essayer de rendre le site sécurisé (login, session, évitre les injections sql) et le rendre ergonomique (mise en forme avec un framework CSS nativement réactif W3 CSS). Il faudra aussi essayer de rendre le site sécurisé (login, session, évitre les injections sql) et le rendre ergonomique (mise en forme avec un framework CSS nativement réactif W3 CSS).
## Éléments de la notation ## ## Éléments de la notation
Il s'agit d'un travail propre à chaque groupe, vous ne devez en aucun cas plagier. Il s'agit d'un travail propre à chaque groupe, vous ne devez en aucun cas plagier.
L'équipe enseignante se réserve le droit d'organiser une soutenance et de donner des notes différentes aux membres du groupe. L'équipe enseignante se réserve le droit d'organiser une soutenance et de donner des notes différentes aux membres du groupe.
Votre projet doit être disponible sur git sous forme d'un repo privé avec comme nom *BUT1-SAE-2.02-x-y-z* Votre projet doit être disponible sur git sous forme d'un repo privé avec comme nom `BUT1-SAE-2.02-x-y-z`
où x, y et z sont les noms des membres du projet. Vous devez donner accès à tous les enseignants intervenant dans la matière. où x, y et z sont les noms des membres du projet. Vous devez donner accès à tous les enseignants intervenant dans la matière.
Pour Fontainebleau : Luc Dartois, Florent Madelaine et Denis Monnerat Pour Fontainebleau : Luc Dartois, Florent Madelaine et Denis Monnerat
Pour Sénart : Luc Dartois et William Gaudelier. Pour Sénart : Luc Dartois et William Gaudelier.
La racine de votre dossier comporte un fichier readme.md avec les prénoms et noms des membres du groupe. La racine de votre dossier comporte un fichier `readme.md` avec les prénoms et noms des membres du groupe.
Votre projet sera en ligne sur le site de l'IUT d'un des membres du groupe dont l'url sera dans ce readme. Votre projet sera en ligne sur le site de l'IUT d'un des membres du groupe dont l'url sera dans ce readme.
Il conviendra de vérifier que vous avez bien géré les droits d'accès pour que n'importe qui (dont les correcteurs) puissent y avoir accès. Il conviendra de vérifier que vous avez bien géré les droits d'accès pour que n'importe qui (dont les correcteurs) puissent y avoir accès.
La racine de votre dossier comporte un fichier rapport.md, qui est un rapport au format markdown expliquant votre travail technique, ce qui a marché, ce qui n'a pas marché et mettant en avant une ou des réalisation particulièrement réussies. Vous terminer par une conclusion individuelle puis par une conclusion collective. Il ne s'agit pas d'un rapport extensif (3 ou 4 pages suffisent). La racine de votre dossier comporte un fichier `rapport.md`, qui est un rapport au format markdown expliquant votre travail technique, ce qui a marché, ce qui n'a pas marché et mettant en avant une ou des réalisation particulièrement réussies. Vous terminer par une conclusion individuelle puis par une conclusion collective. Il ne s'agit pas d'un rapport extensif (3 ou 4 pages suffisent).
En annexe du rapport, il conviendra de lister très précisément des cas de tests illustrant le bon fonctionnement de votre site. En annexe du rapport, il conviendra de lister très précisément des cas de tests illustrant le bon fonctionnement de votre site.
@ -89,7 +89,7 @@ Une seconde annexe du rapport, par exemple sous forme d'une ou plusieurs diagram
Nous vous invitons à utiliser trello ou un outil similaire de suivi de projet pour vous organiser. Nous vous invitons à utiliser trello ou un outil similaire de suivi de projet pour vous organiser.
La racine de votre dossier comportera un dossier source/ dans lequel il y aura une copie de votre site. La racine de votre dossier comportera un dossier `source/` dans lequel il y aura une copie de votre site.
Le code sera indenté au mieux et commenté. Le code sera indenté au mieux et commenté.
### Notation indicative pour la partie technique ### ### Notation indicative pour la partie technique ###
@ -99,17 +99,17 @@ Le code sera indenté au mieux et commenté.
* (4 pts) page d'achat, permettant au client d'acheter un objet. * (4 pts) page d'achat, permettant au client d'acheter un objet.
* (2 pts) gestion de la connexion du client au site. * (2 pts) gestion de la connexion du client au site.
* (2 pts) gestion de la session du client. * (2 pts) gestion de la session du client.
* (2 pts) front-end, réactivité du site et ergonomie des pages (utilisation de W3 CSS). * (2 pts) front-end, réactivité du site et ergonomie des pages (utilisation de [W3 CSS](https://www.w3schools.com/w3css/)).
* (2 pts) évolution de la base de données et du site pour permettre un suivi plus fin des actions du clients (historique achat et vente du client et évolution de sa cagnotte). * (2 pts) évolution de la base de données et du site pour permettre un suivi plus fin des actions du clients (historique achat et vente du client et évolution de sa cagnotte).
### Notation indicative pour le reste ### ### Notation indicative pour le reste
* suivi des consignes (malus plus ou moins importants) * suivi des consignes (malus plus ou moins importants)
* (5 pts) clarté du plan et de la forme du rapport * (5 pts) clarté du plan et de la forme du rapport
* (5 pts) contenu du rapport * (5 pts) contenu du rapport
* (5 pts) wireflow * (5 pts) wireflow
* (5 pts) cas de tests * (5 pts) cas de tests
### jalons indicatifs pour les livrables ### ### Jalons indicatifs pour les livrables
1. wireflow (2 semaines) 1. wireflow (2 semaines)
2. page du client (2 semaines) 2. page du client (2 semaines)
@ -119,24 +119,24 @@ Le code sera indenté au mieux et commenté.
5. front-end (à faire en dernier) 5. front-end (à faire en dernier)
## Détails BdD ## ## Détails BdD
Une bonne partie de la base de données est fournie. Une bonne partie de la base de données est fournie.
Il y a une table pour les entreprises (Business) Il y a une table pour les entreprises (`Business`)
une table pour les clients (Customer) une table pour les clients (`Customer`)
et une table pour les objets qui peuvent être échangés (TypeItem). et une table pour les objets qui peuvent être échangés (`TypeItem`).
Il y a une table contenant des détails sur les objets (TypeItemDetails) Il y a une table contenant des détails sur les objets (`TypeItemDetails`)
et une table contenant des donnes personnelles des clients (CustomerProtectedData). et une table contenant des donnes personnelles des clients (`CustomerProtectedData`).
Les objets peuvent être retraités pour en extraire des éléments, en particulier des métaux. La table Mendeleiev détaille les éléments. La table ExtractionFromTypeItem indique la quantité en mg de chaque élément qu'on peut espérer extraire d'un objet. Les objets peuvent être retraités pour en extraire des éléments, en particulier des métaux. La table `Mendeleiev` détaille les éléments. La table `ExtractionFromTypeItem` indique la quantité en mg de chaque élément qu'on peut espérer extraire d'un objet.
Les entreprises peuvent soit être à la recherche d'un objet (BusinessBuy) ou en vendre (BusinessSell). Les entreprises peuvent soit être à la recherche d'un objet (`BusinessBuy`) ou en vendre (`BusinessSell`).
Pour chaque client, on stocke les éléments extraits des objets qu'ils ont vendu (CustomerExtraction). Pour chaque client, on stocke les éléments extraits des objets qu'ils ont vendu (`CustomerExtraction`).
## Présentation de chaque page ## ## Présentation de chaque page
Toutes les pages sont en PHP et vont reprendre la même structure en incluant des squelettes. Toutes les pages sont en PHP et vont reprendre la même structure en incluant des squelettes.
* squelette de header (metadonnées adaptées, titre, etc) * squelette de header (metadonnées adaptées, titre, etc)
@ -145,13 +145,13 @@ Toutes les pages sont en PHP et vont reprendre la même structure en incluant de
Au préalable le haut de chaque page PHP va définir un certain nombre de variables, dont celles qui sont utilisées par les squelettes ci-dessus. Au préalable le haut de chaque page PHP va définir un certain nombre de variables, dont celles qui sont utilisées par les squelettes ci-dessus.
À terme il conviendra d'ajouter du W3 CSS pour donner un front-end intéressant. À terme il conviendra d'ajouter du [W3 CSS](https://www.w3schools.com/w3css/) pour donner un front-end intéressant.
Cette partie n'est pas prioritaire! Cette partie n'est pas prioritaire!
(regardez attentivement le barème indicatif). (regardez attentivement le barème indicatif).
## Autres Fonctionalités ## ## Autres fonctionnalités
### Retraitement ou reconditionnement### ### Retraitement ou reconditionnement
Pour l'instant je suis parti sur un retraitement intégral de l'objet. Pour l'instant je suis parti sur un retraitement intégral de l'objet.
En pratique, il y a En pratique, il y a
1. retraitement, génération de composants, extraction d'éléments dont des métaux. 1. retraitement, génération de composants, extraction d'éléments dont des métaux.
@ -163,9 +163,9 @@ Vous pourriez faire en sorte de gérer ces deux cas.
* cas 1. information sur composants/métaux récupérés dans l'esprit de ce qui est fait actuellement. * cas 1. information sur composants/métaux récupérés dans l'esprit de ce qui est fait actuellement.
### import massif de données ### ### Import massif de données
Vous pourriez ajouter une page spéciale (backend) permettant d'ajouter des données dans la base. Vous pourriez ajouter une page spéciale (backend) permettant d'ajouter des données dans la base.
Par exemple des objets avec ces composants et l'extraction qu'on pourrait en faire. Par exemple des objets avec ces composants et l'extraction qu'on pourrait en faire.
On peut envisager que ce soit par téléversement d'un fichier csv ou json. On peut envisager que ce soit par téléversement d'un fichier `csv` ou `json`.
Évidemment cette page serait protégée par mot de passe. Évidemment cette page serait protégée par mot de passe.