Proposition de modifications sujet #1

Closed
Yvan wants to merge 2 commits from (deleted):master into master
2 changed files with 36 additions and 33 deletions

View File

@ -1,4 +1,8 @@
# SAE-BUT1-WEB-Publique
Ressources pour la SAE de second semestre.
Projet web principalement en PHP
Ressources pour la SAE de second semestre.
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.
## Contexte ##
## Contexte
Une entreprise se charge de faire l'intermédiaire entre les
particuliers et des entreprises (B2C) pour la vente de matériel
@ -13,7 +13,6 @@ intermédiaire. Sa valeur ajoutée repose principalement sur sa capacité
valorisables, que ce soit des métaux précieux ou des composants qui
pourront être reconditionnés (batterie, écran tactile, disque ssd, RAM etc).
+-----------+ vente (usagé) +------------------+
| Client | -------------------> | |
| | <------------------- + Entreprise B2C |
@ -28,15 +27,15 @@ pourront être reconditionnés (batterie, écran tactile, disque ssd, RAM etc).
| | vente (neuf, recond)| |
+-------------+ +------------------+
### Exemple ###
### Exemple
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
de suivre ses interactions avec l'entreprise.
@ -53,11 +52,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.
## Existant ##
## Existant
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
vu au second semestre (programmation côté serveur avec PHP / connexion avec la BdD).
@ -65,22 +64,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).
## É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.
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.
Pour Fontainebleau : Luc Dartois, Florent Madelaine et Denis Monnerat
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.
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.
@ -89,7 +88,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.
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é.
### Notation indicative pour la partie technique ###
@ -99,17 +98,17 @@ Le code sera indenté au mieux et commenté.
* (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 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).
### Notation indicative pour le reste ###
### Notation indicative pour le reste
* suivi des consignes (malus plus ou moins importants)
* (5 pts) clarté du plan et de la forme du rapport
* (5 pts) contenu du rapport
* (5 pts) wireflow
* (5 pts) cas de tests
### jalons indicatifs pour les livrables ###
### Jalons indicatifs pour les livrables
1. wireflow (2 semaines)
2. page du client (2 semaines)
@ -119,24 +118,24 @@ Le code sera indenté au mieux et commenté.
5. front-end (à faire en dernier)
## Détails BdD ##
## Détails BdD
Une bonne partie de la base de données est fournie.
Il y a une table pour les entreprises (Business)
une table pour les clients (Customer)
et une table pour les objets qui peuvent être échangés (TypeItem).
Il y a une table pour les entreprises (`Business`)
une table pour les clients (`Customer`)
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)
et une table contenant des donnes personnelles des clients (CustomerProtectedData).
Il y a une table contenant des détails sur les objets (`TypeItemDetails`)
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.
* squelette de header (metadonnées adaptées, titre, etc)
@ -145,13 +144,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.
À 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!
(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.
En pratique, il y a
1. retraitement, génération de composants, extraction d'éléments dont des métaux.
@ -163,9 +162,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.
### 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.
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.