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)