0% ont trouvé ce document utile (0 vote)
47 vues3 pages

Contôle 1 S1

Le document est un contrôle de développement web pour les étudiants de la 2ème année BTS CWDM, comprenant des questions théoriques sur les concepts web et des exercices pratiques en PHP. Les exercices incluent la création d'un script pour générer la suite de Fibonacci et le développement d'une application web pour gérer les candidatures à un concours, avec des exigences spécifiques pour la validation des données. Les étudiants doivent également respecter des consignes de code, telles que les commentaires et l'indentation.

Transféré par

aichanoaa85
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
47 vues3 pages

Contôle 1 S1

Le document est un contrôle de développement web pour les étudiants de la 2ème année BTS CWDM, comprenant des questions théoriques sur les concepts web et des exercices pratiques en PHP. Les exercices incluent la création d'un script pour générer la suite de Fibonacci et le développement d'une application web pour gérer les candidatures à un concours, avec des exigences spécifiques pour la validation des données. Les étudiants doivent également respecter des consignes de code, telles que les commentaires et l'indentation.

Transféré par

aichanoaa85
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 PDF, TXT ou lisez en ligne sur Scribd

LYCEE TECHNIQUE MOHAMMED VI 2023/2024 2EME ANNEE BTS CWDM

Développement Web
Contrôle n°1
3 heures

Attention :

 L’épreuve est sur 3 pages.


 Les codes doivent obligatoirement être commentés.
 Les indentations du code sont obligatoires.
 Si vous repérez ce qui vous semble être une erreur, vous la signalez et vous
continuez vos réponses.
 La clarté des réponses et la propreté sont prises en considération.

Début de l’épreuve

Questions de cours :
1. Définissez brièvement les éléments suivants :
a. URL
b. Protocole
c. Http
2. Expliquez la différence entre le Web et l’Internet ?
3. Expliquez la différence entre les méthodes GET et POST en PHP. Quand devriez-vous utiliser
l'une plutôt que l’autre ?

Exercice 1 : Suite de Fibonacci en PHP

Votre objectif à ce stade sera de créer un script PHP qui génère et affiche les N premiers
termes de la suite de Fibonacci. La suite de Fibonacci est définie comme suit : chaque terme
est la somme des deux termes précédents. Les deux premiers termes de la suite sont 0 et 1. La
suite est généralement définie comme suit :

 F(0)=0,
 F(1)=1,
 F(n)=F(n−1)+F(n−2) pour n>1.

Ainsi, les premiers termes de la suite de Fibonacci sont 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, et ainsi
de suite.

1. En supposant que le nombre N est récupéré depuis un formulaire.


2. Ecrivez une fonction PHP récursive fibonacci($n){…} qui reçoit en paramètre
un entier et qui calcule récursivement la valeur de F(n).
3. Ecrivez une le script PHP qui affiche les N premier terme de la suite de Fiboncci

Exemple d’exécution :

Suite de Fibonacci (10 premiers termes) :


0, 1, 1, 2, 3, 5, 8, 13, 21, 34

PROF : ELALAMI MLY HICHAM


1/3
LYCEE TECHNIQUE MOHAMMED VI 2023/2024 2EME ANNEE BTS CWDM

Exercice 2 : Gestion des candidatures pour un concours

L’objectif de cet exercice est de développer une application web qui gère les candidatures
pour un concours. Les candidats accèdent à une première page de présentation nommée
'[Link] ', laquelle présente le concours et propose un lien pour candidater. Si le visiteur
choisit de déposer sa candidature, il clique sur le lien 'déposer une candidature', ce qui ouvre
une nouvelle page nommée '[Link]'. Cette dernière page permet à l'utilisateur, à
travers un formulaire HTML, de saisir les informations personnelles suivantes :

 Nom
 Prénom
 Date de naissance
 CINE
 Adresse email
 Adresse
 Photo
 Diplôme
 Moyenne d’obtention du diplôme

La page '[Link]' appelle un script PHP nommé '[Link]', situé dans le


même dossier. Il est essentiel que les données soient transmises de manière sécurisée.

Pour la validation des données les contraintes suivantes sont prises en compte :

 Toutes les informations sont obligatoires.


 Uniquement des adresses électroniques 'gmail' sont acceptées
 Le CINE (carte d’identité nationale électronique) est une chaine de caractère de
de 7 caractères et commence par une lettre ou deux lettres.
 Le candidat doit télécharger sont CINE sous forme d’un document 'pdf' d’une
taille maximale de 2Mo.
 Uniquement des photos de type image/jpeg ou image/png sont acceptées
avec une taille maximale de 2Mo.
 Le candidat doit entrer le type de son diplôme : technicien supérieur, technicien
spécialisé, diplôme de UST, et doit également télécharger le recto de son
diplôme en document 'pdf' d’une taille maximale de 2Mo.
 Uniquement les candidats ayant plus de 18 ans et moins de 25 ans (inclus) sont
acceptés.
 La moyenne est un nombre réel sous une forme de '10.10'. de plus seule une
moyenne >= 10 est acceptée.

Travail à faire :

1. Ecrivez le code HTML permettant la création de la page '[Link]'. On suppose que


cette page contient une image en arrière-plan et un document 'pdf' qui représente
l’appel à candidature avec un lien 'déposer une candidature'.
2. Ecrivez le code HTML permettant la création de la page '[Link]'.
3. Développer la page '[Link]' en suivant les consignes suivantes :

PROF : ELALAMI MLY HICHAM


2/3
LYCEE TECHNIQUE MOHAMMED VI 2023/2024 2EME ANNEE BTS CWDM

a. Écrivez un script PHP pour la validation des informations : assurez-


vous de vérifier si toutes les informations soumises sont conformes aux
contraintes mentionnées précédemment. En cas de non-conformité pour
au moins une information, le formulaire sera rejeté, et l'utilisateur sera
informé de l'erreur (Vous pouvez décomposer ce script en plusieurs
fonctions).
b. Écrivez une fonction PHP qui vérifie que les fichiers téléchargés par
l’utilisateur sont valides en termes de types et de tailles.

4. Ecrivez un script qui :

 Crée un dossier distinct pour chaque candidat, en le nommant selon son


numéro CINE, et ajoutez-y le CINE, la photo et le diplôme.
 La CINE, le diplôme et la photo doivent être sauvegardés respectivement sous
les noms : identite_cine.pdf, diplome_cine.pdf et la photo_cine.jpeg ou
photo_cine.png
 Les autres informations, quant à elles, seront stockées dans un fichier
'[Link]' dont le script doit vérifier l’existence. Les informations
seront stockées sous cette forme :

CINE:NOM:PRENOM:DATE DE NAISSANCE:EMAIL:TYPE DE DIPLOME:ADRESSE:MOYENNE DU DIPLOME

Par exemple une ligne du fichier '[Link]' peu ressemblée à cela :

E235334:BACHARI:Ahmed Rida:12-01-2004:[Link]@[Link]:Technicien
supérieur:n°3, Hay Lymoun ,targa marrakech:13.5

Remarques :

 A la fin du traitement le script doit retourner un message pour informer


l’utilisateur que sa candidature à bien été enregistrée.
 Les noms des candidats doivent être sauvegardés en majuscule, et les
prénoms en minuscule avec la première lette majuscule.
 Le fichier '[Link]' et les dossiers correspondants à tous les
candidats sont tous sauvegardés dans le dossier parent './telechargements'.

5. Question de bonus : Ecrivez une fonction PHP qui permet de lister tous les candidats
par ordre de mérite(selon la moyenne)

Fin de l’épreuve

Annexe :Voici une liste de fonctions qui pourront vous servir :


date() : Retourne la date actuelle au format spécifié.
echo date('Y-m-d H:i:s');
date_create() et date_format() : Création d'un objet DateTime et formatage de la date.
$date = date_create('2024-01-07');
echo date_format($date, 'Y-m-d');
date_diff() : Calcul de la différence entre deux objets DateTime.
$date1 = new DateTime('2024-01-07');
$date2 = new DateTime('2024-12-31');
$difference = date_diff($date1, $date2);
mkdir($dossierCandidat, 0777, true) : pour créer un dossier en lui attribuant les permissions nécessaires

PROF : ELALAMI MLY HICHAM


3/3

Vous aimerez peut-être aussi