Compte-rendu du stage EmoGuide

Dimension: px
Commencer à balayer dès la page:

Download "Compte-rendu du stage EmoGuide"

Transcription

1 Compte-rendu du stage EmoGuide Mission : Développer un moteur de recherche de DVD / BluRay basé sur l'émotion pour Sony Picture Technologie : ASP.NET SCHMITT Vivien Développeur Logiciel (Niveau III) Entreprise : Sony Alsace Maître de Stage : Philippe TROESCH Période : Février / Juin /50

2 2/50

3 1 Remerciements Je remercie tous les intervenants qui ont joué un rôle dans mon avancement professionnel et dans la réussite de mes projets : MDPH de Strasbourg : pour la constitution de mon dossier TH dans les plus brefs délais, CRM de Mulhouse : pour l'organisation de la formation développeur logiciel, Frank Chatelot : pour m'avoir formé et motivé au métier de Développeur Logiciel, Sophie Thierry : pour son sens du professionnalisme, Cécile Magu : pour tout ce qu'elle à mis en place pour intégrer les stagiaires en entreprise, Marine Horr : pour avoir à plusieurs reprises débloquée mon dossier CAF, Philippe Troesch : pour avoir organisé mon stage et pour m'avoir transmis son professionnalisme et le sens des responsabilités en entreprise, Philippe Sommereisen : pour m'avoir donné des conseils techniques et mis sur le chemin à emprunter. Jean Sissler : pour m'avoir fait confiance et pour avoir veillé à mon intégration dans le service, Sidonie Halbout : pour m'avoir fait confiance et pour les solutions logistiques qu'elle a mis en place pour favoriser ma réussite. Sylvette Roch et Marion Tchasen, et Philippe Sommereisen pour m'avoir co-voituré. Ainsi que toutes les personnes ayant contribué de près ou de loin à la réalisation de mon stage et à la réussite de ma formation. 3/50

4 Table des matières 1 Remerciements Présentation de l'entreprise SONY : Sony Corporation Sony Aslace Service Ingénierie : Pré-études et définition du projet Études des Requirements Functional Requirements Non-Functional Requirements Fun Easy to use Configuration du poste de travail Environnement de travail: Étude du projet et des cas d'utilisations Objectifs du Projet Cas d'utilisations Développement en dure d'une version test de l'application Redéfinition des priorités Conception de la Base de données Logiciel de modélisation de données Les trois étapes de la modélisation de données Phase de conception Modèle conceptuel de la BDD Description des tables Phase Logique Modèle logique de données Phase physique Modèle physique de données Description des tables Déploiement de la BDD avec SQL Server Requêtes SQL Requêtes de créations des tables Requêtes d'ajouts des contraintes d'intégrités Développement de l'interface ASP.NET Première version Seconde version Troisième version Mise en place de l'interaction de la BDD avec ASP Classes d'accès aux données DAL.cs Initialisation de la classe Gestion de la connexion Gestions des transactions L'appel des procédures stockées...26 a) Méthodes d'appels des Procédures stockées de lecture...26 b) Méthodes d'appels des Procédures stockées d'écriture Procédures stockées Procédures stockées de lecture avec SELECT /50

5 Procédures stockées d'écriture avec INSERT Événements d'appel de procédures stockées Chargement de la page Premier Chargement? Création dynamique des contrôles utilisateurs...29 a) Composant du Fronted...29 b) Clic sur le bouton «Inspire-me» Algorithme de Recherche Introduction Des caractéristiques quantifiables Définition des émotions Classification des émotions Le niveau d'intensité émotionnel La signature émotionnelle...34 a) Exemple de signature émotionnelle : Le type de public La proximité émotionnelle Le nombre de films dans la base de données Le nombre de résultats d'une recherche Les tables d'associations Formalisation de l'algorithme Algorithme Restrictif...36 a) La combinaison exact :...36 b) Probabilités d'obtenir un résultat...37 c) Intersection de plusieurs ensembles Algorithme Permissif Algorithme Modéré...40 a) Recherche des sous-ensemble...40 b) Cas d'utilisation des sous-ensemble Script SQL de l'algorithme de recherches Explication de l'algorithme Déclaration des champs avec DECLARE et SET Vérification des champs Lecture des champs avec SELECT Extraction des sous-chaînes avec SUBSTRING Recherche par intervalle avec BETWEEN Portabilité de la signature émotionnelle Algorithme implémenté Script finale de l'algorithme Appel de la Procédure depuis la DAL.cs Déclenchement par les contrôles utilisateurs Une classe pour l'algorithme Réflexions et évolutions à venir Les qualités de développements exigées : L'intégration du projet Côté Web Côté point de vente Les évolutions possibles du projet Quelques exemples d'évolutions /50

6 2 Présentation de l'entreprise SONY : 2.1 Sony Corporation L'entreprise a été créée le 7 mai 1946 par Mr Masaru Ibuka et Mr Akio Morita, le siège social se trouve à Tokyo. En 2011 il y avait employés répartis dans 4 grandes filiales : Sony Computer Entertainment. Sony Music Entertainment. Sony Pictures Entertainment. Sony Electronics Entertainment. Spécialisée dans l industrie, les activités de l'entreprise sont diverses, tel que la musique, la téléphonie en passant par les jeux vidéo, l informatique, l audio visuel, la photographie, l électronique et le cinéma. 6/50

7 2.2 Sony Aslace Créé en 1986, Sony Alsace comprend 531 employés en 2013 générant un chiffre d'affaire de 122 millions d'euros. Filières Métier : Business Ingénierie Opération Administration Service Ingénierie : Opérations Design et Développement Soft, électronique et mécanique Analyse Qualité Produit Support CSE 3 Pré-études et définition du projet Emoguide est un système de vente de DVD/BluRay dont les films sont organisés en fonction de leur charge émotionnelle. Le système doit être multi-plateforme, c'est à dire qu'il doit être accessible depuis différents types de clients tel qu'un PC, une tablette ou un Smartphone : Le système EmoGuide appuie son contenu sur plusieurs bases de données de films avec un niveau d'administration européen, national, régional et local. 7/50

8 4 Études des Requirements Après une visite rapide des locaux, j'ai pris connaissance des Requirements et des Cas d'utilisations du projet dont voici les principaux : 4.1 Functional Requirements 1 : E-Commerce - Shopper goes on special plan your perfect movie evening app on Smartphone, Tablet Device, or specific branded section on Homepage. 1.2 : Web application - link plan your evening to access WebEmoGuide 1.3 : Smartphone application (Android, ios?, Windows?) 1.4 : Tablet application (Android, ios?, Windows?) 2 : E-Commerce - Shopper gets title proposals according to his mood or desired mood. 2.1 : IN: Desired mood 2.2 : IN: Mood (To be converted in desired mood?) 2.3 : OUT: List of titles 3 : E-Commerce - Shopper can watch trailers and then click on buy now button. Further recommendations possible Customers who bought this movie also like : ACT: Watch trailers 3.2 : ACT: Buy (link to e-com buying system) 3.4 : OUT: like also (not in the scope? Given by e-com site) 4 : Retail - Shopper enters store and discovers over standard POS the Tablet standee, which is clearly branded as his personal movie night planner. (Mood o meter! Movie Butler!... Etc.) 4.1 : Dedicated Tablet 4.2 : Android application 4.3 : Eye-attractive design 5 : Retail - The best case scenario would be a link to the retail GMS. Trailer integration. When the shopper clicks on buy now a boarding pass is printed with the EAN of the title. ( Your check in for an awesome evening ) 5.1 : ACT: Watch trailers 5.2 : ACT: Buy (print EAN) 5.3 : GMS integration (???) 5.4 : Fun : boarding pass, check in for an awesome evening 6 : Retail -The shop employee will then scan the EAN and hand over the title. In case of a out of stock (OOS) situation, employee could order the title with discount voucher or download code if Multchannel.-> out of the EmoGuide scope? (Retail internal politic) 7 : Design must be flexible enough to include retail logo 7.1 : Flexible design (colors? Fonts?) 8/50

9 7.2 : Custom retail logo 8 : Database must be manageable on a regional, country, European level 9 : Licensee s must get access to the database for changes and inclusion of local titles 10 : Emotions must be able to be defined on a country level 11 : Specific retail campaigns must be included as well (e.g. FNAC - let s have fun week ) 11.1 : Customisable to add links with specific emomaps 11.2 : Date programmable events 12 : Timely restricted deals should be possible as well (e.g. Thank god it s Friday offers, only for Friday evenings for example) : See REQ : See REQ Cyclic events 13 : Trailer-ing should be included 4.2 Non-Functional Requirements Fun Plan your perfect evening Let s have a fun week Thanks god it s Friday offers Boarding pass Your check in for an awesome evening Easy to use From mood to cart 9/50

10 5 Configuration du poste de travail J'ai reçu mon Vaio sur lequel il a fallu installer et configurer les logiciels nécessaires à la réalisation de l'application. PC : Vaio Système : Windows XP 5.1 Environnement de travail: Perforce : outil de gestion et de configuration logiciel, travail et développement collaboratif, permet de conserver l'historique du développement de l'application et de gérer les accès concurrents. Visual Studio : développement avec C# et ASP.NET Open Model Sphere : logiciel de modélisation de BDD que nous avons utilisé lors de la phase de conceptualisation. SQL Server : serveur de BDD, permet de stoker les tables et les procédures stockées. Share Point : système de gestion documentaire 10/50

11 6 Étude du projet et des cas d'utilisations 6.1 Objectifs du Projet L'objectif du projet est de développer un prototype simplifié dans le but de faire une démonstration de faisabilité. Nous avons imaginé la structure de la base de données pour cette version, même si la version finale utilisera la base de données GraceNote. 6.2 Cas d'utilisations Ce schéma montre tous ce que les différents utilisateurs doivent pouvoir faire à partir de l'interface de la version de production de l'application. L'objectif principal est d'amener l'utilisateur à acheter un film. Le nombre de «clics» qui sépare l'arrivée de l'utilisateur sur la page de recherche du déclenchement de l'achat doit être le plus court possible (de 1 à 3 maximum). 11/50

12 7 Développement en dure d'une version test de l'application A partir des études préliminaires réalisées par Sony englobant les Requirements et les cas d'utilisations, j'ai développé une première version codée en dure sur mon PC personnel (en attendant le PC de l'entreprise). Cette version contenait l'interface graphique et les fonctions minimums : le menu du choix des émotions dans un «radio bouton liste» rempli par une collection ListItem : <asp:radiobuttonlist ID="RadioButtonList1" runat="server" AutoPostBack="True"> <asp:listitem>anger</asp:listitem> <asp:listitem>anticipation</asp:listitem> <asp:listitem>disgust</asp:listitem> <asp:listitem>fear</asp:listitem> <asp:listitem>joy</asp:listitem> <asp:listitem>sadness</asp:listitem> <asp:listitem>surprise</asp:listitem> <asp:listitem>trust</asp:listitem> </asp:radiobuttonlist> le bouton «Inspire Me» qui appel une méthode permettant, dans cette version d'ouvrir une connexion SQL et d'afficher l'émotion choisie : protected void btinspireme_click(object sender, EventArgs e) try //Ouverture de connection SQL sqlcs.open(); lbetatconnection.text = "Connection SQL Réussie"; if (RadioButtonList1.SelectedIndex > -1) lbchoixradiobuttonlist.text = "Vous avez choisis : " + RadioButtonList1.SelectedItem.Text; catch (Exception err1) lbetatconnection.text = "Erreur, vous n'êtes pas connecté! " + err1.tostring(); une chaîne de connexion SQL : string connectionsqlstring source=vivien-pc\sqlexpress; initial catalog=viv; integrated security=false; user id=viv; password=1234;"; 12/50

13 8 Redéfinition des priorités Nous avons avec mon responsable Philippe Troesch redéfini les cas d'utilisations à développer en priorité, en fonction du calendrier et de mes capacités. Nous avons décidé d'ajouter une page d'administration (Backend) permettant d'ajouter des films dans la base de données afin de pouvoir faire des tests de requêtes et d'affichage du résultat. Nous avons aussi décidé de remplacer les boutons par des cases à cocher puis par des Sliders Ajax afin de pouvoir affiner la recherche de films et de rendre la recherche multidimensionnelle en terme d'émotions. L'intensité des émotions étant codée sur un intervalle de 0 à 10 dans la base de données, la recherche se fait sur la proximité de ces valeurs. Il s'agit aussi de définir une formule de calcul de l'éloignement entre les émotions désirées et l'emprunte émotionnelle des films dans la base de données. 13/50

14 9 Conception de la Base de données Dans l'attente de plus de précisions quant à la base de données qui devra être utilisée par le projet EmoGuide, nous avons décidé de développer une base de données SQL pour le prototype de l'application. La base de données attendue est Gracenote appartenant à Sony et contenant plusieurs millions de films. 9.1 Logiciel de modélisation de données Nous avons décidé de travailler avec le logiciel libre de conception de données Open ModelSphere. 9.2 Les trois étapes de la modélisation de données C'est avec ce logiciel que nous ferons les 4 étapes de création d'une base de données que sont : la création du Modèle Conceptuel de données la création du Modèle Logique de données la création du Modèle Physique de données la génération du script SQL de création de la base de données 14/50

15 9.3 Phase de conception Dans cette phase nous avons imaginer un modèle simple et suffisant de base de données, en fonction des besoins définis par les Requirements mais aussi en fonction des besoins à venir Modèle conceptuel de la BDD Voici le modèle conceptuel de données contenant les tables de données et les tables d'associations avec leurs cardinalités. La plupart des cardinalités sont de type (1,N ) (1,N) sauf celle entre les tables Category_Values et Categories qui est de type (1,1) (1,N). 15/50

16 9.3.2 Description des tables Il y a deux types de tables dans notre base de données : les tables de données qui contiendront du contenu et les tables d'associations qui contiendront les informations nécessaires pour relier les tables de contenu entre elles. La table Film contient une clé primaire film_id, un numéro d'identification unique ean13, une chaîne title, une chaîne synopsis, une chaîne jacket et trailer. La table Emotion contient une clé primaire emotion_id et une chaîne emotion_value renseignant le nom de l'émotion (ex : Disgust, anger, Sadness...). La table Association_Emotions relie les tables Films et Emotions. La table Catégorie_Values contient une clé primaire category_value_id et un champ category_value qui représentera les différents types de publics : (Male, Female, Kid, Teenager...) La table Categories contient une clé primaire category_id et un champ category_value contenant les catégories générales de type de public (Gender, Age...). La table Association_Catégories relie les tables Catégorie Values et Catégorie. Par exemple le champ Gender de la table Catégories est associé aux champs Male et Female de la table Catégorie Values. 16/50

17 9.4 Phase Logique Le modèle logique de données donne une vision plus concrète de la situation. C'est une étape intermédiaire entre le modèle E/A (entité/association) et le modèle physique. Le but de la normalisation du modèle conceptuel en modèle logique est de supprimer les inconvénients comme la redondance des champs Modèle logique de données 17/50

18 9.5 Phase physique La phase physique consiste à créer à partir du modèle logique de données le modèle physique de données Modèle physique de données Le modèle physique permettra de générer le script SQL de création de la base de données que l'application utilisera Description des tables Les tables d'associations sont devenues des tables à part entière contenant les id des tables qu'elles relient. La table T_FilmAssociation_A contient les id des film (film_id), les id des émotions (emotion_id) et le niveau d'émotion (emotion_level). En d'autres termes, cette table contient les id des films associés id des émotions, dont chacune est exprimée avec un certain niveau d'intensité. 18/50

19 Déploiement de la BDD avec SQL Server Requêtes SQL Après avoir terminé la phase de conception de la base de données avec le logiciel Open ModelSpher, j'ai généré le script SQL de création des tables de données et d'associations ainsi que les contraintes d'intégrités qui les lient Requêtes de créations des tables Pour créer les tables SQL sur SQL Server on utilise principalement la fonction sql CREATE. Lorsque l'on créé une table il faut souvent y ajouter des champs dont l'id et ceux nécessaires au fonctionnement de l'application. CREATE TABLE T_Category_public_values ( category_value_id INT NOT NULL, category_value VARCHAR DEFAULT 'Intensité de la catégorie' NOT NULL, category_id INT NOT NULL ); CREATE TABLE T_Emotions ( emotion_id INT NOT NULL, emotion_value VARCHAR DEFAULT 0 NOT NULL ); CREATE TABLE T_FilmCategories_A ( fk_film_id INT NOT NULL, fk_category_value_id INT NOT NULL ); CREATE TABLE T_FilmEmotions_A ( emotion_level INT NOT NULL, emotion_id INT NOT NULL, film_id INT NOT NULL ); CREATE TABLE T_Films ( film_id INT NOT NULL, ean13 VARCHAR DEFAULT 'code ean13' NOT NULL, title VARCHAR DEFAULT 'Titre du film' NOT NULL, synopsis VARCHAR NULL, jacket VARCHAR NULL, trailer VARCHAR NULL ); CREATE TABLE T_public_categories ( category_id INT NOT NULL, public_category VARCHAR DEFAULT 'Categorie associée' NOT NULL ); 19/50

20 Requêtes d'ajouts des contraintes d'intégrités Avec SQL Server, les contraintes d'intégrité s'ajoutent après la création des tables à l'aide de la fonction sql ADD CONSTRAINT. Les contraintes d'intégrité permettent de définir le champ qui sera clé primaire et les liens entre les tables avec les clés secondaires. Si on souhaite modifier une table SQL qui existe déjà, on utilisera la fonction ALTER. Pour définir le champ qui servira de clé primaire, on utilise la propriété PRIMARY KEY. Celui-ci devra être nécessairement unique et de type INT. Pour définir le champ qui sera la clé secondaire, on utilisera cette fois-ci la propriété FOREIGN KEY. ALTER TABLE T_FilmCategories_A ADD CONSTRAINT fk_film_id PRIMARY KEY ( fk_film_id, fk_category_value_id) ; ALTER TABLE T_public_categories ADD CONSTRAINT pk_category_id PRIMARY KEY ( category_id) ; ALTER TABLE T_Category_public_values ADD CONSTRAINT pk_category_value_id PRIMARY KEY ( category_value_id) ; ALTER TABLE T_Emotions ADD CONSTRAINT pk_emotion_id PRIMARY KEY ( emotion_id) ; ALTER TABLE T_FilmEmotions_A ADD CONSTRAINT pk_film_emotion PRIMARY KEY ( emotion_id, film_id) ; ALTER TABLE T_Films ADD CONSTRAINT pk_filmsid PRIMARY KEY ( film_id) ; ALTER TABLE T_Category_public_values ADD CONSTRAINT fk_category_id FOREIGN KEY (category_id) REFERENCES T_public_categories; ALTER TABLE T_FilmCategories_A ADD CONSTRAINT fk_category_values_id FOREIGN KEY (fk_category_value_id) REFERENCES T_Category_public_values; ALTER TABLE T_FilmEmotions_A ADD CONSTRAINT fk_emotion_id FOREIGN KEY (emotion_id) REFERENCES T_Emotions; ALTER TABLE T_FilmEmotions_A ADD CONSTRAINT fk_film_id FOREIGN KEY (film_id) REFERENCES T_Films; 20/50

21 ALTER TABLE T_FilmCategories_A ADD CONSTRAINT fk_films_id_a FOREIGN KEY (fk_film_id) REFERENCES T_Films; 11 Développement de l'interface ASP.NET 11.1 Première version L'interface de la première version de l'application était composée des composants suivants : 11.2 Liste de radio bouton pour choisir des émotions (recherche unidimensionnelle) Un bouton «Inspire me» pour déclencher la recherche de films Un cadre dans lequel apparaît le résultat de la recherche. Seconde version L'interface de la deuxième version était composée d'une liste de cases à cocher de manière à pouvoir sélectionner plusieurs émotions pour effectuer une recherche. Les résultats de la recherche s'affichaient cette fois ci dans un «UpdatePanel» pour éviter de recharger toute la page à chaque recherche (multidimensionnelle). 21/50

22 11.3 Troisième version Le menu de recherche des émotions se présente sous forme de «Sliders Ajax» permettant de renseigner l'intensité des émotions désirées. (La table SQL «T_FilmEmotion_A» contient une colonne «emotionlevel» ayant pour intervalle de valeur possible [0-10] correspondant respectivement au minimum et au maximum du niveau d'émotion possible). Page d'accueil de la recherche : 22/50

23 Page du Backend d'administration 23/50

24 12 Mise en place de l'interaction de la BDD avec ASP L'accès aux données se fait par l'intermédiaire de la classe d'accès aux données DAL.cs qui, suite aux déclenchement d'un événement, appelle une procédures stockée de lecture ou d'écriture Classes d'accès aux données DAL.cs La DAL.cs est une classe fournissant les méthodes d'accès aux données depuis ASP.NET donnant la possibilité de lire et d'écrire dans la base de données. Cette classe est composée de quatre parties : Initialisation de la classe public DAL() InitializeComponent(); public DAL(IContainer container) container.add(this); InitializeComponent(); La classe doit implémenter l'interface IContainer qui prend en charge des méthodes permettant d'ajouter, de supprimer et de récupérer des composants. Les conteneurs sont des objets qui contiennent logiquement plusieurs composants. IContainer fournit des fonctionnalités aux conteneurs Gestion de la connexion private void openconnection() if (CnEmoGuide.State!= System.Data.ConnectionState.Open) CnEmoGuide.Open(); private void closeconnection() if (CnEmoGuide.State!= System.Data.ConnectionState.Closed) CnEmoGuide.Close(); On vérifie qu'on est déconnecté avant d'ouvrir une connexion et inversement on vérifie que la connexion n'est pas déjà fermée avant de la couper. 24/50

25 Gestions des transactions Les transactions sont des objets héritant de la classe abstraite DBTransaction. Les transactions SQL on l'avantage de pouvoir gérer des opérations SQL sur plusieurs tables. En cas d'échec d'une des requêtes SQL, on pourra annuler toutes les autres requêtes. Les transactions se font en plusieurs étapes : ouverture de la transaction, lancement de la transaction et annulation de la transaction si nécessaire. //Start Transaction public SqlTransaction starttransaction() SqlTransaction returnvalue = null; try openconnection(); returnvalue = CnEmoGuide.BeginTransaction(); catch (Exception ex) Trace.Write(ex.Message); //throw ex; return returnvalue; //Commit Transaction public void committransaction(sqltransaction sqltrans) try if (sqltrans!= null) sqltrans.commit(); catch (Exception ex) throw ex; closeconnection(); //Rollback Transaction public void rollbacktransaction(sqltransaction sqltrans) try if (sqltrans!= null) sqltrans.rollback(); catch (Exception ex) throw ex; closeconnection(); 25/50

26 a) L'appel des procédures stockées Méthodes d'appels des Procédures stockées de lecture //Appel la Procédure Stockée de lecture de la liste d'émotions : SP_GetEmotions public DsDB.SP_GetEmotionsDataTable getemotions() DsDB.SP_GetEmotionsDataTable returntable = new DsDB.SP_GetEmotionsDataTable(); SP_GetEmotions.Fill(returnTable); return returntable; //Appel SP_GetFilmsDataTable qui renvoie les film_id en fonction des emotions_id sélectionnées public DsDB.SP_GetFilmsDataTable getfilms(int32 emotion_id) = emotion_id; DsDB.SP_GetFilmsDataTable returntablegetfilms = new DsDB.SP_GetFilmsDataTable(); SP_GetFilms.Fill(returntableGetFilms); b) return returntablegetfilms; Méthodes d'appels des Procédures stockées d'écriture //Méthode qui appelle la Procédure Stockée d'insertion de Films dans la T_Films avec l'objet SqlTransaction public Int32 addfilm(sqltransaction sqltrans, String ean13, String title, String synopsis, String jacket, String trailer, out string errormessage) Int32 returnvalue = -1; errormessage = ""; try if (sqltrans!= null) SP_Addfilm.SelectCommand.Transaction = sqltrans; //Action sur la table T_Films = ean13; = title; = synopsis; = jacket; = trailer; = DBNull.Value; SP_Addfilm.SelectCommand.ExecuteNonQuery(); if DBNull.Value) returnvalue = else throw (new Exception("Unkonwn error, film_id cannot be null, film not added")); else throw (new Exception("Invalid Sql Transaction, cannot add film")); catch (Exception ex) errormessage = "Error in data access layer : " + ex.message; return returnvalue; 26/50

27 Ajouter un film dans la base de données L'ajout d'un film dans la base de données se fait en deux temps : Il est en premier lieu nécessaire d'ajouter le film dans dans la base de données afin de générer son id (film_id) côtés SQL SERVER. Ce champ étant requis pour ajouter dans la base de données les émotions et les catégories de publics qui lui sont associées. La méthode d'accès aux données qui déclenche la procédures stockée d'insertion de film est de type INT32 car elle renvoie le film_id généré par l'ajout d'un film. Dans un second temps, on déclenche les méthodes d'accès aux données permettant d'appeler les procédures à partir du film_id. La table d'association FilmEmotion_A étant composée des id_film, des id_emotion et des emotion_level afin d'établir le lien entre les films et leur caractère émotionnel Procédures stockées Les procédures stockées déclenchées par la DAL dans ASP.NET sont enregistrées dans les serveur SQL SERVER. Il faudra configurer un utilisateur ayant les droits d exécution sur les procédures stockées afin d'autoriser l'application ASP à les appeler Procédures stockées de lecture avec SELECT La fonction sql SELECT est utilisée pour lire dans la base de données. Il faudra préciser les tables et les champs que l'on souhaite afficher. La commande DISTINCT complémentaire à SELECT permet d'éliminer les doublons : USE [emoguide] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE INT AS BEGIN SET NOCOUNT ON --on récupère l'id des films par rapport à l'id de l'émotions sélectionnées dans la ChekListBox SELECT DISTINCT T_Films.film_id, ean13, title, synopsis, jacket, trailer FROM T_Films, T_FilmEmotions_A WHERE (T_FilmEmotions_A.emotion_id ORDER BY title END 27/50

28 Procédures stockées d'écriture avec INSERT USE [emoguide] GO /****** Object: StoredProcedure [dbo].[sp_addfilm] SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Script Date: 03/26/ :02:50 ******/ ALTER PROCEDURE INT OUTPUT AS BEGIN SET NOCOUNT ON VARCHAR(1000) IF <> 13 BEGIN RAISERROR('ean13 length must be 13',16,1) RETURN END IF EXISTS(SELECT film_id FROM T_Films WHERE ean13 BEGIN = 'Il existe déjà un film avec le code ean13 : [' + ']' RETURN END INSERT T_Films ( ean13, title, synopsis, jacket, trailer @trailer = END 28/50

29 12.3 Événements d'appel de procédures stockées Chargement de la page La méthode Page_Load se déclenche au chargement de la page. C'est dans cette méthode que l'on intégrera tout ce qui doit être présent au lancement de la page : menu de recherche, bouton de choix et de validation (contrôles utilisateurs). protected void Page_Load(object sender, EventArgs e) dtemotions = DefaultDAL.getEmotions(); createcontrolmenuemotiondefault(); //code à exécuter Premier Chargement? Il est possible de savoir si la page est chargée pour la première fois avec la variable IsPostBack if (!IsPostBack) //code à exécuter si la page n'est pas chargée en réponse à un client Création dynamique des contrôles utilisateurs Les contrôles utilisateurs sont des éléments essentiels à la création de l'interface utilisateur. Le projet bien que prototype doit être codé proprement afin qu'on puisse réutiliser des parties de codes pour la version de production. C'est pourquoi il a été décidé de coder les contrôles utilisateurs de manières dynamique. Cette façon de faire a l'avantage d'être plus facilement administrable et souple à l'évolution d'un projet. a) Composant du Fronted Le Fronted est l'interface que le client final va utiliser. C'est la page de recherche de film de l'application. Menu émotion : Le menu émotion va donner la possibilité au client de choisir le type d'émotion qu'il souhaite afin de choisir un film. Le client doit pouvoir faire varier les résultats de films affichés en faisant varier les émotions via ce menu. 29/50

30 Le menu émotion est créé dynamiquement par la fonction createcontrolmenuemotiondefault(). protected void createcontrolmenuemotiondefault() try foreach (DsDB.SP_GetEmotionsRow dremotion in dtemotions.rows) //Création dynamique des Labels monlabel = new Label(); monlabel.text = dremotion.emotion_value + " : "; //Form.Controls.Add(monLabel); PlaceHolderMenuEmotion.Controls.Add(monLabel); //Création dynamique des textebox montextbox = new TextBox(); montextbox.id = dremotion.emotion_id.tostring(); montextbox.text = 0 + ""; montextbox.width = 10; montextbox.enabled = false; //montextbox.enableviewstate = true; //Form.Controls.Add(monTextBox); PlaceHolderMenuEmotion.Controls.Add(monTextBox); //Boutton d'incrémentation / décrémentation du Textbox //Boutton moins monbouttonmoins = new Button(); monbouttonmoins.id = "boutonmoins" + dremotion.emotion_id; monbouttonmoins.text = "-"; //monbouttonmoins.onclientclick = "buttondown_click"; monbouttonmoins.click += new EventHandler(buttonDown_Click); //Form.Controls.Add(monBouttonMoins); PlaceHolderMenuEmotion.Controls.Add(monBouttonMoins); //Boutton Plus + monbouttonplus = new Button(); monbouttonplus.id = "boutonplus" + dremotion.emotion_id; monbouttonplus.text = "+"; //monbouttonplus.onclientclick = "buttonup_click"; monbouttonplus.click += new EventHandler(buttonUp_Click); //Form.Controls.Add(monBouttonPlus); PlaceHolderMenuEmotion.Controls.Add(monBouttonPlus); //Retour chariot dynamique Label lbbr = new Label(); lbbr.text = "" + "<br />"; PlaceHolderMenuEmotion.Controls.Add(lbBr); catch (Exception errtbdynamique) Response.Write(errTbDynamique.Message); 30/50

31 Menu age et genre protected void createcontrolmenucategorydefault() try //Radio bouton Liste CategoryAge radioboutonlistecategoryage = new RadioButtonList(); foreach (DsDB.SP_GetAgeRow drage in dtage) radioboutonlistecategoryage.items.add(drage.category_value); PlaceHolderMenuCategoryAge.Controls.Add(radioboutonlisteCategoryAge); //Radio bouton Liste CategoryGender radioboutonlistecategorygender = new RadioButtonList(); foreach (DsDB.SP_GetGenderRow drgender in dtgender) radioboutonlistecategorygender.items.add(drgender.category_value); PlaceHolderMenuCategoryGender.Controls.Add(radioboutonlisteCategoryGender); catch (Exception errlbcategorydynamique) Response.Write(errLbCategoryDynamique.Message); Bouton «Inspire-me» Le bouton «inspire-me» a lui été codé en dure directement dans le fichier default.aspx. L éventement clic sur ce bouton déclenche la méthode SaveControl : <asp:button ID="btInspireMe" runat="server" Text="Inspire Me" OnClick="btInspireMe_Click" /> b) Clic sur le bouton «Inspire-me» Les méthodes contenues dans la DAL.cs sont appelées par les événements déclenchés dans l'interface ASP comme, les clics sur le bouton «Inspire me» : public void SaveControl(object sender, EventArgs e) //On boucle dans les control du panel foreach (Control c in PlaceHolderMenuEmotion.Controls) if (c.gettype().tostring().equals("system.web.ui.webcontrols.textbox")) TextBox t = (TextBox)c; string txtid = t.id; string txtvlue = t.text; DsDB.SP_GetFilmsDataTable dtfilms; dtfilms = DefaultDAL.getFilms(int.Parse(txtID)); 31/50

32 foreach (DsDB.SP_GetFilmsRow drfilm in dtfilms.rows) ListItem li = new ListItem(drFilm.title + " - " + drfilm.jacket + " - " + drfilm.synopsis + " - " + drfilm.trailer); lbresultatrequete.items.add(li); //lbresultatrequete.datasource = li; Il était aussi question de mettre à jour le résultat de recherche lorsque l'utilisateur modifie un paramètre de recherche. 32/50

33 13 Algorithme de Recherche 13.1 Introduction L'algorithme de recherche est le cœur du système EmoGuide car la proximité entre ce que cherche le client et ce que sélectionne l'algorithme sera déterminante pour provoquer un achat. J'avais suggéré au départ de créer une classe dans c# afin d'y implémenter l'algorithme de recherche, mais finalement, faute de temps, j'ai implémenté une partie de l'intelligence de recherche dans SQL SERVER sous forme de procédures stockées et une autre partie dans ASP. Cette manière de faire ne doit pas être utilisée en production pour plusieurs raisons : le nombre de requêtes SQL envoyées peut dépasser les limites du serveur, de surcroît si plusieurs visiteurs utilisent l'application simultanément, le temps de latence pourrait considérablement augmenter, la maintenance et la mise à jours de l'algorithme sera difficile et aura une issue très probablement stochastique, la configuration des paramètres de l'algorithme est dispersée dans plusieurs fichiers. Cette version sera suffisante dans la version prototype pour obtenir un résultat de recherche et juger du résultat, mais les points précédents devrons être corrigés pour la version de production Des caractéristiques quantifiables Pour construire un algorithme de recherche et d'indexation, il est préférable de manipuler des métriques, c'est à dire des données numériques exprimant une réalité sous une forme quantifiable. Notre moteur de recherches donne aux clients la possibilité de faire varier deux paramètres principaux avant de lancer une recherche : le choix des émotions : composé d'un ensemble catégorisé d'émotions possédant chacune un niveau d'intensité paramétrable, le choix du type de public : composé des catégories GENRE et AGE Définition des émotions Les émotions se définissent comme étant une réaction d'adaptation très rapide provoquée par un changement brutale dans l'environnement. Les émotions bien qu'étant irrationnelles ont été définies et formalisées par les cognitivistes. Pour certains auteurs, comme Frijda, Lazarus ou Smith, les émotions auraient trois sous-composantes fondamentales : 33/50

34 une composante cognitive et expérientielle, une composante comportementale une composante physiologique. La sous-composante physiologique pourrait donner une indication sensationnelle de l'intensité émotionnelle d'un événement ou d'un film. La sous-composante cognitive, permettrait quand à elle de donner un sens et d'expliquer l'émotion ressentie Classification des émotions Ces mêmes auteurs ont catégorisé les émotions par factorisation et ont obtenu un ensemble d'émotions englobant toutes les émotions Le niveau d'intensité émotionnel Le menu de recherche de notre application s'appuie sur ces grandes catégories d'émotions. Nous exprimerons leur niveau d'intensité (emotion_level dans SQL) par un intervalle numéraire allant de 0 à 9. 0 exprimant le niveau minium et 9 le maximum La signature émotionnelle La signature émotionnelle correspond à la concaténation de la valeur des niveaux d'émotions d'un film. Pour des raisons pratique nous ordonnerons les émotions par ordre alphabétique, mais pour la version de production, il sera préférable de classer les émotions par ordre croissant de leur id dans la base SQL. 34/50

35 a) Exemple de signature émotionnelle : Un client manipule les Sliders du menu émotion et obtient la combinaison suivante : Anger Anticipation Disgust Fear Joy Sadness Surprise Trust :5 :7 :9 :0 :2 :4 :1 :6 La signature émotionnelle sera : Le type de public Le type de public à été défini par Sony dans les pré-études. Pour la version prototype le public sera composé de deux grands segments que sont l'age et le genre. Le segment age est composé de trois sous-catégories : Kid, Adult et TeenAger et le segment genre de deux : Male et Female La proximité émotionnelle Le but de notre algorithme sera de trouver dans la base de données les films dont la signature émotionnelle est proche de la combinaison générée par le client. Nous allons donc chercher des intervalles de valeurs correspondants et nous chercherons à ordonner les résultat par pertinence. Si elle existe, nous chercherons la signature exacte, puis nous chercherons les combinaisons qui s'éloignent de plus en plus de ce que le client recherche Le nombre de films dans la base de données La quantité de films présents dans la base de données aura une incidence sur le choix et la configuration de l'algorithme. Le temps de traitement du Server SQL va croître avec avec le nombre de films présents dans la base de données. La sensibilité de l'algorithme de recherche sera configurée en fonction du nombre de films présents dans la base. Pour configurer l'algorithme, nous disposons de plusieurs propriétés : la proximité entre la signature émotionnelle demandée par le client et la signature des films dans la base, nous utiliserons la fonction sql BETWEEN, l'acceptation des sous-ensembles : sélectionner les films qui possèdent soit l'ensemble des valeurs de la signature émotionnelle, ou soit seulement une partie, nous choisirons les opérateurs logiques (ET/OU) 35/50

36 S'il y a peu de films dans la base de données, nous choisirons un algorithme qui tolère un écart plus grand et/ou seulement une partie de la signature, entre ce que cherche le client et les films proposés. Donc nous configurerons notre BETWEEN à +/- 2 et/ou emploierons les opérateurs logiques OU. Si au contraire il y a beaucoup de films dans la base de données, nous choisirons un algorithme beaucoup plus restrictif en configurant le BETWEEN à +/-1 et nous emploierons l'opérateur logiques ET. Nous savons que nous pouvons faire varier aisément le nombre de résultats de recherches à l'aide de la fonction sql BETWEEN et des opérateurs logiques ET/OU Le nombre de résultats d'une recherche Il a été convenu que le nombre de films devant apparaître lors de chaque résultat de recherche devait être de 10 classés par ordre de pertinence Les tables d'associations Les requêtes de recherches porteront souvent sur les tables d'associations dans la base de données SQL : T_FilmEmotion_A et T_FilmCategories_A. La table T_FilmEmotion_A regroupe les id des films, les id des émotions et les emotion_level. La table T_FilmCategories_A regroupe les id des films et les id les categories_values Formalisation de l'algorithme Nous avons décidé de définir deux algorithmes de recherches, un restrictif adapté pour une base de données de plus de entrées et un permissif prévu pour les bases de données ayant moins d'entrées. Ces deux algorithmes font varier le nombre de films en résultat. Notons aussi, que l'usage de la fonction sql BETWEEN a aussi une incidence, que nous verrons plus tard a) Algorithme Restrictif La combinaison exact : On utilise l'opérateur ET logique dans la procédure stockée de recherche entre chaque émotion pour sélectionner un ensemble de films dont la signature correspond exactement à ce que l'on cherche. Avec cette façon de faire on multiplie les probabilités, donc on diminue nos chance de sélectionner un film. 36/50

37 Exemple : SELECT titre, image, synopsis FROM T_Film, T_FilmEmotion_A WHERE (emotion_id_1 AND emotion_level_1 AND (emotion_id_2 AND emotion_level_2 AND (emotion_id_3 AND emotion_level_3 AND etc... AND (public_id_1 AND public_value_1 b) Probabilités d'obtenir un résultat Les émotions ont un niveau d'intensité (emotion_level) s'étalant sur dix possibilités (de 0 à 9). Si on cherche un film en renseignant un niveau d'émotion (emotion_level), on a une chance sur dix qu'un film correspondent à ce niveau. Multiplié par le nombre de film, cette probabilité donnera le nombre de résultats correspondants à ma requête. Sachant que nous avons un panel de 8 émotions : Nombre de Films Sélectionnés : fs Nombre de films dans la BDD : fdb Nombre d'émotions : ne fs = 1/10 * 1/10 * 1/10 * 1/10 * 1/10 * 1/10 * 1/10 * 1/10 * fdb fs = 10^(-ne)*fdb Si notre base de données contient de films, nous aurons : fs = 10^-8 * fs = 0,01 Nous pouvons dire que nous avons une chance sur cent d'obtenir un résultat, ou que pour être sur d'obtenir un résultat, le client doit lancer cent requêtes de recherches... 37/50

38 c) Intersection de plusieurs ensembles En utilisant les opérateurs logiques ET, on obtient l'intersection des 8 ensembles que forment les émotions tel que nous les avons catégorisée. Le Schéma suivant pour l'exemple nous montre l'intersection de 3 ensembles : 38/50

Base de donnée relationnelle. Exemple de table: Film. Exemple de table: Acteur. Exemple de table: Role. Contenu de la table Role

Base de donnée relationnelle. Exemple de table: Film. Exemple de table: Acteur. Exemple de table: Role. Contenu de la table Role IFT7 Programmation Serveur Web avec PHP Introduction à MySQL Base de donnée relationnelle Une base de données relationnelle est composée de plusieurs tables possédant des relations logiques (théorie des

Plus en détail

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12 Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures

Plus en détail

SQL Server 2012 - SQL, Transact SQL Conception et réalisation d'une base de données

SQL Server 2012 - SQL, Transact SQL Conception et réalisation d'une base de données Le modèle relationnel 1. Introduction 9 2. Rappels sur le stockage des données 9 2.1 Les différentes catégories de données 10 2.1.1 Les données de base 10 2.1.2 Les données de mouvement 10 2.1.3 Les données

Plus en détail

Compte rendu d activité Fiche n 1

Compte rendu d activité Fiche n 1 Compte rendu d activité Fiche n 1 Alexandre K. (http://ploufix.free.fr) Nature de l activité Création d une base de connaissances avec PostgreSQL Contexte : Le responsable technique souhaite la mise en

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

FONCTIONS DE TRAITEMENT} COUNT

FONCTIONS DE TRAITEMENT} COUNT Nom Prénom Promotion Date Buhl Damien Année 1 Groupe 2 21 Janvier 2007 CER Prosit n 22 Mots-Clés : - Requête/Langage SQL Le langage SQL (Structured Query Language) est un langage de requêtes, il permet

Plus en détail

Les Utilisateurs dans SharePoint

Les Utilisateurs dans SharePoint Les Utilisateurs dans SharePoint La gestion des utilisateurs dans SharePoint SharePoint dont le cœur est l'outil collaboratif, Windows SharePoint Services. Chaque utilisateur (ou collaborateur) peut créer

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

Les bases de données (suite) Support de cours Pascal Ballet

Les bases de données (suite) Support de cours Pascal Ballet Les bases de données (suite) Support de cours Pascal Ballet La saisie et l'impression des données Les formulaires de saisie Les formulaires de saisie jouent deux rôles importants : - la mise en forme des

Plus en détail

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin Objectifs : Apprendre à l apprenant à lancer un serveur local «Apache» Apprendre à l'apprenant à lancer un serveur MySQL

Plus en détail

Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1

Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1 Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1 Plan Généralités Langage de Définition des (LDD) Langage de Manipulation

Plus en détail

Modèle relationnel Création et modification des relations en SQL

Modèle relationnel Création et modification des relations en SQL Modèle relationnel Création et modification des relations en SQL ENT - Clé sql2009 BD - Mírian Halfeld-Ferrari p. 1 Insertion dans une relation Pour insérer un tuple dans une relation: insert into Sailors

Plus en détail

LINQ to SQL. Version 1.1

LINQ to SQL. Version 1.1 LINQ to SQL Version 1.1 2 Chapitre 03 - LINQ to SQL Sommaire 1 Introduction... 3 1.1 Rappels à propos de LINQ... 3 1.2 LINQ to SQL... 3 2 LINQ to SQL... 3 2.1 Importer des tables... 3 2.1.1 Le concepteur

Plus en détail

Reporting Services et SharePoint

Reporting Services et SharePoint Reporting Services et SharePoint Utiliser SharePoint comme source de données Dans un précédent article, nous avons pu apprendre comment créer un rapport utilisant une source de données XML La question

Plus en détail

Module: Programmation sites Web Dynamique

Module: Programmation sites Web Dynamique Module: Programmation sites Web Dynamique Formateur: A BENDAOUD LEÇON : MÉTHODES DE NAVIGATION Les différentes méthodes de navigation : Voici les différentes méthodes que nous allons expliciter dans cette

Plus en détail

L'application WinForm et le composant d'accès aux données

L'application WinForm et le composant d'accès aux données L'application WinForm et le composant d'accès aux données Vous disposez d'un squelette de l'application AntoineVersion0- ainsi que de la base de données à restaurer dans SqlServer Bd_Antoine.dat-. Travail

Plus en détail

Table des Temps. Création et Utilisation d'une Table des Temps

Table des Temps. Création et Utilisation d'une Table des Temps Table des Temps Création et Utilisation d'une Table des Temps Dans beaucoup de cas de programmation, il est nécessaire d'avoir à disposition une table de référence pour tous les jours de l'année et différentes

Plus en détail

Microsoft TechNet - Les End Points ou points de terminaison

Microsoft TechNet - Les End Points ou points de terminaison Page 1 sur 5 Plan du site Accueil International Rechercher sur Microsoft France : Ok Accueil TechNet Produits & Technologies Solutions IT Sécurité Interoperabilité Déploiement des postes de travail Scripting

Plus en détail

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Suite à mon précédent article concernant MSDE, je me suis rendu compte à partir des commentaires que de nombreux utilisateurs avaient des problèmes

Plus en détail

Vulnérabilités logicielles Injection SQL

Vulnérabilités logicielles Injection SQL MGR850 Hiver 2014 Vulnérabilités logicielles Injection SQL Hakima Ould-Slimane Chargée de cours École de technologie supérieure (ÉTS) Département de génie électrique 1 Plan SQL Injection SQL Injections

Plus en détail

Introduction au développement en couches

Introduction au développement en couches Introduction au développement en couches Lorsque l on est débutant en programmation, on entend souvent dire qu il est important de développer ses applications en utilisant des couches, en séparant le code

Plus en détail

Mise en route avec l'application mobile Android. Installation

Mise en route avec l'application mobile Android. Installation Mise en route avec l'application mobile Android L'application mobile SanDisk +Cloud vous permet d'accéder à votre contenu et de gérer votre compte depuis votre appareil portable. Grâce à l'application

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

Mémento professeur du réseau pédagogique

Mémento professeur du réseau pédagogique Mémento professeur du réseau pédagogique 1. Accéder au réseau pédagogique Il suffit quand on vous demande votre nom d utilisateur et votre mot de passe de renseigner ceux-ci. Votre nom d utilisateur est

Plus en détail

Chapitre 9 Les métadonnées

Chapitre 9 Les métadonnées 217 Chapitre 9 Les métadonnées 1. De l'importance des métadonnées Les métadonnées Au-delà du contenu des données elles-mêmes d'un système, il est souvent très utile de connaître un minimum d'informations

Plus en détail

Alfresco Mobile pour Android

Alfresco Mobile pour Android Alfresco Mobile pour Android Guide d'utilisation de l'application Android version 1.1 Commencer avec Alfresco Mobile Ce guide offre une présentation rapide vous permettant de configurer Alfresco Mobile

Plus en détail

II. EXCEL/QUERY ET SQL

II. EXCEL/QUERY ET SQL I. AU TRAVAIL, SQL! 1. Qu est-ce que SQL?... 19 2. SQL est un indépendant... 19 3. Comment est structuré le SQL?... 20 4. Base, table et champ... 21 5. Quelle est la syntaxe générale des instructions SQL?...

Plus en détail

EISTI. Oracle Toplink. Manuel d installation et d utilisation

EISTI. Oracle Toplink. Manuel d installation et d utilisation EISTI Oracle Toplink Manuel d installation et d utilisation VILLETTE Charles, BEQUET Pierre, DE SAINT MARTIN Cédric, CALAY-ROCHE Vincent, NAUTRE Francois 20/05/2010 Ce manuel d installation et d utilisation

Plus en détail

Oracle Database 10g: Les fondamentaux du langage SQL I

Oracle Database 10g: Les fondamentaux du langage SQL I Oracle University Appelez-nous: +33 (0) 1 57 60 20 81 Oracle Database 10g: Les fondamentaux du langage SQL I Durée: 3 Jours Description Ce cours offre aux étudiants une introduction à la technologie de

Plus en détail

Vtiger CRM - Prestashop Connector

Vtiger CRM - Prestashop Connector Vtiger CRM - Prestashop Connector Pour PRESTASHOP version 1.4.x Pour vtiger CRM version 5.1, 5.2.0 et 5.2.1 Introduction En tant que gestionnaire d'une boutique en ligne, vous cherchez constamment de meilleurs

Plus en détail

Projet de Base de données

Projet de Base de données Julien VILLETORTE Licence Informatique Projet de Base de données Année 2007-2008 Professeur : Marinette Savonnet Sommaire I) Introduction II) III) IV) Diagrammes a. Diagramme Use Case b. Diagramme de classes

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

Configurer les contrôles Windows Form

Configurer les contrôles Windows Form 1 Configurer les contrôles Windows Form Configurer les contrôles Windows Form Sommaire 1 Introduction... 2 2 Gestion des contrôles composés... 2 2.1 Qu est ce qu un contrôle composé... 2 2.2 Création d

Plus en détail

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web PHP & Bases de données La quantité de données utilisée par certains sites web nécessite l'utilisation d'une base de données Il faut donc disposer d'un SGBD (mysql, postgresql, oracle, ) installé sur un

Plus en détail

PHP MySQL N 2. IUT MMI Saint Raphaël 2014-2015

PHP MySQL N 2. IUT MMI Saint Raphaël 2014-2015 PHP MySQL N 2 IUT MMI Saint Raphaël 2014-2015 Base de données : Utilisation avec PHP Se connecter à la base de données PHP propose plusieurs moyens de se connecter à une base de données MySQL : - L'extension

Plus en détail

Nuage Cloud notions, utilisation

Nuage Cloud notions, utilisation Page:1 Cours pour utilisation simple du Cloud Table des matières 1-Généralités...2 1.1-Les principales fonctionnalités...2 2-Les solutions proposées...4 2.1-Choix du fournisseur...4 2.2-Installation de

Plus en détail

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION Sage CRM NOTICE The information contained in this document is believed to be accurate in all respects but

Plus en détail

Sauvegarde des bases SQL Express

Sauvegarde des bases SQL Express Sauvegarde des bases SQL Express Sauvegarder les bases de données avec SQL Express Dans les différents articles concernant SQL Server 2005 Express Edition, une problématique revient régulièrement : Comment

Plus en détail

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011 SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT V 1.0 27 janvier 2011 Ce document présente l'utilisation des plugins dans Tourism System Client. Dans le Client, un plugin

Plus en détail

ACCESS 2003. Auteur : THIERRY TILLIER Formateur informatique Les requêtes : étape 3

ACCESS 2003. Auteur : THIERRY TILLIER Formateur informatique Les requêtes : étape 3 ACCESS 2003 Auteur : THIERRY TILLIER Formateur informatique Les requêtes : étape 3 2/33 Copyright 2005 Tous droits réservés. www.coursdinfo.fr Table des matières Chapitre 1 Les requêtes-introduction...5

Plus en détail

LES ACCES ODBC AVEC LE SYSTEME SAS

LES ACCES ODBC AVEC LE SYSTEME SAS LES ACCES ODBC AVEC LE SYSTEME SAS I. Présentation II. SAS/ACCESS to ODBC III. Driver ODBC SAS IV. Driver ODBC SAS Universel V. Version 8 VI. Références I. Présentation Introduction ODBC, qui signifie

Plus en détail

Lot 1 - Migration du serveur de base de données

Lot 1 - Migration du serveur de base de données Situation Rectiline Lot 1 - Migration du serveur de base de données Table des matières Lot 1 - Migration du serveur de base de données...1 Mise à jour du système Debian 6 :...2 Installation de PostgreSQL:...5

Plus en détail

TP3 : Ajout d'un modèle. Ajouter des Classes de modèle. 1- L approche Code First

TP3 : Ajout d'un modèle. Ajouter des Classes de modèle. 1- L approche Code First TP3 : Ajout d'un modèle 1- L approche Code First Dans cette section, vous ajouterez quelques classes pour gérer les films dans une base de données. Ces classes vont constituer la partie «modèle» de l'application

Plus en détail

BTS SIO. Session 2013 2015

BTS SIO. Session 2013 2015 BTS SIO Services Informatiques aux Organisations Session 2013 2015 Collé Maxime Année 2013-2014 Option : SLAM Activité professionnelle N 1 NATURE DE L'ACTIVITE : DÉVELOPPEMENT DE L APPLICATION WEB «GESTION

Plus en détail

2011 Hakim Benameurlaine 1

2011 Hakim Benameurlaine 1 Table des matières 1 CRÉATION DES OBJETS DE BASES DE DONNÉES... 2 1.1 Architecture d une base de données... 2 1.1.1 Niveau logique... 2 1.1.2 Niveau physique... 3 1.2 Gestion d une base de données... 3

Plus en détail

1. Base de données SQLite

1. Base de données SQLite Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis

Plus en détail

Applications Réparties TD 3 Web Services.NET

Applications Réparties TD 3 Web Services.NET Ce TD vous enseignera les bases de l'utilisation des Web Services en.net avec Visual Studio.NET 1 Introduction Vos applications.net, quelles soient Windows Forms ou Web Forms, peuvent avoir recours, dans

Plus en détail

Mise en route avec l'application Web

Mise en route avec l'application Web Mise en route avec l'application Web L'application Web SanDisk +Cloud est une interface vous permettant d'accéder à votre compte et de le gérer. Grâce à l'application Web, vous pouvez écouter de la musique,

Plus en détail

CREER UNE BASE DE DONNEES ACCESS AVEC DAO (étape par étape)

CREER UNE BASE DE DONNEES ACCESS AVEC DAO (étape par étape) CREER UNE BASE DE DONNEES ACCESS AVEC DAO (étape par étape) NIVEAU : PREMIERE RENCONTRE AVEC VB INITIES/EXPERIMENTES Pré requis pour comprendre ce tutorial : - Connaître les principales commandes de VB

Plus en détail

Développement d application web avec Visual Studio 2012 et ASP.NET. Tutoriel 3.1 : Programmation Web. Etape 1 Créer une application ASP.

Développement d application web avec Visual Studio 2012 et ASP.NET. Tutoriel 3.1 : Programmation Web. Etape 1 Créer une application ASP. Etape 1 Créer une application ASP.NET vide L objectif de cette étape est de montrer comment Visual Studio génère des fichiers et utilise le mécanisme des classes partielles pour accéder aux éléments générés

Plus en détail

Web dynamique. Techniques, outils, applications. (Partie C)

Web dynamique. Techniques, outils, applications. (Partie C) Web dynamique Techniques, outils, applications (Partie C) Nadir Boussoukaia - 2006 1 SOMMAIRE 1. MySQL et PHP (20 min) 2. SQL (petits rappels) (20 min) 2 MySQL et PHP Synthèse 3 MySQL et PHP SGBD MySQL

Plus en détail

SQL Server 2014 - SQL, Transact SQL Conception et réalisation d'une base de données (avec exercices pratiques et corrigés)

SQL Server 2014 - SQL, Transact SQL Conception et réalisation d'une base de données (avec exercices pratiques et corrigés) Le modèle relationnel 1. Introduction 9 2. Rappels sur le stockage des données 9 2.1 Les différentes catégories de données 10 2.1.1 Les données de base 10 2.1.2 Les données de mouvement 10 2.1.3 Les données

Plus en détail

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail

Sage Business Sync. Guide d utilisation. 2012 Sage

Sage Business Sync. Guide d utilisation. 2012 Sage Sage Business Sync Guide d utilisation 2012 Sage Propriété & Usage Tout usage, représentation ou reproduction intégral ou partiel, fait sans le consentement de Sage est illicite (Loi du 11 Mars 1957 -

Plus en détail

Déployer des Ressources et des Applications sous Android.

Déployer des Ressources et des Applications sous Android. Déployer des Ressources et des Applications sous Android. Maj 24 avril 2013 Préambule Pour déployer des ressources et des applications sur des Appareils Android en établissement scolaire, plusieurs solutions

Plus en détail

DB Main Bien débuter.

DB Main Bien débuter. DB Main Bien débuter. Downloader depuis http://www.info.fundp.ac.be/~dbm/ L élaboration d une base de données se fait en 4 étapes : 1. L analyse conceptionnelle 2. Le MCD modèle conceptuel de données.

Plus en détail

I) Bases de données et tables :

I) Bases de données et tables : I) Bases de données et tables : Un S.G.B.D. est un outil pour organiser, stocker, modifier, calculer et extraire des infos. Une B.D.R. peut être considérée comme un ensemble de tables à 2 dimensions. Exemple

Plus en détail

2011 Hakim Benameurlaine 1

2011 Hakim Benameurlaine 1 Table des matières 1 SSIS... 2 1.1 Management Studio... 2 1.2 dtswizard... 13 1.3 BIDS... 14 1.4 Exemple SSIS... 16 1.4.1 Introduction... 16 1.4.2 Création du package... 18 1.4.3 Paramétrage de la tâche

Plus en détail

Utiliser Access ou Excel pour gérer vos données

Utiliser Access ou Excel pour gérer vos données Page 1 of 5 Microsoft Office Access Utiliser Access ou Excel pour gérer vos données S'applique à : Microsoft Office Access 2007 Masquer tout Les programmes de feuilles de calcul automatisées, tels que

Plus en détail

«14_Synthese _PHP_MySQL_cours_4»

«14_Synthese _PHP_MySQL_cours_4» «14_Synthese _PHP_MySQL_cours_4» Maintenant que nous nous sommes connectés à la base de données et y avons mis des informations via un formulaire (cours 13), nous allons voir comment interroger nos tables

Plus en détail

LibreOffice Calc : introduction aux tableaux croisés dynamiques

LibreOffice Calc : introduction aux tableaux croisés dynamiques Fiche logiciel LibreOffice Calc 3.x Tableur Niveau LibreOffice Calc : introduction aux tableaux croisés dynamiques Un tableau croisé dynamique (appelé Pilote de données dans LibreOffice) est un tableau

Plus en détail

A. Introduction. Chapitre 4. - les entités de sécurité ; - les sécurisables ; - les autorisations.

A. Introduction. Chapitre 4. - les entités de sécurité ; - les sécurisables ; - les autorisations. Chapitre 4 A. Introduction Le contrôle d'accès représente une opération importante au niveau de la gestion de la sécurité sur un serveur de bases de données. La sécurisation des données nécessite une organisation

Plus en détail

Cours de Bases de Données Avancées 2006-2007 Groupe cinema, Rapport 4

Cours de Bases de Données Avancées 2006-2007 Groupe cinema, Rapport 4 1 Annexes Avec ce rapport il faut rendre en annexe le script SQL corrigé qui permet de créer la base de données selon votre modèle relationnel ainsi que de la peupler avec un nombre de tuples suffisant.

Plus en détail

Webmaster : Installation de l'incentive. Objet : Récupération du tag de rotation à placer sur une page de votre site.

Webmaster : Installation de l'incentive. Objet : Récupération du tag de rotation à placer sur une page de votre site. Webmaster : Installation de l'incentive Objet : Récupération du tag de rotation à placer sur une page de votre site. Connectez vous sur votre compte webmaster, puis cliquez dans le menu sur «Tag de diffusion»

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe

Plus en détail

SLAM4 Gestion des cours et requêtage SQL Travaux pratiques

SLAM4 Gestion des cours et requêtage SQL Travaux pratiques 1. La base de données... 1 2. Création de l'application GestionCours... 2 2.1. Créer l'application «GestionCours» à l'aide de l'ide Visual Studio 2010... 2 2.2. Objectif : créer un formulaire permettant

Plus en détail

Les procédures stockées et les fonctions utilisateur

Les procédures stockées et les fonctions utilisateur Les procédures stockées et les fonctions utilisateur Z Grégory CASANOVA 2 Les procédures stockées et les fonctions utilisateur [08/07/09] Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les procédures

Plus en détail

Tutoriel de création d une application APEX

Tutoriel de création d une application APEX Tutoriel de création d une application APEX 1 - Objectif On souhaite créer une application APEX destinée à gérer des dépenses et recettes. Ces dépenses et recettes seront classées par catégories. A partir

Plus en détail

Créer un rapport pour Reporting Services

Créer un rapport pour Reporting Services Créer un rapport pour Reporting Services Comment créer des rapports pour SSRS Maintenant que nous avons vu que la version de SQL Server 2005 Express Edition with Advanced Services intègre SQL Server Reporting

Plus en détail

Microsoft Dynamics. Installation de Management Reporter for Microsoft Dynamics ERP

Microsoft Dynamics. Installation de Management Reporter for Microsoft Dynamics ERP Microsoft Dynamics Installation de Management Reporter for Microsoft Dynamics ERP Date : mai 2010 Table des matières Introduction... 3 Présentation... 3 Configuration requise... 3 Installation de Management

Plus en détail

Manuel d installation et d utilisation du logiciel GigaRunner

Manuel d installation et d utilisation du logiciel GigaRunner Manuel d installation et d utilisation du logiciel GigaRunner Manuel Version : V1.6 du 12 juillet 2011 Pour plus d informations, vous pouvez consulter notre site web : www.gigarunner.com Table des matières

Plus en détail

Documentation utilisateur FReg.NET

Documentation utilisateur FReg.NET Epitech Documentation utilisateur FReg.NET Document réservé aux utilisateurs souhaitant comprendre rapidement le fonctionnement du logiciel FReg.NET Lago_a, schehl_c, narcis_m, clique_x, tran-p_n 5/14/2010

Plus en détail

EIP - Begreen Documentation utilisateur

EIP - Begreen Documentation utilisateur Ce document contient la documentation à destination des utilisateurs EIP - Begreen Documentation utilisateur Romain Cornu - Charles Lacquit - Ludovic Le Vaillant - Sebastien Cochet Simon Diradourian -

Plus en détail

Utilisation et traitement des données saisies sous EndNote avec des scripts PHP/MySQL

Utilisation et traitement des données saisies sous EndNote avec des scripts PHP/MySQL Cah. Tech. Inra, 70, 47-53 Utilisation et traitement des données saisies sous EndNote avec des scripts PHP/MySQL Sabine Julien 1 et Jacques Maratray 1 Résumé : Cet article présente la façon d exploiter

Plus en détail

ERRATA - MAGASIN VIRTUEL

ERRATA - MAGASIN VIRTUEL ERRATA - MAGASIN VIRTUEL 1 28 juillet 2005 Entre mars et juillet 2005, un certain nombre d'articles sont parus sur [http://tahe.developpez.com]. Ils avaient pour but de présenter le framework Spring aussi

Plus en détail

www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3

www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3 L i a m T A R D I E U www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3 Sommaire Sommaire... 2 Eléments initiaux... 3 Base de données... 3 Tables... 4 membres... 4 commandes... 4 articles... 4 details_commandes...

Plus en détail

Manuel d utilisation de FormXL Pro

Manuel d utilisation de FormXL Pro Manuel d utilisation de FormXL Pro Gaëtan Mourmant & Quoc Pham Contact@polykromy.com www.xlerateur.com FormXL Pro- Manuel d utilisation Page 1 Table des matières Introduction... 3 Liste des fonctionnalités...

Plus en détail

Vue d'ensemble de Document Portal

Vue d'ensemble de Document Portal Pour afficher ou télécharger cette publication ou d'autres publications Lexmark Document Solutions, cliquez ici. Vue d'ensemble de Document Portal Lexmark Document Portal est une solution logicielle qui

Plus en détail

Affichage d'une table de base de données

Affichage d'une table de base de données Affichage d'une table de base de données par Philippe Vialatte (Traduction) (ma page DVP) (Blog) Date de publication : 22 Avril 2009 Dernière mise à jour : Traduction...3 Introduction...3 Créer les classes

Plus en détail

Rapport Gestion de projet

Rapport Gestion de projet IN56 Printemps 2008 Rapport Gestion de projet Binôme : Alexandre HAFFNER Nicolas MONNERET Enseignant : Nathanaël COTTIN Sommaire Description du projet... 2 Fonctionnalités... 2 Navigation... 4 Description

Plus en détail

Formation PHP/ MYSQL

Formation PHP/ MYSQL Formation PHP/ MYSQL Deuxième PARTIE 1/12 II MYSQL (PHPmyAdmin) Création d un annuaire avec une table MySQL dans phpmyadmin. Voici l écran de PHPmyAdmin lorsque vous vous y connectez. 2/12 1) Création

Plus en détail

Vulnérabilités logicielles Injection SQL. Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI

Vulnérabilités logicielles Injection SQL. Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI Vulnérabilités logicielles Injection SQL Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI 1 Plan SQL Injection SQL Injections SQL standards Injections SQL de requêtes

Plus en détail

Mon-Expert-en-Gestion est un portail collaboratif 100% Web, constitué de plusieurs modules utiles pour la gestion en ligne de votre entreprise.

Mon-Expert-en-Gestion est un portail collaboratif 100% Web, constitué de plusieurs modules utiles pour la gestion en ligne de votre entreprise. PERT N ION RTGESTION N M E M M E E LA GESTION EN LIGNE DE VOTRE ENTREPRISE MODULE FICHE PRATIQUE hats est un module de Mon-Expert-en-Gestion Mon-Expert-en-Gestion est un portail collaboratif 00% Web, constitué

Plus en détail

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public. DEVAKI NEXTOBJET 1 Présentation...2 Installation...3 Prérequis...3 Windows...3 Linux...3 Exécution...4 Concevoir une BDD avec Devaki NextObject...5 Nouveau MCD...5 Configurer la connexion à la base de

Plus en détail

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

Plus en détail

BD50. TP5 : Développement PL/SQL Avec Oracle SQL Developer. Gestion Commerciale

BD50. TP5 : Développement PL/SQL Avec Oracle SQL Developer. Gestion Commerciale Département Génie Informatique BD50 TP5 : Développement PL/SQL Avec Oracle SQL Developer Gestion Commerciale Françoise HOUBERDON & Christian FISCHER Copyright Avril 2007 Présentation de la gestion commerciale

Plus en détail

Tutoriel d'utilisation du site PEEP

Tutoriel d'utilisation du site PEEP Tutoriel d'utilisation du site PEEP Intro Le site, ape-niort.peep.asso.fr, est géré par un système de gestion de contenu (ici Mura CMS). Un CMS permet, entre autre, de générer un site de manière rapide

Plus en détail

Faculté I&C, Claude Petitpierre, André Maurer. Bases de données. SQL (Structured Query Language)

Faculté I&C, Claude Petitpierre, André Maurer. Bases de données. SQL (Structured Query Language) Bases de données SQL (Structured Query Language) Une base de données contient des tables idv region cepage annee Lavaux chasselas 2005 Chianti sangiovese 2002 2 Bourgogne pinot noir 2000 Le nom et le type

Plus en détail

Révisions sur les Bases de données. Lycée Thiers - PC/PC*

Révisions sur les Bases de données. Lycée Thiers - PC/PC* Bases de données Architecture clients-serveur Architecture trois tiers Vocabulaire des BDD Algèbre relationnelle Création/modification d une table Commandes SQL de manipulation de tables Définition formelle

Plus en détail

Introduction aux bases de données

Introduction aux bases de données 1/73 Introduction aux bases de données Formation continue Idir AIT SADOUNE idir.aitsadoune@supelec.fr École Supérieure d Électricité Département Informatique Gif sur Yvette 2012/2013 2/73 Plan 1 Introduction

Plus en détail

ASP. Etape par étape. 1ère partie : Introduction à asp.net. (Révision : 2 du 05/11/2004 13 pages) Avertissement :

ASP. Etape par étape. 1ère partie : Introduction à asp.net. (Révision : 2 du 05/11/2004 13 pages) Avertissement : ASP Etape par étape 1ère partie : Introduction à asp.net (Révision : 2 du 05/11/2004 13 pages) Avertissement : Ce document peut comporter des erreurs. Cependant, tout a été mis en œuvre afin de ne pas

Plus en détail

TD n 1 : Architecture 3 tiers

TD n 1 : Architecture 3 tiers 2008 TD n 1 : Architecture 3 tiers Franck.gil@free.fr 27/10/2008 1 TD n 1 : Architecture 3 tiers 1 INTRODUCTION Ce TD, se propose de vous accompagner durant l installation d un environnement de développement

Plus en détail

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR PHP /MySQL Interface d'accès aux BDDs PDO Youssef CHAHIR 1 PLAN Architecture Créer une interface PHP/MySQL : Établir une connexion Exécuter une requête Gérer les erreurs Exploiter les résultats de la requête

Plus en détail

Projet MVC-CD. Comportement de VP lors du déploiement itératif et incrémental du MPD vers la base de données cible

Projet MVC-CD. Comportement de VP lors du déploiement itératif et incrémental du MPD vers la base de données cible Projet MVC-CD Comportement de VP lors du déploiement itératif et incrémental du MPD vers la base de données cible Créé par S. Berberat, le 23 octobre.2014 Modifié par S. Berberat, le 29 octobre 2014 Page

Plus en détail

TD 15 ème chapitre Bases de données

TD 15 ème chapitre Bases de données TD 15 ème chapitre Bases de données Nous allons travailler dans un premier temps avec le sgbd SQLite qui, à proprement parler, ne s'installe pas vraiment. Les bases de données SQLite tiennent sur un fichier

Plus en détail

Host Integration Server 2000

Host Integration Server 2000 Host Integration Server 2000 Comment communiquer entre Windows et Mainframe Dans le cadre d'un prochain article consacré à l'appel des composants COMTI depuis une page WEB (ASP3 et ASP.NET), nous verrons

Plus en détail

Consommation de services de données ADO.NET

Consommation de services de données ADO.NET Consommation de services de données ADO.NET Version 1.0 Jean-Christophe VASSELON 2 ADO.Net Data Services Sommaire 1. Introduction... 3 2. La consommation d un service Ado.Net Data Services... 4 2.1 Démarrage

Plus en détail

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013 NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée

Plus en détail