0% ont trouvé ce document utile (0 vote)
61 vues4 pages

Développement d'une interface web full stack

Transféré par

Meryem Ouali
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
61 vues4 pages

Développement d'une interface web full stack

Transféré par

Meryem Ouali
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Développement digital option web

Contrôle du module : Développement front-end full stack


Groupe : 201
Durée : 2h

Description d’interface :
- Le bouton rechercher permet de rechercher les ordinateurs par marque et par salle
- Les ordinateurs trouvés s’affichent dans une liste déroulante à choix multiple.
- La sélection d’un ordinateur permet d’afficher en dessous ses informations.
- Le formulaire à droite permet d’ajouter un nouvel ordinateur
On suppose qu’on a un fichier [Link] contenant :
export const marques=["Marque X","Marque Y","Marque Z"] export
const salles=["Salle X","Salle Y","Salle Z"]
export const Ordinateurs=[
{ Numero:100,
Marque:"MarqueX",
Intitulé:"Ordinateur X",
DateAchat:"01/12/2022",
Salle:"Salle X"},
{ Numero:200, Marque:"MarqueX",
Intitulé:"Ordinateur Y",
DateAchat:"01/01/2022",
Salle:"Salle Y"},
]
Dans le code ci-dessous, on a utilisé les composants comme montré sur l’interface :
Complétez le code :

Le composant DropList qui affiche une liste déroulante :

class DropList extends [Link]{


render(){
return (<select onChange={(e)=>……(Q1-a)… }>
{[Link] ……(Q1-a)…… }
select>) }}

Q1-a : …………………………………………………………………………………………………………………..

Q1-b : …………………………………………………………………………………………………….…………

Composant RecherchOrdinateur qui affiche une liste des intitulés des ordinateurs

function RecherchOrdinateur(props){
return (<div> <h3 style={{textDecoration: "underline", fontWeight: 'bold'}} >Ordinateur trouvés:</h3>
<select multiple onChange={(e)=>………(Q1-d)………………….([Link])}>
{[Link]((e,i)=>{
return <option key={i} value={[Link]}>……(Q1-c)…………</option>})}
</select>
</div>)
}

Page: 2 / 4
Q1-c :…………………………………………………………………………………………………………..

Q1-d :…………………………………………………………………………………………………………..

Composant FormNew: affiche un formulaire pour ajouter un nouvel ordinateur

const FormNew= (props)=>{


const [num, setNumero]=useState()
const [Intl, setIntitule]=useState()
const handleSubmit=(e)=>{
let or={Numero:num, Intitulé:Intl};
Q3-a……………….// annuler la soumission du formulaire
Q3-b……………….//envoyer le variable or au composant parent
}
return <form onSubmit={handleSubmit} >
<label>Numéro:</label><input onChange={……(Q2-a)………………..}/> <br></br>
<label>Intitulé:</label><input onChange={………(Q2-b)……………….}/><br></br>
<input type='submit' value="Nouvel ordinateur"/> </form>
}
Q2-a: …………………………………………………………………………………………………………………………..
Q2-b: …………………………………………………………………………………………………………………………
Q3-a: ……………………………………………………………………………………………………………………………
Q3-b:…………………………………………………………………………………………………………………………………….

Composant InfoOrdinateur: affiche les informations d’un seul ordinateur (props)

function InfoOrdinateur(props){
return <>
<span style={{textDecoration: "underline", fontWeight: 'bold'}}>Ordinateur selectioné:</span>
<p>Numero: {……Q4-a…………..}</p>
<p>Intitulé: {……… Q4-b …………….}</p>
<p>Date Achat: {…… Q4-c ……………………………….}</p>
</>
}
Q4-a: ………………………………………………………
Q4-b:………………………………………………………
Q4-c:………………………………………………………

Page: 3 / 4
Composant App
function App(){
const [CurrentPC, setCurrentPC]=useState(Ordinateurs[0])
const [marque,SetMarque]=useState(marques[0])
const [salle,SetSalle]=useState(salles[0])
const [ordinateursTrouvés, setOrdinateurs]=useState(Ordinateurs);
const changerMarque=(e)=>{

Q5-a :…………………………………………………………………………..
}
const changerSalle=(e)=>{

Q5-b :…………………………………………………………………………..
}

const rechercher=()=>{
Q6 :…………………………………….//recherche des ordinateurs puis changer la liste ordinateursTrouvés

………………………………………………………………………………………… ……………………….

………………………………………………………………………………………………………………………. }

const changerOrdinateur=(e)=>{//changer currentPC


Q7 :………………………………………………………………………………………………………………………..

…………………………………………………………………………………………………………………………………..

}
const ajouterPC=(e)=>{
//ajouter un nouvel ordinateur à la liste Ordinateurs puis changer la liste ordinateursTrouvés
var today = new Date(),
date = [Link]() + '/' + ([Link]() + 1) + '/' + [Link]();
let pc={Numero:[Link],Intitulé:[Link]é,Marque:marque,Salle:salle,DateAchat:date}
Q8 :………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….. }
return (<>
<div> <div>
<label>Marque:</label> <DropList items={marques} selectedItem={changerMarque}/>
<label>Salle:</label><DropList items={salles} selectedItem={changerSalle}/>
<button onClick={rechercher} >Recherche</button></div>
<div style={{display:'inline-block'}} >
<RecherchOrdinateur elements={ ordinateursTrouvés } selectedElement={changerOrdinateur} />
</div><div style={{display:'inline-block'}}>
<FormNew submit={ajouterPC}/></div>
<div><InfoOrdinateur Ordinateur={CurrentPC}/></div>
</div> </>)}

Page: 4 / 4

Vous aimerez peut-être aussi