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

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

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

Paginer les données côté serveur, mettre en cache côté client

Paginer les données côté serveur, mettre en cache côté client Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

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 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

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

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

Notes de cours : bases de données distribuées et repliquées

Notes de cours : bases de données distribuées et repliquées Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées

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 NetSuite NOTICE The information contained in this document is believed to be accurate in all respects but

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

Plus en détail

Accès au support technique produits et licences par le portail client MGL de M2Msoft.com. Version 2010. Manuel Utilisateur

Accès au support technique produits et licences par le portail client MGL de M2Msoft.com. Version 2010. Manuel Utilisateur Accès au support technique produits et licences par le portail client MGL de M2Msoft.com Version 2010 Manuel Utilisateur Access to M2Msoft customer support portal, mgl.m2msoft.com, 2010 release. User manual

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

Historisation des données

Historisation des données Historisation des données Partie 1 : mode colonne par Frédéric Brouard, alias SQLpro MVP SQL Server Expert langage SQL, SGBDR, modélisation de données Auteur de : SQLpro http://sqlpro.developpez.com/ "SQL",

Plus en détail

TP1 - Corrigé. Manipulations de données

TP1 - Corrigé. Manipulations de données TP1 - Corrigé Manipulations de données 1. Démarrez mysql comme suit : bash$ mysql -h 127.0.0.1 -u user4 -D db_4 p Remarque: le mot de passe est le nom de user. Ici user4 2. Afficher la liste des bases

Plus en détail

Tutoriel de formation SurveyMonkey

Tutoriel de formation SurveyMonkey Tutoriel de formation SurveyMonkey SurveyMonkey est un service de sondage en ligne. SurveyMonkey vous permet de créer vos sondages rapidement et facilement. SurveyMonkey est disponible à l adresse suivante

Plus en détail

Installation et compilation de gnurbs sous Windows

Installation et compilation de gnurbs sous Windows Installation et compilation de gnurbs sous Windows Installation de l environnement de développement Code::Blocks (Environnement de développement) 1. Télécharger l installateur de Code::Blocks (version

Plus en détail

T.P. 3 Base de données, JDBC et Mapping Objet-relationnel

T.P. 3 Base de données, JDBC et Mapping Objet-relationnel EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 3 Base de données, JDBC et Mapping Objet-relationnel L'objectif de ce TP est de vous faire pratiquer l'api JDBC qui permet d'accéder à une base de données

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

PRESENTATION. Document1 Serge GUERINET Page 1

PRESENTATION. Document1 Serge GUERINET Page 1 PRESENTATION Les domaines couverts par la série STG sont tous des pourvoyeurs ou exploitants des bases de données. Que l'on gère la relation aux clients, le suivi de l'activité financière, la comptabilité

Plus en détail

http://www.bysoft.fr

http://www.bysoft.fr http://www.bysoft.fr Flash Slideshow Module for MagentoCommerce Demo on http://magento.bysoft.fr/ - Module Slideshow Flash pour MagentoCommerce Démonstration sur http://magento.bysoft.fr/ V3.0 ENGLISH

Plus en détail

Création et Gestion des tables

Création et Gestion des tables Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5

Plus en détail

ADO.NET. Ado.net propose deux modes d'accès, le mode connecté et le mode déconnecté.

ADO.NET. Ado.net propose deux modes d'accès, le mode connecté et le mode déconnecté. ADO.NET Ado.net est une technologie d'accès aux données qui fournit un ensemble des classes permettant d'accéder aux données relationnelles. Même si Microsoft a repris le nom d'ado, déjà présent en VB6,

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

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

8. Java et les bases de données. Olivier Curé - UMLV [page 206 ]

8. Java et les bases de données. Olivier Curé - UMLV [page 206 ] 8. Java et les bases de données Olivier Curé - UMLV [page 206 ] Java et les BD Plusieurs manières d'écrire du code Java accédant à une BD: Statement Level Interface (SLI) Solutions : SQLJ (SQL92) Call

Plus en détail

Connaître la version de SharePoint installée

Connaître la version de SharePoint installée Connaître la version de SharePoint installée Comment savoir la version de SharePoint en cours Dans le cadre de la maintenance de plusieurs fermes SharePoint, il est indispensable de connaître les versions

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

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

La double authentification dans SharePoint 2007

La double authentification dans SharePoint 2007 La double authentification dans SharePoint 2007 Authentification NT et Forms sur un même site Dans de nombreux cas on souhaite pouvoir ouvrir un accès sur son serveur SharePoint à des partenaires qui ne

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

Compétences Business Objects - 2014

Compétences Business Objects - 2014 Compétences Business Objects - 2014 «Mars-Juin 2014. Réf : Version 1 Page 1 sur 34 Sommaire CONTEXTE DE LA REMISE A NIVEAU EN AUTOFORMATION... 3 1. MODELISATION... 4 1.1 DESCRIPTION FONCTIONNEL DE L'APPLICATION

Plus en détail

VTigerCRM. CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise

VTigerCRM. CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise Possibilités : Gestion des rendez-vous/appels Gestion des e-mails Gestion des stocks Gestion des ventes Enregistrement des

Plus en détail

Cours 7 : Langage de définition, manipulation et contrôle des données

Cours 7 : Langage de définition, manipulation et contrôle des données Cours 7 : Langage de définition, manipulation et contrôle des données Objets d une base de données Dans un schéma Tables, vues Index, clusters, séquences, synonymes Packages, procédures, fonctions, déclencheurs

Plus en détail

WEB page builder and server for SCADA applications usable from a WEB navigator

WEB page builder and server for SCADA applications usable from a WEB navigator Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB WEB page builder and server for SCADA applications usable from a WEB navigator opyright 2007 IRAI Manual Manuel

Plus en détail

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24 Guide Utilisateur Titre du projet : Sig-Artisanat Type de document : Guide utilisateur Cadre : Constat : Les Chambres de Métiers doivent avoir une vision prospective de l'artisanat sur leur territoire.

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

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

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

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

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

Once the installation is complete, you can delete the temporary Zip files..

Once the installation is complete, you can delete the temporary Zip files.. Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une

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 Microsoft Outlook NOTICE The information contained in this document is believed to be accurate in all respects

Plus en détail

Module pour la solution e-commerce Magento

Module pour la solution e-commerce Magento Module pour la solution e-commerce Magento sommaire 1. Introduction... 3 1.1. Objet du document... 3 1.2. Liste des documents de référence... 3 1.3. Avertissement... 3 1.4. Contacts... 3 1.5. Historique

Plus en détail

Cours 10701A - Configuration et gestion de Microsoft SharePoint 2010

Cours 10701A - Configuration et gestion de Microsoft SharePoint 2010 Cours 10701A - Configuration et gestion de Microsoft SharePoint 2010 INTRODUCTION Ce cours apprend aux stagiaires comment installer, configurer et administrer SharePoint, ainsi que gérer et surveiller

Plus en détail

Guide d utilisation de OroTimesheet

Guide d utilisation de OroTimesheet Guide d utilisation de OroTimesheet www.orotimesheet.com Copyright 1996-2015 OroLogic Inc. Révision 8.0.2 Table des matières I Table des matières Table des matières...i Guide d'utilisation de OroTimesheet...1

Plus en détail

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 2 ème partie : REQUÊTES Sommaire 1. Les REQUÊTES...2 1.1 Créer une requête simple...2 1.1.1 Requête de création de listage ouvrages...2 1.1.2 Procédure de

Plus en détail

Le Langage De Description De Données(LDD)

Le Langage De Description De Données(LDD) Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,

Plus en détail

Macros et langage VBA Apprendre à programmer sous Excel (3ième édition)

Macros et langage VBA Apprendre à programmer sous Excel (3ième édition) Introduction A. Introduction 15 B. À qui s'adresse ce livre? 15 C. Qu est-ce qu une macro? 15 D. Quel intérêt de faire des macros? 16 E. Contenu de ce livre 16 L'éditeur de Visual Basic A. Introduction

Plus en détail

Pour les débutants. langage de manipulation des données

Pour les débutants. langage de manipulation des données Pour les débutants SQL : langage de manipulation des données Les bases de données sont très utilisées dans les applications Web. La création, l interrogation et la manipulation des données de la base sont

Plus en détail

3615 SELFIE. http://graffitiresearchlab.fr HOW-TO / GUIDE D'UTILISATION

3615 SELFIE. http://graffitiresearchlab.fr HOW-TO / GUIDE D'UTILISATION 3615 SELFIE http://graffitiresearchlab.fr HOW-TO / GUIDE D'UTILISATION Hardware : Minitel Computer DIN FM545 45 connector (http://www.gotronic.fr/art-fiche-din-fm545-4747.htm) Cable Arduino compatible

Plus en détail

Utiliser Reporting Services pour des NewsLetter

Utiliser Reporting Services pour des NewsLetter Utiliser Reporting Services pour des NewsLetter SQL Server Reporting Services et les NewsLetters Le moteur de rapport inclus dans Microsoft SQL Server permet de créer de nombreux rapports classiques. Il

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

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

Notice Technique / Technical Manual

Notice Technique / Technical Manual Contrôle d accès Access control Encodeur USB Mifare ENCOD-USB-AI Notice Technique / Technical Manual SOMMAIRE p.2/10 Sommaire Remerciements... 3 Informations et recommandations... 4 Caractéristiques techniques...

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Administration Réseau

Administration Réseau M1 Réseaux Informatique et Applications Administration Réseau Date: 02/04/07 Auteurs: Alexis Demeaulte, Gaël Cuenot Professeurs: Patrick Guterl Table des matières 1Introduction...3 2HP OPENVIEW...3 3Les

Plus en détail

Les instructions du DDL

Les instructions du DDL Les instructions du DDL Mots clés : CREATE TABLE, ALTER TABLE, Contrainte d'intégrités, CONSTRAINT, PRIMARY KEY, FOREIGN KEY, REFERENCES, UNIQUE, CHECK, NULL Etablir le schéma entités relations attributs

Plus en détail

Apprendre le langage SQL le DDL - 1 / 30 - Apprendre le langage SQL par l exemple

Apprendre le langage SQL le DDL - 1 / 30 - Apprendre le langage SQL par l exemple Apprendre le langage SQL le DDL - 1 / 30 - Apprendre le langage SQL par l exemple Ce document est publié sous licence Creative Commons CC-by-nc-nd. Il ne peut ni être modifié, ni faire l objet d une exploitation

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

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

How to Login to Career Page

How to Login to Career Page How to Login to Career Page BASF Canada July 2013 To view this instruction manual in French, please scroll down to page 16 1 Job Postings How to Login/Create your Profile/Sign Up for Job Posting Notifications

Plus en détail

SHAREPOINT & WORKFLOWS

SHAREPOINT & WORKFLOWS Es SHAREPOINT & WORKFLOWS 05/09/2007 De l utilisation à la création de workflow dans WSS v3 & MOSS L automatisation de Workflows, ou Flux de travail, résulte d une volonté d amélioration de performance

Plus en détail

GWT Développement d'applications clientes en Java. Introduction prise en main

GWT Développement d'applications clientes en Java. Introduction prise en main GWT Développement d'applications clientes en Java Introduction prise en main 1 Pourquoi GWT? GWT est un framework, conçu par Google, pour programmer des applications web en Java ; Il permet de programmer

Plus en détail

1 Introduction. La sécurité

1 Introduction. La sécurité La sécurité 1 Introduction Lors de l'écriture d'une application de gestion, les problèmes liés à la sécurité deviennent vite prégnants. L'utilisateur doit disposer des droits nécessaires, ne pouvoir modifier

Plus en détail

Utilitaire d importation et d exportation de données pour NewWayService 4

Utilitaire d importation et d exportation de données pour NewWayService 4 Utilitaire d importation et d exportation de données pour NewWayService 4 Copyright 1996-2009 OroLogic Inc. http://www.orologic.com Révision 4.01 Table des matières I Table des matières Introduction à

Plus en détail

Tp2 Emacs Développement Web

Tp2 Emacs Développement Web Tp2 Emacs Développement Web Les indications ci-dessous donnent les grandes lignes du développement. 1/ Evenement Ajax Jquery: Le code javascript jquery suivant permet d afficher un message dans un span

Plus en détail

ORACLE TUNING PACK 11G

ORACLE TUNING PACK 11G ORACLE TUNING PACK 11G PRINCIPALES CARACTÉRISTIQUES : Conseiller d'optimisation SQL (SQL Tuning Advisor) Mode automatique du conseiller d'optimisation SQL Profils SQL Conseiller d'accès SQL (SQL Access

Plus en détail

MEDIAplus elearning. version 6.6

MEDIAplus elearning. version 6.6 MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...

Plus en détail

PHP 5. La base de données MySql. A. Belaïd 1

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

Vanilla : Virtual Box

Vanilla : Virtual Box Vanilla : Virtual Box Installation Guide for Virtual Box appliance Guide d'installation de l'application VirtualBox Vanilla Charles Martin et Patrick Beaucamp BPM Conseil Contact : charles.martin@bpm-conseil.com,

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public Communautés Numériques L informatique à la portée du Grand Public Initiation et perfectionnement à l utilisation de la micro-informatique Microsoft Document Connection pour Mac. Microsoft Document Connection

Plus en détail

Auto-évaluation Oracle: cours de base

Auto-évaluation Oracle: cours de base Auto-évaluation Oracle: cours de base Document: F0475Test.fm 14/01/2008 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION ORACLE: COURS DE

Plus en détail

SQL Server et Active Directory

SQL Server et Active Directory SQL Server et Active Directory Comment requêter AD depuis SQL Server Comment exécuter des requêtes de sélection sur un Active Directory depuis SQL Server? L'utilisation du principe des serveurs liés adapté

Plus en détail

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

Plus en détail

Microsoft Dynamics Mobile Development Tools

Microsoft Dynamics Mobile Development Tools Microsoft Dynamics Mobile Development Tools Microsoft Dynamics Mobile Development Tools AVANTAGES : Bâtir des solutions complètes avec Microsoft Dynamics. Créer rapidement des applications verticales à

Plus en détail

TAGREROUT Seyf Allah TMRIM

TAGREROUT Seyf Allah TMRIM TAGREROUT Seyf Allah TMRIM Projet Isa server 2006 Installation et configuration d Isa d server 2006 : Installation d Isa Isa server 2006 Activation des Pings Ping NAT Redirection DNS Proxy (cache, visualisation

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

KUMARASAMY Sandirane Lemont Jérémy Fruitet Robin FOULARD Aymeric BTS 2 SLAM Compte-rendu PPE03 et PPE04

KUMARASAMY Sandirane Lemont Jérémy Fruitet Robin FOULARD Aymeric BTS 2 SLAM Compte-rendu PPE03 et PPE04 KUMARASAMY Sandirane Lemont Jérémy Fruitet Robin FOULARD Aymeric BTS 2 SLAM Compte-rendu PPE03 et PPE04 Environnement : Ce projet a été réalisé en deuxième année de BTS, il s'agit d'un travail de groupe

Plus en détail

Microsoft Application Center Test

Microsoft Application Center Test Microsoft Application Center Test L'outil de Test de performance des Sites Web Avec Visual Studio.NET, il est fourni une petite application qui permet de valider la performance de son site Internet ou

Plus en détail

SQL Serveur 2012+ Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise

SQL Serveur 2012+ Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise SQL Serveur 2012+ Programme de formation France Belgique Suisse - Canada Microsoft Partner Formez vos salariés pour optimiser la productivité de votre entreprise Dernière mise à jour le : Avril 2014 Des

Plus en détail

deux tâches dans le tableau et à cliquer sur l icône représentant une chaîne dans la barre d outils. 14- Délier les tâches : double cliquer sur la

deux tâches dans le tableau et à cliquer sur l icône représentant une chaîne dans la barre d outils. 14- Délier les tâches : double cliquer sur la MS Project 1- Créer un nouveau projet définir la date du déclenchement (début) ou de la fin : File New 2- Définir les détails du projet : File Properties (permet aussi de voir les détails : coûts, suivi,

Plus en détail

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5 1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en

Plus en détail

Utiliser Service Broker pour les tâ ches progrâmme es dâns SQL Express

Utiliser Service Broker pour les tâ ches progrâmme es dâns SQL Express Utiliser Service Broker pour les tâ ches progrâmme es dâns SQL Express Chacun sait que SQL Express ne dispose pas de l Agent SQL qui permet l exécution automatique de tâches programmées, comme par exemple

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

Comment Définir une Plage de données Pour Utiliser Fonctions de Filtres et de Tris

Comment Définir une Plage de données Pour Utiliser Fonctions de Filtres et de Tris Comment Définir une Plage de données Pour Utiliser Fonctions de Filtres et de Tris Diffusé par Le Projet Documentation OpenOffice.org Table des matières 1. Définir les plages...3 2. Sélectionner une plage...4

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

LANDPARK NETWORK IP LANDPARK NETWORK IP VOUS PERMET D'INVENTORIER FACILEMENT VOS POSTES EN RÉSEAU

LANDPARK NETWORK IP LANDPARK NETWORK IP VOUS PERMET D'INVENTORIER FACILEMENT VOS POSTES EN RÉSEAU LANDPARK NETWORK IP Avril 2014 LANDPARK NETWORK IP VOUS PERMET D'INVENTORIER FACILEMENT VOS POSTES EN RÉSEAU Landpark NetworkIP est composé de trois modules : Un module Serveur, que l'on installe sur n'importe

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

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

1/ Présentation de SQL Server :

1/ Présentation de SQL Server : Chapitre II I Vue d ensemble de Microsoft SQL Server Chapitre I : Vue d ensemble de Microsoft SQL Server Module: SQL server Semestre 3 Année: 2010/2011 Sommaire 1/ Présentation de SQL Server 2/ Architerture

Plus en détail

Trier les ventes (sales order) avec Vtiger CRM

Trier les ventes (sales order) avec Vtiger CRM Trier les ventes (sales order) avec Vtiger CRM Dans l'activité d'une entreprise, on peut avoir besoin d'un outil pour trier les ventes, ce afin de réaliser un certain nombre de statistiques sur ces ventes,

Plus en détail

DESCRIPTION DE L APPLICATION GEOANALYSTE

DESCRIPTION DE L APPLICATION GEOANALYSTE CRENAM Centre de REcherches sur l'environnement et l'aménagement CNRS UMR5600 / Université Jean Monnet Saint Etienne Renaud.Mayoud (Renaud.Mayoud@univ-st-etienne.fr) Thierry.Joliveau (Thierry.Joliveau@univ-st-etienne.fr)

Plus en détail

Gestion de base de données

Gestion de base de données Université Libre de Bruxelles Faculté de Philosophie et Lettres Département des Sciences de l Information et de la Communication Gestion de base de données Projet : Take Off ASBL Cours de M. A. Clève STIC-B-505

Plus en détail