CNAM GRENOBLE

Transcription

CNAM GRENOBLE
CNAM GRENOBLE
EXAMEN 2011-2012
Unité d’Enseignement : infrastructures technologiques pour le commerce
électronique
Centre d’Enseignement
CNAM de Grenoble
Enseignant : M. Eric Boniface
Code CNAM : NFE102
Jour/Date de l’épreuve :
Horaire : 18h00 – Durée : 3h00
Documents & ordinateur autorisés
Nombre de pages du sujet : 3
SUJET
Session 2
Votre code auditeur :
Partie I - QCM (5 points)
Le QCM est composé de 10 questions sur 0,5 chacune. Il faut cocher tous les choix valables pour une
réponse, un oubli ou une erreur 0.
1) Un cadriciel fortement couplé, comme CakePHP, implique
Tous les composants peuvent être utilisés de manière autonome
Les composants sont forcément liés entre eux et à un développement type MVC
Le cadriciel est lié à un autre cadriciel
2) Que fait le code PHP suivant, et qu’affiche t-il ?
<?php
// Initialisation des variables
$n_nbre = 5;
$n_total = 1;
for ($i=1; $i<=$n_nbre; $i++)
{
$n_total *= $i;
}
echo $n_nbre.« ->».$n_total;
?>
Il calcule la factorielle de 5 et affiche « 5 -> 120 »
Calcule la somme de 1 à 6 et affiche « 6 -> 21 »
Calcule la somme de 1 à 5 et affiche « 5 -> 15 »
3) Zend Framework est une surcouche de :
Java
PHP
Javascript
4) Le commerce grand public, la vente en ligne c’est
le « C to C »
le « B to C »
le « C to B »
5) Quel pourcentage de français achète sur Internet ?
40 %
60 %
77 %
6) Créer un catalogue d’une boutique c’est créer
Une taxinomie
Une catalogie
88 %
le « E to E »
7) Une DTD est obligatoire lorsque l’on fait un document XML
vrai
faux
8) Le Phishing c’est :
Passer pour un autre site afin d’attirer l’internaute et lui voler des informations
L’achat de poissons en ligne
Le piratage d’un courriel et le remplacement de son contenu
9) Quels sont les noms en « lower camel case » ?
listeVoitureAction
PatientController
ThisIsAnExample
thisIsNotAnExample
CreerPatientAction
10) Dans le patron MVC, quel est le composant en charge du routage des requêtes utilisateur ?
Le Modèle
La Vue
Le Contrôleur
Partie II – Jeu des 7 erreurs (7 pts)
Soit la portion de code suivante (contrôleur ZF). Il y a 7 erreurs que vous pouvez indiquer directement sur la
feuille. Une erreur trouvée = 1 pt.
<?php
/
* Le controleur Patient.
*/
classe PatientController extends Zend_Controller_Action
{
/**
* Initialise le controleur.
*/
public function init(
{
if (is_null($this->view->compte) || $this->view->compte != true)
$this->_helper->redirector('login', 'compte').
else
$this=>entityManager = Zend_Registry::get('em');
}
/**
* L'action affichant la liste des patients.
*/
public function indexAction()
{
page = $this->_request->getParam('page', 1);
$this->view->patients = $zend_paginator;
}
?php>
Partie III – XML – DTD (3 pts)
Soit la DTD suivante (fichier cours.dtd) :
<?xml version="1.0" encoding="ISO-8859-1"?>
<!ELEMENT cours (UE, eleve*)>
<!ELEMENT UE (#PCDATA)>
<!ELEMENT eleve(nom,prenom, courriel, note)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT prenom (#PCDATA)>
<!ELEMENT courriel (#PCDATA)>
<!ELEMENT note(#PCDATA)>
Donner un exemple de fichier XML respectant cette DTD. Pour rappel, l’entête du fichier doit être :
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE cours SYSTEM "cours.dtd">
Partie IV – Zend Framework (5 pts)
Nous souhaitons réaliser un site Web de type Blog sous Zend Framework, permettant d’afficher des bulletins
classiquement en page d’accueil. Ceci suppose qu’il doit y avoir : création, affichage, modification,
suppression des articles créés. Nous ne gérons pas ici d’authentification.
1)
2)
3)
4)
5)
Modéliser la ou les classes nécessaires pour ce site Web
Ecrire la ou les requêtes SQL pour pouvoir manipuler ce(s) objet(s)
Quelle sera l’arborescence (répertoires & fichiers) de votre projet ZF ?
Quelle est la commande permettant de créer l’arborescence ?
Donner la version minimale du/des modèle/s lié(s) à la/les classe(s) définie(s)