https://air.imag.fr/api.php?action=feedcontributions&user=Bischs&feedformat=atomair - User contributions [en]2024-03-28T16:13:15ZUser contributionsMediaWiki 1.35.13https://air.imag.fr/index.php?title=IDS&diff=10241IDS2013-03-22T12:19:17Z<p>Bischs: </p>
<hr />
<div>[[Image:IDS-hall-polytech2.jpg|300px|thumb|right|Prototype de l'IDS]]<br />
<br />
<br />
Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : [http://simon.bisch.free.fr/cv/ Simon BISCH], Aurélien CLAVELIN, [http://ffourure.free.fr/ Florian FOURURE] . Enseignant [[User:Donsez|Didier Donsez]]. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
[http://youtu.be/N9lzwH4TDQ8 Vidéo du projet]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
Digital signage will soon appear in every aspect of daily life, offering a third foundational platform that, along with smart- phones and tablets, will support communication in the 21st century.<br />
<br />
'''Examples:'''<br />
* http://territoires-nfc.forum-smsc.org/tag-nfc/le-deploiement-du-mobilier-communicant-saccelere-outre-manche/<br />
* http://www.jcdecaux.com/fr/Presse/Communiques2/2012/JCDecaux-experimente-six-Mobiliers-Urbains-Intelligents-dans-le-cadre-de-l-appel-a-projets-de-la-Ville-de-Paris<br />
* http://next.liberation.fr/design/2013/02/01/une-table-de-jeu-tactile-pour-les-squares-parisiens_878558<br />
* http://www.rslnmag.fr/post/2012/12/17/Les-reseaux-sociaux-dans-la-ville.aspx<br />
<br />
==Matériel==<br />
* Caisse<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
** Roulette pour le déplacement<br />
* Unité(s) centrale(s)<br />
** Mac Mini<br />
** [[Raspberry Pi]]<br />
** [[Arduino]]<br />
* Micro<br />
* [[Gas_Sensors|Capteurs polluant (CO2, NO, CO, GPL)]]<br />
* Carte Wifi pour monitorer<br />
** TP-Link : [[TL-WN722N]]<br />
* Caméras stéreo + profondeur<br />
** [[XBox Kinect]]<br />
** [[Creative Interactive Gesture Camera Developer Kit]]<br />
* Haut Parleurs + [http://dx.com/p/60w-stereo-audio-amplifier-for-car-motorcycle-golf-cart-red-91350 Ampli 60W]<br />
* NFC Reader<br />
** [[ACS_ACR_122]]<br />
** [[SCL3711]]<br />
* Camera USB + Diode blanche puissance pour faire un lecteur de QRCode<br />
* Détecteur ultrason de distance : non prioritaire<br />
* Imprimante : non prioritaire<br />
<br />
==Logiciels (utilisés)==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural Speaking<br />
* [[OpenCV]] (face tracking)<br />
* [[OpenNI]] (Kinect)<br />
* [[DBus]]<br />
* [[Libnfc]] ([[Near Field Communication]])<br />
* [[Intel® Perceptual Computing SDK]]<br />
<br />
==Logiciels (réalisés)==<br />
<br />
Voici la liste des différentes applications que nous avons réalisées dans le but de répondre à différents use cases.<br />
<br />
=== MacScanner ===<br />
Ce module permet de voir les cartes wifi actives autour de la borne. On utilise la suite aircrack-ng afin de monitorer le wifi environnant, avec la carte wifi USB [[TL-WN722N]] (la carte wifi intégrée du mac mini ne permettant pas le monitoring avec les drivers linux).<br />
L'idée inérente, est de montrer que l'on peut observer les "devices" proches ayant une carte wifi active. On peut ensuite imaginer différentes utilisations. Par exemple dans le cas où on disposerait de plusieurs bornes, on pourrait paramétrer l'affichage en fonction de l'adresse mac à proximité (pour que l'affichage "suive" la personne).<br />
<br />
Sources : [https://github.com/tetram/ids/tree/master/macScanner git]<br />
<br />
==== Prérequis ====<br />
* aircrack-ng<br />
* python<br />
* java<br />
* drivers wifi installés et compatibles pour faire du monitoring<br />
<br />
==== Installation ====<br />
Normalement aucune installation n'est nécessaire. Le jar contenu dans le dépot est fonctionnel. Pour recompiler l'interface java, le plus simple est de créer un projet à partir des sources (dans netbeans ou eclipse), et d'inclure le dossier lib.<br />
<br />
==== Utilisation ====<br />
Il suffit d'éxecuter le script main en lui passant en paramètre l'interface wifi que l'on souhaite utiliser pour monitorer. Si aircrack, python et java sont correctement installés, tout fonctionne directement.<br />
<br />
=== EDTDemon ===<br />
'''- Le lecteur NFC'''<br />
<br />
Pour lire les tags NFC nous utilisons le lecteur de tag NFC tikitag. <br />
<br />
[[File:Tikitag.jpg | Photo d'un lecteur tikitag]]<br />
<br />
Pour le fonctionnement de celui-ci il suffit d’avoir installé, sur son pc, les librairies suivantes : <br />
<br />
*libccid <br />
*Pcscd <br />
*pcsc-tools <br />
*libpcsclite1 <br />
*libpcsclite-dev<br />
<br />
Ces librairies sont disponibles sur les dépôts.<br />
<br />
Pour installer le lecteur tikitag dans la borne IDS, nous avons retiré la face avant du lecteur afin de visser celui-ci sur le bois. (La puissance du lecteur NFC permet la lecture d’un tag à travers le bois).<br />
<br />
Pour pouvoir programmer avec le lecteur NFC, nous avons utilisé la bibliothèque java Tikitag (maintenant renommé en TouchATag). Cette bibliothèque permet de récupérer les données « brutes » sur un TAG NFC. Cependant ces données sont dans un format appelé NDef et ne sont pas utilisables telles quelles. <br />
<br />
'''- Le format NDEF'''<br />
<br />
Le format NDef est un nouveau format, spécialement créé pour les Tag NFC. En effet celui-ci permet la gestion de données de taille variable (avec un grand écart entre le minimum et le maximum), tout en optimisant la place. Ces choix on été dirigés par le fait que de nombreux tag de tailles différentes existent.<br />
<br />
Voici le format des trames NDef:<br />
<br />
[[File:Ndefrecod.png | Schéma trames NDef ]]<br />
<br />
Le problème de ce format est qu’il est surtout présent sur mobile (Android), il existe de nombreuses bibliothèques capables de gérer les trames NDef mais uniquement en développement mobile, en ce qui concerne le développement pc, nous n’avons trouvé aucune bibliothèque. C’est pourquoi nous avons créé notre propre interpréteur de trame NDef (uniquement pour les trames de type Texte).<br />
<br />
'''- La gestion des clés'''<br />
<br />
La borne étant connectée à internet nous ne pouvions pas permettre aux personnes d’aller sur n’importe quel site. C’est pourquoi nous n’avons pas utilisé les trames NDef de type URL (toute personne ayant un tag pourrait alors mettre le site qu’elle veut sur un tag et le lancer sur notre borne). Nous avons donc utilisé le type Texte qui représente des clés liées à des URLs. Ainsi seul les URLs qui possèdent une clé peuvent être atteintes avec la borne. Ces clés sont codées dans un fichier XML sous le format suivant :<br />
Format XML<br />
<br />
Chaque clé est donc associée à une URL mais peut aussi être associée à un fichier son. Ainsi lorsque, par exemple, on regarde l’emploi du temps des RICMs, on peut entendre une voix dire « Emploi du temps RICM ».<br />
<br />
A terme, ce fichier son pourra être remplacé par un texte qui seras alors synthétisé par Voxygene.<br />
<br />
'''- L’affichage de l’emploi du temps'''<br />
<br />
Pour afficher l’emploi du temps avec le lecteur NFC, nous avons « juste » associé à chaque filières (RICM / RICM 5 / RICM 4 / TIS 3 / … ) l’url correspondante sur ADE.<br />
<br />
=== PicViewer ===<br />
PicViewer est un petit script python permettant d'afficher les images contenues dans le dossier pic. On peut naviguer parmi les images avec les flèches gauche et droite. Nous avons réalisé ce script afin d'avoir un affichage simple à contrôler avec la kinect.<br />
<br />
<br />
<br />
<br />
=== Kinect ===<br />
Il s’agit d’une camera utilisant des techniques d’interaction développées par la société israélienne PrimeSense, longtemps nommée par le nom de code du projet, « Project Natal », elle a été officialisée juste avant l'E3 sous le nom Kinect. Elle est basée sur un périphérique d’entrée branché sur la console Xbox 360 qui permet d’interagir par commande vocale (pas disponible au lancement en France), reconnaissance de mouvement et d’image.<br />
<br />
Nous avons utilisé celle ci dans notre projet pour la reconnaissance des mouvements afin de manipuler les différentes pubs affichées sur la borne interactive.<br />
<br />
==== Installation ====<br />
<br />
Pour installer la Kinect, nous avons tout d’abord installé le driver grâce aux librairies :<br />
<br />
* libusb-1.0-0-dev <br />
* freeglut3-dev <br />
* g++<br />
<br />
Pour vérifier que les drivers marche bien nous avons utilisé l’utilitaire freenect qui permet de visualiser les différents capteurs de la Kinect (profondeur, vidéo, son etc…).<br />
<br />
Afin d’exploiter ces données, nous avons installé un middleware OpenNI ainsi que NITE. Nous les avons téléchargé sur ce [http://www.openni.org/openni-sdk/#.UUrXLr-qCWc lien] et nous avons compilé puis installé ces applications afin qu’elles soient adapté à notre système d’exploitation.<br />
<br />
==== Développement ====<br />
<br />
(à venir photo)<br />
<br />
Afin de personnaliser notre code, nous avons suivit un tutorial sur ce [http://fivedots.coe.psu.ac.th/~ad/jg/nui165/index.html lien] puis nous l’avons adapté à nos envies. <br />
<br />
Initialement, le programme détectait les mouvements de la main et écrivait dans la console les spécifications du geste qu’il avait détecté.<br />
<br />
Pour démarrer la détection des gestes, il faut initialisé une session. Afin de le faire, il faut lever la main devant la Kinect puis avancer celle-ci vers la Kinect et la refermer afin que le programme reconnaisse le geste « click ». La session est alors initialisé et la détection des gestes est enclenché juste ce qu’a ce que la Kinect perdre le tracking de la main.<br />
<br />
Nous avons modifié ce code pour que la session s’initialise juste en levant la main (geste RaiseHand) et que lors de la détection des gestes « swipe » droite et gauche, cela reviennent à faire les flèches du clavier (respectivement gauche droite).<br />
Nous avons aussi ajouté une option sur la détection des « swipe » haut et bas pour changer de bureau (option –b lors du lancement du .jar).<br />
<br />
<br />
=== Launch ===<br />
C'est un ensemble de scripts permettant de lancer l'ensemble des applications que nous avons développées.<br />
<br />
==Projets Connexes==<br />
* [[GroundCTRL]]<br />
* [[KiCTRL]]<br />
* [[Cave à vin NFC]]<br />
<br />
==Challenges==<br />
* [http://www.wima.mc/monaco/2461-presentation NFC Forum]<br />
* Intel Perceptual<br />
<br />
==Evénements==<br />
* [http://www.polytech-grenoble.fr/spip.php?article1314 Journée Polytech Grenoble 2013]<br />
<br />
==Galerie==<br />
[[Image:IDS-proto1.png|300px|Prototype de l'IDS]]<br />
[[Image:bricolgirl.jpg|300px|Camille donne un coup de main à Florian]]<br />
[[Image:IDS-proto2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne1.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne5.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne6.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne7.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne8.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne9.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne10.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne11.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne12.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDSConstructionBorne13.jpg|300px|l'IDS avec les stickers]]<br />
[[Image:IDS-work.jpg|300px|Simon programmant sur l'IDS]]<br />
[[Image:IDS-hall-polytech1.jpg|300px|Démonstration dans le hall de Polytech Grenoble]]<br />
[[Image:IDS-hall-polytech2.jpg|300px|Démonstration dans le hall de Polytech Grenoble]]</div>Bischshttps://air.imag.fr/index.php?title=IDS&diff=10006IDS2013-03-21T09:50:56Z<p>Bischs: </p>
<hr />
<div>[[Image:ConstructionBorne12.jpg|300px|thumb|right|Prototype de l'IDS]]<br />
<br />
<br />
Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : [http://simon.bisch.free.fr/cv/ Simon BISCH], Aurélien CLAVELIN, [http://ffourure.free.fr/ Florian FOURURE] . Enseignant [[User:Donsez|Didier Donsez]]. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
Digital signage will soon appear in every aspect of daily life, offering a third foundational platform that, along with smart- phones and tablets, will support communication in the 21st century.<br />
<br />
'''Examples:'''<br />
* http://territoires-nfc.forum-smsc.org/tag-nfc/le-deploiement-du-mobilier-communicant-saccelere-outre-manche/<br />
* http://www.jcdecaux.com/fr/Presse/Communiques2/2012/JCDecaux-experimente-six-Mobiliers-Urbains-Intelligents-dans-le-cadre-de-l-appel-a-projets-de-la-Ville-de-Paris<br />
* http://next.liberation.fr/design/2013/02/01/une-table-de-jeu-tactile-pour-les-squares-parisiens_878558<br />
* http://www.rslnmag.fr/post/2012/12/17/Les-reseaux-sociaux-dans-la-ville.aspx<br />
<br />
==Matériel==<br />
* Caisse<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
** Roulette pour le déplacement<br />
* Unité(s) centrale(s)<br />
** Mac Mini<br />
** [[Raspberry Pi]]<br />
** [[Arduino]]<br />
* Micro<br />
* [[Gas_Sensors|Capteurs polluant (CO2, NO, CO, GPL)]]<br />
* Carte Wifi pour monitorer<br />
** TP-Link : [[TL-WN722N]]<br />
* Caméras stéreo + profondeur<br />
** [[XBox Kinect]]<br />
** [[Creative Interactive Gesture Camera Developer Kit]]<br />
* Haut Parleurs + [http://dx.com/p/60w-stereo-audio-amplifier-for-car-motorcycle-golf-cart-red-91350 Ampli 60W]<br />
* NFC Reader<br />
** [[ACS_ACR_122]]<br />
** [[SCL3711]]<br />
* Camera USB + Diode blanche puissance pour faire un lecteur de QRCode<br />
* Détecteur ultrason de distance : non prioritaire<br />
* Imprimante : non prioritaire<br />
<br />
==Logiciels (utilisés)==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural Speaking<br />
* [[OpenCV]] (face tracking)<br />
* [[OpenNI]] (Kinect)<br />
* [[DBus]]<br />
* [[Libnfc]] ([[Near Field Communication]])<br />
* [[Intel® Perceptual Computing SDK]]<br />
<br />
==Logiciels (réalisés)==<br />
<br />
Voici la liste des différentes applications que nous avons réalisées dans le but de répondre à différents use cases.<br />
<br />
=== MacScanner ===<br />
Ce module permet de voir les cartes wifi actives autour de la borne. On utilise la suite aircrack-ng afin de monitorer le wifi environnant, avec la carte wifi USB [[TL-WN722N]] (la carte wifi intégrée du mac mini ne permettant pas le monitoring avec les drivers linux).<br />
L'idée inérente, est de montrer que l'on peut observer les "devices" proches ayant une carte wifi active. On peut ensuite imaginer différentes utilisations. Par exemple dans le cas où on disposerait de plusieurs bornes, on pourrait paramétrer l'affichage en fonction de l'adresse mac à proximité (pour que l'affichage "suive" la personne).<br />
<br />
Sources : [https://github.com/tetram/ids/tree/master/macScanner git]<br />
<br />
==== Prérequis ====<br />
* aircrack-ng<br />
* python<br />
* java<br />
* drivers wifi installés et compatibles pour faire du monitoring<br />
<br />
==== Installation ====<br />
Normalement aucune installation n'est nécessaire. Le jar contenu dans le dépot est fonctionnel. Pour recompiler l'interface java, le plus simple est de créer un projet à partir des sources (dans netbeans ou eclipse), et d'inclure le dossier lib.<br />
<br />
==== Utilisation ====<br />
Il suffit d'éxecuter le script main en lui passant en paramètre l'interface wifi que l'on souhaite utiliser pour monitorer. Si aircrack, python et java sont correctement installés, tout fonctionne directement.<br />
<br />
=== EDTDemon ===<br />
Ce module permet d'afficher l'emploi du temps lorsque que l'on pose un tag nfc sur le lecteur contenant les bonnes informations.<br />
<br />
Sources : à venir<br />
<br />
=== PicViewer ===<br />
PicViewer est un petit script python permettant d'afficher les images contenues dans le dossier pic. On peut naviguer parmi les images avec les flèches gauche et droite. Nous avons réalisé ce script afin d'avoir un affichage simple à contrôler avec la kinect.<br />
<br />
<br />
<br />
<br />
=== Kinect ===<br />
Il s’agit d’une camera utilisant des techniques d’interaction développées par la société israélienne PrimeSense, longtemps nommée par le nom de code du projet, « Project Natal », elle a été officialisée juste avant l'E3 sous le nom Kinect. Elle est basée sur un périphérique d’entrée branché sur la console Xbox 360 qui permet d’interagir par commande vocale (pas disponible au lancement en France), reconnaissance de mouvement et d’image.<br />
<br />
Nous avons utilisé celle ci dans notre projet pour la reconnaissance des mouvements afin de manipuler les différentes pubs affichées sur la borne interactive.<br />
<br />
==== Installation ====<br />
<br />
Pour installer la Kinect, nous avons tout d’abord installé le driver grâce aux librairies :<br />
<br />
* libusb-1.0-0-dev <br />
* freeglut3-dev <br />
* g++<br />
<br />
Pour vérifier que les drivers marche bien nous avons utilisé l’utilitaire freenect qui permet de visualiser les différents capteurs de la Kinect (profondeur, vidéo, son etc…).<br />
<br />
Afin d’exploiter ces données, nous avons installé un middleware OpenNI ainsi que NITE. Nous les avons téléchargé sur ce [http://www.openni.org/openni-sdk/#.UUrXLr-qCWc lien] et nous avons compilé puis installé ces applications afin qu’elles soient adapté à notre système d’exploitation.<br />
<br />
==== Développement ====<br />
<br />
(à venir photo)<br />
<br />
Afin de personnaliser notre code, nous avons suivit un tutorial sur ce [http://fivedots.coe.psu.ac.th/~ad/jg/nui165/index.html lien] puis nous l’avons adapté à nos envies. <br />
<br />
Initialement, le programme détectait les mouvements de la main et écrivait dans la console les spécifications du geste qu’il avait détecté.<br />
<br />
Pour démarrer la détection des gestes, il faut initialisé une session. Afin de le faire, il faut lever la main devant la Kinect puis avancer celle-ci vers la Kinect et la refermer afin que le programme reconnaisse le geste « click ». La session est alors initialisé et la détection des gestes est enclenché juste ce qu’a ce que la Kinect perdre le tracking de la main.<br />
<br />
Nous avons modifié ce code pour que la session s’initialise juste en levant la main (geste RaiseHand) et que lors de la détection des gestes « swipe » droite et gauche, cela reviennent à faire les flèches du clavier (respectivement gauche droite).<br />
Nous avons aussi ajouté une option sur la détection des « swipe » haut et bas pour changer de bureau (option –b lors du lancement du .jar).<br />
<br />
<br />
=== Launch ===<br />
C'est un ensemble de scripts permettant de lancer l'ensemble des applications que nous avons développées.<br />
<br />
==Projets Connexes==<br />
* [[GroundCTRL]]<br />
* [[KiCTRL]]<br />
* [[Cave à vin NFC]]<br />
<br />
==Challenges==<br />
* [http://www.wima.mc/monaco/2461-presentation NFC Forum]<br />
* Intel Perceptual<br />
<br />
==Evénements==<br />
* [http://www.polytech-grenoble.fr/spip.php?article1314 Journée Polytech Grenoble 2013]<br />
<br />
==Galerie==<br />
[[Image:IDS-proto1.png|300px|Prototype de l'IDS]]<br />
[[Image:bricolgirl.jpg|300px|Camille donne un coup de main à Florian]]<br />
[[Image:IDS-proto2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne1.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne5.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne6.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne7.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne8.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne9.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne10.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne11.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne12.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDSConstructionBorne13.jpg|300px|l'IDS avec les stickers]]<br />
[[Image:IDS-work.jpg|300px|Simon programmant sur l'IDS]]</div>Bischshttps://air.imag.fr/index.php?title=IDS&diff=9999IDS2013-03-21T09:46:28Z<p>Bischs: </p>
<hr />
<div>[[Image:ConstructionBorne12.jpg|300px|thumb|right|Prototype de l'IDS]]<br />
<br />
<br />
Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : [http://simon.bisch.free.fr/cv/ Simon BISCH], Aurélien CLAVELIN, [http://ffourure.free.fr/ Florian FOURURE] . Enseignant [[User:Donsez|Didier Donsez]]. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
Digital signage will soon appear in every aspect of daily life, offering a third foundational platform that, along with smart- phones and tablets, will support communication in the 21st century.<br />
<br />
'''Examples:'''<br />
* http://territoires-nfc.forum-smsc.org/tag-nfc/le-deploiement-du-mobilier-communicant-saccelere-outre-manche/<br />
* http://www.jcdecaux.com/fr/Presse/Communiques2/2012/JCDecaux-experimente-six-Mobiliers-Urbains-Intelligents-dans-le-cadre-de-l-appel-a-projets-de-la-Ville-de-Paris<br />
* http://next.liberation.fr/design/2013/02/01/une-table-de-jeu-tactile-pour-les-squares-parisiens_878558<br />
* http://www.rslnmag.fr/post/2012/12/17/Les-reseaux-sociaux-dans-la-ville.aspx<br />
<br />
==Matériel==<br />
* Caisse<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
** Roulette pour le déplacement<br />
* Unité(s) centrale(s)<br />
** Mac Mini<br />
** [[Raspberry Pi]]<br />
** [[Arduino]]<br />
* Micro<br />
* [[Gas_Sensors|Capteurs polluant (CO2, NO, CO, GPL)]]<br />
* Carte Wifi pour monitorer<br />
** TP-Link : [[TL-WN722N]]<br />
* Caméras stéreo + profondeur<br />
** [[XBox Kinect]]<br />
** [[Creative Interactive Gesture Camera Developer Kit]]<br />
* Haut Parleurs + [http://dx.com/p/60w-stereo-audio-amplifier-for-car-motorcycle-golf-cart-red-91350 Ampli 60W]<br />
* NFC Reader<br />
** [[ACS_ACR_122]]<br />
** [[SCL3711]]<br />
* Camera USB + Diode blanche puissance pour faire un lecteur de QRCode<br />
* Détecteur ultrason de distance : non prioritaire<br />
* Imprimante : non prioritaire<br />
<br />
==Logiciels (utilisés)==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural Speaking<br />
* [[OpenCV]] (face tracking)<br />
* [[OpenNI]] (Kinect)<br />
* [[DBus]]<br />
* [[Libnfc]] ([[Near Field Communication]])<br />
* [[Intel® Perceptual Computing SDK]]<br />
<br />
==Logiciels (réalisés)==<br />
<br />
Voici la liste des différentes applications que nous avons réalisées dans le but de répondre à différents use cases.<br />
<br />
=== MacScanner ===<br />
Ce module permet de voir les cartes wifi actives autour de la borne. On utilise la suite aircrack-ng afin de monitorer le wifi environnant, avec la carte wifi USB [[TL-WN722N]] (la carte wifi intégrée du mac mini ne permettant pas le monitoring avec les drivers linux).<br />
L'idée inérente, est de montrer que l'on peut observer les "devices" proches ayant une carte wifi active. On peut ensuite imaginer différentes utilisations. Par exemple dans le cas où on disposerait de plusieurs bornes, on pourrait paramétrer l'affichage en fonction de l'adresse mac à proximité (pour que l'affichage "suive" la personne).<br />
<br />
Sources : [https://github.com/tetram/ids/tree/master/macScanner git]<br />
<br />
==== Prérequis ====<br />
* aircrack-ng<br />
* python<br />
* java<br />
* drivers wifi installés et compatibles pour faire du monitoring<br />
<br />
==== Installation ====<br />
Normalement aucune installation n'est nécessaire. Le jar contenu dans le dépot est fonctionnel. Pour recompiler l'interface java, le plus simple est de créer un projet à partir des sources (dans netbeans ou eclipse), et d'inclure le dossier lib.<br />
<br />
==== Utilisation ====<br />
Il suffit d'éxecuter le script main en lui passant en paramètre l'interface wifi que l'on souhaite utiliser pour monitorer. Si aircrack, python et java sont correctement installés, tout fonctionne directement.<br />
<br />
=== EDTDemon ===<br />
Ce module permet d'afficher l'emploi du temps lorsque que l'on pose un tag nfc sur le lecteur contenant les bonnes informations.<br />
<br />
Sources : à venir<br />
<br />
=== PicViewer ===<br />
PicViewer est un petit script python permettant d'afficher les images contenues dans le dossier pic. On peut naviguer parmi les images avec les flèches gauche et droite. Nous avons réalisé ce script afin d'avoir un affichage simple à contrôler avec la kinect.<br />
<br />
<br />
<br />
<br />
=== Kinect ===<br />
Il s’agit d’une camera utilisant des techniques d’interaction développées par la société israélienne PrimeSense, longtemps nommée par le nom de code du projet, « Project Natal », elle a été officialisée juste avant l'E3 sous le nom Kinect. Elle est basée sur un périphérique d’entrée branché sur la console Xbox 360 qui permet d’interagir par commande vocale (pas disponible au lancement en France), reconnaissance de mouvement et d’image.<br />
<br />
Nous avons utilisé celle ci dans notre projet pour la reconnaissance des mouvements afin de manipuler les différentes pubs affichées sur la borne interactive.<br />
<br />
==== Installation ====<br />
<br />
Pour installer la Kinect, nous avons tout d’abord installé le driver grâce aux librairies :<br />
<br />
* libusb-1.0-0-dev <br />
* freeglut3-dev <br />
* g++<br />
<br />
Pour vérifier que les drivers marche bien nous avons utilisé l’utilitaire freenect qui permet de visualiser les différents capteurs de la Kinect (profondeur, vidéo, son etc…).<br />
<br />
Afin d’exploiter ces données, nous avons installé un middleware OpenNI ainsi que NITE. Nous les avons téléchargé sur ce lien et nous avons compilé puis installé ces applications afin qu’elles soient adapté à notre système d’exploitation.<br />
<br />
==== Développement ====<br />
<br />
(à venir photo)<br />
<br />
Afin de personnaliser notre code, nous avons suivit un tutorial sur ce lien puis nous l’avons adapté à nos envies. <br />
<br />
Initialement, le programme détectait les mouvements de la main et écrivait dans la console les spécifications du geste qu’il avait détecté.<br />
<br />
Pour démarrer la détection des gestes, il faut initialisé une session. Afin de le faire, il faut lever la main devant la Kinect puis avancer celle-ci vers la Kinect et la refermer afin que le programme reconnaisse le geste « click ». La session est alors initialisé et la détection des gestes est enclenché juste ce qu’a ce que la Kinect perdre le tracking de la main.<br />
<br />
Nous avons modifié ce code pour que la session s’initialise juste en levant la main (geste RaiseHand) et que lors de la détection des gestes « swipe » droite et gauche, cela reviennent à faire les flèches du clavier (respectivement gauche droite).<br />
Nous avons aussi ajouté une option sur la détection des « swipe » haut et bas pour changer de bureau (option –b lors du lancement du .jar).<br />
<br />
<br />
=== Launch ===<br />
C'est un ensemble de scripts permettant de lancer l'ensemble des applications que nous avons développées.<br />
<br />
==Projets Connexes==<br />
* [[GroundCTRL]]<br />
* [[KiCTRL]]<br />
* [[Cave à vin NFC]]<br />
<br />
==Challenges==<br />
* [http://www.wima.mc/monaco/2461-presentation NFC Forum]<br />
* Intel Perceptual<br />
<br />
==Evénements==<br />
* [http://www.polytech-grenoble.fr/spip.php?article1314 Journée Polytech Grenoble 2013]<br />
<br />
==Galerie==<br />
[[Image:IDS-proto1.png|300px|Prototype de l'IDS]]<br />
[[Image:bricolgirl.jpg|300px|Camille donne un coup de main à Florian]]<br />
[[Image:IDS-proto2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne1.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne5.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne6.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne7.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne8.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne9.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne10.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne11.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne12.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDSConstructionBorne13.jpg|300px|l'IDS avec les stickers]]<br />
[[Image:IDS-work.jpg|300px|Simon programmant sur l'IDS]]</div>Bischshttps://air.imag.fr/index.php?title=IDS&diff=9997IDS2013-03-21T09:45:29Z<p>Bischs: </p>
<hr />
<div>[[Image:ConstructionBorne12.jpg|300px|thumb|right|Prototype de l'IDS]]<br />
<br />
<br />
Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : [http://simon.bisch.free.fr/cv/ Simon BISCH], Aurélien CLAVELIN, [http://ffourure.free.fr/ Florian FOURURE] . Enseignant [[User:Donsez|Didier Donsez]]. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
Digital signage will soon appear in every aspect of daily life, offering a third foundational platform that, along with smart- phones and tablets, will support communication in the 21st century.<br />
<br />
'''Examples:'''<br />
* http://territoires-nfc.forum-smsc.org/tag-nfc/le-deploiement-du-mobilier-communicant-saccelere-outre-manche/<br />
* http://www.jcdecaux.com/fr/Presse/Communiques2/2012/JCDecaux-experimente-six-Mobiliers-Urbains-Intelligents-dans-le-cadre-de-l-appel-a-projets-de-la-Ville-de-Paris<br />
* http://next.liberation.fr/design/2013/02/01/une-table-de-jeu-tactile-pour-les-squares-parisiens_878558<br />
* http://www.rslnmag.fr/post/2012/12/17/Les-reseaux-sociaux-dans-la-ville.aspx<br />
<br />
==Matériel==<br />
* Caisse<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
** Roulette pour le déplacement<br />
* Unité(s) centrale(s)<br />
** Mac Mini<br />
** [[Raspberry Pi]]<br />
** [[Arduino]]<br />
* Micro<br />
* [[Gas_Sensors|Capteurs polluant (CO2, NO, CO, GPL)]]<br />
* Carte Wifi pour monitorer<br />
** TP-Link : [[TL-WN722N]]<br />
* Caméras stéreo + profondeur<br />
** [[XBox Kinect]]<br />
** [[Creative Interactive Gesture Camera Developer Kit]]<br />
* Haut Parleurs + [http://dx.com/p/60w-stereo-audio-amplifier-for-car-motorcycle-golf-cart-red-91350 Ampli 60W]<br />
* NFC Reader<br />
** [[ACS_ACR_122]]<br />
** [[SCL3711]]<br />
* Camera USB + Diode blanche puissance pour faire un lecteur de QRCode<br />
* Détecteur ultrason de distance : non prioritaire<br />
* Imprimante : non prioritaire<br />
<br />
==Logiciels (utilisés)==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural Speaking<br />
* [[OpenCV]] (face tracking)<br />
* [[OpenNI]] (Kinect)<br />
* [[DBus]]<br />
* [[Libnfc]] ([[Near Field Communication]])<br />
* [[Intel® Perceptual Computing SDK]]<br />
<br />
==Logiciels (réalisés)==<br />
<br />
Voici la liste des différentes applications que nous avons réalisées dans le but de répondre à différents use cases.<br />
<br />
=== MacScanner ===<br />
Ce module permet de voir les cartes wifi actives autour de la borne. On utilise la suite aircrack-ng afin de monitorer le wifi environnant, avec la carte wifi USB [[TL-WN722N]] (la carte wifi intégrée du mac mini ne permettant pas le monitoring avec les drivers linux).<br />
L'idée inérente, est de montrer que l'on peut observer les "devices" proches ayant une carte wifi active. On peut ensuite imaginer différentes utilisations. Par exemple dans le cas où on disposerait de plusieurs bornes, on pourrait paramétrer l'affichage en fonction de l'adresse mac à proximité (pour que l'affichage "suive" la personne).<br />
<br />
Sources : [https://github.com/tetram/ids/tree/master/macScanner git]<br />
<br />
==== Prérequis ====<br />
* aircrack-ng<br />
* python<br />
* java<br />
* drivers wifi installés et compatibles pour faire du monitoring<br />
<br />
==== Installation ====<br />
Normalement aucune installation n'est nécessaire. Le jar contenu dans le dépot est fonctionnel. Pour recompiler l'interface java, le plus simple est de créer un projet à partir des sources (dans netbeans ou eclipse), et d'inclure le dossier lib.<br />
<br />
==== Utilisation ====<br />
Il suffit d'éxecuter le script main en lui passant en paramètre l'interface wifi que l'on souhaite utiliser pour monitorer. Si aircrack, python et java sont correctement installés, tout fonctionne directement.<br />
<br />
=== EDTDemon ===<br />
Ce module permet d'afficher l'emploi du temps lorsque que l'on pose un tag nfc sur le lecteur contenant les bonnes informations.<br />
<br />
Sources : à venir<br />
<br />
=== PicViewer ===<br />
PicViewer est un petit script python permettant d'afficher les images contenues dans le dossier pic. On peut naviguer parmi les images avec les flèches gauche et droite. Nous avons réalisé ce script afin d'avoir un affichage simple à contrôler avec la kinect.<br />
<br />
<br />
<br />
<br />
=== Kinect ===<br />
Il s’agit d’une camera utilisant des techniques d’interaction développées par la société israélienne PrimeSense, longtemps nommée par le nom de code du projet, « Project Natal », elle a été officialisée juste avant l'E3 sous le nom Kinect. Elle est basée sur un périphérique d’entrée branché sur la console Xbox 360 qui permet d’interagir par commande vocale (pas disponible au lancement en France), reconnaissance de mouvement et d’image.<br />
<br />
Nous avons utilisé celle ci dans notre projet pour la reconnaissance des mouvements afin de manipuler les différentes pubs affichées sur la borne interactive.<br />
<br />
==== Installation ====<br />
<br />
Pour installer la Kinect, nous avons tout d’abord installé le driver grâce aux librairies :<br />
<br />
* libusb-1.0-0-dev <br />
* freeglut3-dev <br />
* g++<br />
<br />
Pour vérifier que les drivers marche bien nous avons utilisé l’utilitaire freenect qui permet de visualiser les différents capteurs de la Kinect (profondeur, vidéo, son etc…).<br />
<br />
Afin d’exploiter ces données, nous avons installé un middleware OpenNI ainsi que NITE. Nous les avons téléchargé sur ce lien et nous avons compilé puis installé ces applications afin qu’elles soient adapté à notre système d’exploitation.<br />
<br />
==== Développement ====<br />
<br />
Afin de personnaliser notre code, nous avons suivit un tutorial sur ce lien puis nous l’avons adapté à nos envies. <br />
<br />
Initialement, le programme détectait les mouvements de la main et écrivait dans la console les spécifications du geste qu’il avait détecté.<br />
<br />
Pour démarrer la détection des gestes, il faut initialisé une session. Afin de le faire, il faut lever la main devant la Kinect puis avancer celle-ci vers la Kinect et la refermer afin que le programme reconnaisse le geste « click ». La session est alors initialisé et la détection des gestes est enclenché juste ce qu’a ce que la Kinect perdre le tracking de la main.<br />
<br />
Nous avons modifié ce code pour que la session s’initialise juste en levant la main (geste RaiseHand) et que lors de la détection des gestes « swipe » droite et gauche, cela reviennent à faire les flèches du clavier (respectivement gauche droite).<br />
Nous avons aussi ajouté une option sur la détection des « swipe » haut et bas pour changer de bureau (option –b lors du lancement du .jar).<br />
<br />
<br />
=== Launch ===<br />
C'est un ensemble de scripts permettant de lancer l'ensemble des applications que nous avons développées.<br />
<br />
==Projets Connexes==<br />
* [[GroundCTRL]]<br />
* [[KiCTRL]]<br />
* [[Cave à vin NFC]]<br />
<br />
==Challenges==<br />
* [http://www.wima.mc/monaco/2461-presentation NFC Forum]<br />
* Intel Perceptual<br />
<br />
==Evénements==<br />
* [http://www.polytech-grenoble.fr/spip.php?article1314 Journée Polytech Grenoble 2013]<br />
<br />
==Galerie==<br />
[[Image:IDS-proto1.png|300px|Prototype de l'IDS]]<br />
[[Image:bricolgirl.jpg|300px|Camille donne un coup de main à Florian]]<br />
[[Image:IDS-proto2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne1.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne5.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne6.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne7.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne8.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne9.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne10.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne11.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne12.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDSConstructionBorne13.jpg|300px|l'IDS avec les stickers]]<br />
[[Image:IDS-work.jpg|300px|Simon programmant sur l'IDS]]</div>Bischshttps://air.imag.fr/index.php?title=IDS&diff=9996IDS2013-03-21T09:44:47Z<p>Bischs: </p>
<hr />
<div>[[Image:ConstructionBorne12.jpg|300px|thumb|right|Prototype de l'IDS]]<br />
<br />
<br />
Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : [http://simon.bisch.free.fr/cv/ Simon BISCH], Aurélien CLAVELIN, [http://ffourure.free.fr/ Florian FOURURE] . Enseignant [[User:Donsez|Didier Donsez]]. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
Digital signage will soon appear in every aspect of daily life, offering a third foundational platform that, along with smart- phones and tablets, will support communication in the 21st century.<br />
<br />
'''Examples:'''<br />
* http://territoires-nfc.forum-smsc.org/tag-nfc/le-deploiement-du-mobilier-communicant-saccelere-outre-manche/<br />
* http://www.jcdecaux.com/fr/Presse/Communiques2/2012/JCDecaux-experimente-six-Mobiliers-Urbains-Intelligents-dans-le-cadre-de-l-appel-a-projets-de-la-Ville-de-Paris<br />
* http://next.liberation.fr/design/2013/02/01/une-table-de-jeu-tactile-pour-les-squares-parisiens_878558<br />
* http://www.rslnmag.fr/post/2012/12/17/Les-reseaux-sociaux-dans-la-ville.aspx<br />
<br />
==Matériel==<br />
* Caisse<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
** Roulette pour le déplacement<br />
* Unité(s) centrale(s)<br />
** Mac Mini<br />
** [[Raspberry Pi]]<br />
** [[Arduino]]<br />
* Micro<br />
* [[Gas_Sensors|Capteurs polluant (CO2, NO, CO, GPL)]]<br />
* Carte Wifi pour monitorer<br />
** TP-Link : [[TL-WN722N]]<br />
* Caméras stéreo + profondeur<br />
** [[XBox Kinect]]<br />
** [[Creative Interactive Gesture Camera Developer Kit]]<br />
* Haut Parleurs + [http://dx.com/p/60w-stereo-audio-amplifier-for-car-motorcycle-golf-cart-red-91350 Ampli 60W]<br />
* NFC Reader<br />
** [[ACS_ACR_122]]<br />
** [[SCL3711]]<br />
* Camera USB + Diode blanche puissance pour faire un lecteur de QRCode<br />
* Détecteur ultrason de distance : non prioritaire<br />
* Imprimante : non prioritaire<br />
<br />
==Logiciels (utilisés)==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural Speaking<br />
* [[OpenCV]] (face tracking)<br />
* [[OpenNI]] (Kinect)<br />
* [[DBus]]<br />
* [[Libnfc]] ([[Near Field Communication]])<br />
* [[Intel® Perceptual Computing SDK]]<br />
<br />
==Logiciels (réalisés)==<br />
<br />
Voici la liste des différentes applications que nous avons réalisées dans le but de répondre à différents use cases.<br />
<br />
=== MacScanner ===<br />
Ce module permet de voir les cartes wifi actives autour de la borne. On utilise la suite aircrack-ng afin de monitorer le wifi environnant, avec la carte wifi USB [[TL-WN722N]] (la carte wifi intégrée du mac mini ne permettant pas le monitoring avec les drivers linux).<br />
L'idée inérente, est de montrer que l'on peut observer les "devices" proches ayant une carte wifi active. On peut ensuite imaginer différentes utilisations. Par exemple dans le cas où on disposerait de plusieurs bornes, on pourrait paramétrer l'affichage en fonction de l'adresse mac à proximité (pour que l'affichage "suive" la personne).<br />
<br />
Sources : [https://github.com/tetram/ids/tree/master/macScanner git]<br />
<br />
==== Prérequis ====<br />
* aircrack-ng<br />
* python<br />
* java<br />
* drivers wifi installés et compatibles pour faire du monitoring<br />
<br />
==== Installation ====<br />
Normalement aucune installation n'est nécessaire. Le jar contenu dans le dépot est fonctionnel. Pour recompiler l'interface java, le plus simple est de créer un projet à partir des sources (dans netbeans ou eclipse), et d'inclure le dossier lib.<br />
<br />
==== Utilisation ====<br />
Il suffit d'éxecuter le script main en lui passant en paramètre l'interface wifi que l'on souhaite utiliser pour monitorer. Si aircrack, python et java sont correctement installés, tout fonctionne directement.<br />
<br />
=== EDTDemon ===<br />
Ce module permet d'afficher l'emploi du temps lorsque que l'on pose un tag nfc sur le lecteur contenant les bonnes informations.<br />
<br />
Sources : à venir<br />
<br />
=== PicViewer ===<br />
PicViewer est un petit script python permettant d'afficher les images contenues dans le dossier pic. On peut naviguer parmi les images avec les flèches gauche et droite. Nous avons réalisé ce script afin d'avoir un affichage simple à contrôler avec la kinect.<br />
<br />
=== Kinect ===<br />
Il s’agit d’une camera utilisant des techniques d’interaction développées par la société israélienne PrimeSense, longtemps nommée par le nom de code du projet, « Project Natal », elle a été officialisée juste avant l'E3 sous le nom Kinect. Elle est basée sur un périphérique d’entrée branché sur la console Xbox 360 qui permet d’interagir par commande vocale (pas disponible au lancement en France), reconnaissance de mouvement et d’image.<br />
<br />
Nous avons utilisé celle ci dans notre projet pour la reconnaissance des mouvements afin de manipuler les différentes pubs affichées sur la borne interactive.<br />
<br />
==== Installation ====<br />
<br />
Pour installer la Kinect, nous avons tout d’abord installé le driver grâce aux librairies :<br />
<br />
* libusb-1.0-0-dev <br />
* freeglut3-dev <br />
* g++<br />
<br />
Pour vérifier que les drivers marche bien nous avons utilisé l’utilitaire freenect qui permet de visualiser les différents capteurs de la Kinect (profondeur, vidéo, son etc…).<br />
<br />
Afin d’exploiter ces données, nous avons installé un middleware OpenNI ainsi que NITE. Nous les avons téléchargé sur ce lien et nous avons compilé puis installé ces applications afin qu’elles soient adapté à notre système d’exploitation.<br />
<br />
==== Développement ====<br />
<br />
Afin de personnaliser notre code, nous avons suivit un tutorial sur ce lien puis nous l’avons adapté à nos envies. <br />
<br />
Initialement, le programme détectait les mouvements de la main et écrivait dans la console les spécifications du geste qu’il avait détecté.<br />
<br />
Pour démarrer la détection des gestes, il faut initialisé une session. Afin de le faire, il faut lever la main devant la Kinect puis avancer celle-ci vers la Kinect et la refermer afin que le programme reconnaisse le geste « click ». La session est alors initialisé et la détection des gestes est enclenché juste ce qu’a ce que la Kinect perdre le tracking de la main.<br />
<br />
Nous avons modifié ce code pour que la session s’initialise juste en levant la main (geste RaiseHand) et que lors de la détection des gestes « swipe » droite et gauche, cela reviennent à faire les flèches du clavier (respectivement gauche droite).<br />
Nous avons aussi ajouté une option sur la détection des « swipe » haut et bas pour changer de bureau (option –b lors du lancement du .jar).<br />
<br />
<br />
=== Launch ===<br />
C'est un ensemble de scripts permettant de lancer l'ensemble des applications que nous avons développées.<br />
<br />
==Projets Connexes==<br />
* [[GroundCTRL]]<br />
* [[KiCTRL]]<br />
* [[Cave à vin NFC]]<br />
<br />
==Challenges==<br />
* [http://www.wima.mc/monaco/2461-presentation NFC Forum]<br />
* Intel Perceptual<br />
<br />
==Evénements==<br />
* [http://www.polytech-grenoble.fr/spip.php?article1314 Journée Polytech Grenoble 2013]<br />
<br />
==Galerie==<br />
[[Image:IDS-proto1.png|300px|Prototype de l'IDS]]<br />
[[Image:bricolgirl.jpg|300px|Camille donne un coup de main à Florian]]<br />
[[Image:IDS-proto2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne1.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne5.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne6.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne7.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne8.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne9.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne10.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne11.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne12.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDSConstructionBorne13.jpg|300px|l'IDS avec les stickers]]<br />
[[Image:IDS-work.jpg|300px|Simon programmant sur l'IDS]]</div>Bischshttps://air.imag.fr/index.php?title=IDS&diff=9995IDS2013-03-21T09:43:38Z<p>Bischs: </p>
<hr />
<div>[[Image:ConstructionBorne12.jpg|300px|thumb|right|Prototype de l'IDS]]<br />
<br />
<br />
Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : [http://simon.bisch.free.fr/cv/ Simon BISCH], Aurélien CLAVELIN, [http://ffourure.free.fr/ Florian FOURURE] . Enseignant [[User:Donsez|Didier Donsez]]. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
Digital signage will soon appear in every aspect of daily life, offering a third foundational platform that, along with smart- phones and tablets, will support communication in the 21st century.<br />
<br />
'''Examples:'''<br />
* http://territoires-nfc.forum-smsc.org/tag-nfc/le-deploiement-du-mobilier-communicant-saccelere-outre-manche/<br />
* http://www.jcdecaux.com/fr/Presse/Communiques2/2012/JCDecaux-experimente-six-Mobiliers-Urbains-Intelligents-dans-le-cadre-de-l-appel-a-projets-de-la-Ville-de-Paris<br />
* http://next.liberation.fr/design/2013/02/01/une-table-de-jeu-tactile-pour-les-squares-parisiens_878558<br />
* http://www.rslnmag.fr/post/2012/12/17/Les-reseaux-sociaux-dans-la-ville.aspx<br />
<br />
==Matériel==<br />
* Caisse<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
** Roulette pour le déplacement<br />
* Unité(s) centrale(s)<br />
** Mac Mini<br />
** [[Raspberry Pi]]<br />
** [[Arduino]]<br />
* Micro<br />
* [[Gas_Sensors|Capteurs polluant (CO2, NO, CO, GPL)]]<br />
* Carte Wifi pour monitorer<br />
** TP-Link : [[TL-WN722N]]<br />
* Caméras stéreo + profondeur<br />
** [[XBox Kinect]]<br />
** [[Creative Interactive Gesture Camera Developer Kit]]<br />
* Haut Parleurs + [http://dx.com/p/60w-stereo-audio-amplifier-for-car-motorcycle-golf-cart-red-91350 Ampli 60W]<br />
* NFC Reader<br />
** [[ACS_ACR_122]]<br />
** [[SCL3711]]<br />
* Camera USB + Diode blanche puissance pour faire un lecteur de QRCode<br />
* Détecteur ultrason de distance : non prioritaire<br />
* Imprimante : non prioritaire<br />
<br />
==Logiciels (utilisés)==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural Speaking<br />
* [[OpenCV]] (face tracking)<br />
* [[OpenNI]] (Kinect)<br />
* [[DBus]]<br />
* [[Libnfc]] ([[Near Field Communication]])<br />
* [[Intel® Perceptual Computing SDK]]<br />
<br />
==Logiciels (réalisés)==<br />
<br />
Voici la liste des différentes applications que nous avons réalisées dans le but de répondre à différents use cases.<br />
<br />
=== MacScanner ===<br />
Ce module permet de voir les cartes wifi actives autour de la borne. On utilise la suite aircrack-ng afin de monitorer le wifi environnant, avec la carte wifi USB [[TL-WN722N]] (la carte wifi intégrée du mac mini ne permettant pas le monitoring avec les drivers linux).<br />
L'idée inérente, est de montrer que l'on peut observer les "devices" proches ayant une carte wifi active. On peut ensuite imaginer différentes utilisations. Par exemple dans le cas où on disposerait de plusieurs bornes, on pourrait paramétrer l'affichage en fonction de l'adresse mac à proximité (pour que l'affichage "suive" la personne).<br />
<br />
Sources : [https://github.com/tetram/ids/tree/master/macScanner git]<br />
<br />
==== Prérequis ====<br />
* aircrack-ng<br />
* python<br />
* java<br />
* drivers wifi installés et compatibles pour faire du monitoring<br />
<br />
==== Installation ====<br />
Normalement aucune installation n'est nécessaire. Le jar contenu dans le dépot est fonctionnel. Pour recompiler l'interface java, le plus simple est de créer un projet à partir des sources (dans netbeans ou eclipse), et d'inclure le dossier lib.<br />
<br />
==== Utilisation ====<br />
Il suffit d'éxecuter le script main en lui passant en paramètre l'interface wifi que l'on souhaite utiliser pour monitorer. Si aircrack, python et java sont correctement installés, tout fonctionne directement.<br />
<br />
=== EDTDemon ===<br />
Ce module permet d'afficher l'emploi du temps lorsque que l'on pose un tag nfc sur le lecteur contenant les bonnes informations.<br />
<br />
Sources : à venir<br />
<br />
=== PicViewer ===<br />
PicViewer est un petit script python permettant d'afficher les images contenues dans le dossier pic. On peut naviguer parmi les images avec les flèches gauche et droite. Nous avons réalisé ce script afin d'avoir un affichage simple à contrôler avec la kinect.<br />
<br />
=== Kinect ===<br />
Il s’agit d’une camera utilisant des techniques d’interaction développées par la société israélienne PrimeSense, longtemps nommée par le nom de code du projet, « Project Natal », elle a été officialisée juste avant l'E3 sous le nom Kinect. Elle est basée sur un périphérique d’entrée branché sur la console Xbox 360 qui permet d’interagir par commande vocale (pas disponible au lancement en France), reconnaissance de mouvement et d’image.<br />
<br />
Nous avons utilisé celle ci dans notre projet pour la reconnaissance des mouvements afin de manipuler les différentes pubs affichées sur la borne interactive.<br />
<br />
==== Installation ====<br />
<br />
Pour installer la Kinect, nous avons tout d’abord installé le driver grâce aux librairies :<br />
<br />
* libusb-1.0-0-dev <br />
* freeglut3-dev <br />
* g++<br />
<br />
Pour vérifier que les drivers marche bien nous avons utilisé l’utilitaire freenect qui permet de visualiser les différents capteurs de la Kinect (profondeur, vidéo, son etc…).<br />
<br />
Afin d’exploiter ces données, nous avons installé un middleware OpenNI ainsi que NITE. Nous les avons téléchargé sur ce lien et nous avons compilé puis installé ces applications afin qu’elles soient adapté à notre système d’exploitation.<br />
<br />
==== Développement ====<br />
<br />
Afin de personnaliser notre code, nous avons suivit un tutorial sur ce lien puis nous l’avons adapté à nos envies. <br />
<br />
Initialement, le programme détectait les mouvements de la main et écrivait dans la console les spécifications du geste qu’il avait détecté.<br />
Pour démarrer la détection des gestes, il faut initialisé une session. Afin de le faire, il faut lever la main devant la Kinect puis avancer celle-ci vers la Kinect et la refermer afin que le programme reconnaisse le geste « click ». La session est alors initialisé et la détection des gestes est enclenché juste ce qu’a ce que la Kinect perdre le tracking de la main.<br />
<br />
Nous avons modifié ce code pour que la session s’initialise juste en levant la main (geste RaiseHand) et que lors de la détection des gestes « swipe » droite et gauche, cela reviennent à faire les flèches du clavier (respectivement gauche droite).<br />
Nous avons aussi ajouté une option sur la détection des « swipe » haut et bas pour changer de bureau (option –b lors du lancement du .jar).<br />
<br />
<br />
=== Launch ===<br />
C'est un ensemble de scripts permettant de lancer l'ensemble des applications que nous avons développées.<br />
<br />
==Projets Connexes==<br />
* [[GroundCTRL]]<br />
* [[KiCTRL]]<br />
* [[Cave à vin NFC]]<br />
<br />
==Challenges==<br />
* [http://www.wima.mc/monaco/2461-presentation NFC Forum]<br />
* Intel Perceptual<br />
<br />
==Evénements==<br />
* [http://www.polytech-grenoble.fr/spip.php?article1314 Journée Polytech Grenoble 2013]<br />
<br />
==Galerie==<br />
[[Image:IDS-proto1.png|300px|Prototype de l'IDS]]<br />
[[Image:bricolgirl.jpg|300px|Camille donne un coup de main à Florian]]<br />
[[Image:IDS-proto2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne1.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne5.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne6.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne7.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne8.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne9.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne10.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne11.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne12.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDSConstructionBorne13.jpg|300px|l'IDS avec les stickers]]<br />
[[Image:IDS-work.jpg|300px|Simon programmant sur l'IDS]]</div>Bischshttps://air.imag.fr/index.php?title=IDS&diff=8599IDS2013-02-15T09:44:00Z<p>Bischs: </p>
<hr />
<div>[[Image:ConstructionBorne12.jpg|300px|thumb|right|Prototype de l'IDS]]<br />
<br />
<br />
Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : [http://simon.bisch.free.fr/cv/ Simon BISCH], Aurélien CLAVELIN, [http://ffourure.free.fr/ Florian FOURURE] . Enseignant [[User:Donsez|Didier Donsez]], Xavier Spengler. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
Digital signage will soon appear in every aspect of daily life, offering a third foundational platform that, along with smart- phones and tablets, will support communication in the 21st century.<br />
<br />
==Matériel==<br />
* Caisse<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
** Mac Mini<br />
** Roulette pour le déplacement<br />
* Micro<br />
* Caméras stéreo + profondeur<br />
** [[XBox Kinect]]<br />
** [[Creative Interactive Gesture Camera Developer Kit]]<br />
* Haut Parleurs + [http://dx.com/p/60w-stereo-audio-amplifier-for-car-motorcycle-golf-cart-red-91350 Ampli 60W]<br />
* NFC Reader<br />
** [[ACS_ACR_122]]<br />
** [[SCL3711]]<br />
* Camera USB + Diode blanche puissance pour faire un lecteur de QRCode<br />
* Détecteur ultrason de distance : non prioritaire<br />
* Imprimante : non prioritaire<br />
<br />
==Logiciel==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural Speaking<br />
* [[OpenCV]] (face tracking)<br />
* [[OpenNI]] (Kinect)<br />
* [[DBus]]<br />
* [[Libnfc]] ([[Near Field Communication]])<br />
* [[Intel® Perceptual Computing SDK]]<br />
<br />
==Projets Connexes==<br />
* [[GroundCTRL]]<br />
* [[KiCTRL]]<br />
* [[Cave à vin NFC]]<br />
<br />
==Challenges==<br />
* [http://www.wima.mc/monaco/2461-presentation NFC Forum]<br />
* Intel Perceptual<br />
<br />
==Evénements==<br />
* [http://www.polytech-grenoble.fr/spip.php?article1314 Journée Polytech Grenoble 2013]<br />
<br />
==Galerie==<br />
[[Image:IDS-proto1.png|300px|Prototype de l'IDS]]<br />
[[Image:bricolgirl.jpg|300px|Camille donne un coup de main à Florian]]<br />
[[Image:IDS-proto2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne1.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne5.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne6.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne7.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne8.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne9.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne10.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne11.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne12.jpg|300px|Prototype de l'IDS]]</div>Bischshttps://air.imag.fr/index.php?title=IDS&diff=8598IDS2013-02-15T09:42:53Z<p>Bischs: /* Galerie */</p>
<hr />
<div>[[Image:IDS-proto2.jpg|300px|thumb|right|Prototype de l'IDS]]<br />
<br />
<br />
Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : [http://simon.bisch.free.fr/cv/ Simon BISCH], Aurélien CLAVELIN, [http://ffourure.free.fr/ Florian FOURURE] . Enseignant [[User:Donsez|Didier Donsez]], Xavier Spengler. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
Digital signage will soon appear in every aspect of daily life, offering a third foundational platform that, along with smart- phones and tablets, will support communication in the 21st century.<br />
<br />
==Matériel==<br />
* Caisse<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
** Mac Mini<br />
** Roulette pour le déplacement<br />
* Micro<br />
* Caméras stéreo + profondeur<br />
** [[XBox Kinect]]<br />
** [[Creative Interactive Gesture Camera Developer Kit]]<br />
* Haut Parleurs + [http://dx.com/p/60w-stereo-audio-amplifier-for-car-motorcycle-golf-cart-red-91350 Ampli 60W]<br />
* NFC Reader<br />
** [[ACS_ACR_122]]<br />
** [[SCL3711]]<br />
* Camera USB + Diode blanche puissance pour faire un lecteur de QRCode<br />
* Détecteur ultrason de distance : non prioritaire<br />
* Imprimante : non prioritaire<br />
<br />
==Logiciel==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural Speaking<br />
* [[OpenCV]] (face tracking)<br />
* [[OpenNI]] (Kinect)<br />
* [[DBus]]<br />
* [[Libnfc]] ([[Near Field Communication]])<br />
* [[Intel® Perceptual Computing SDK]]<br />
<br />
==Projets Connexes==<br />
* [[GroundCTRL]]<br />
* [[KiCTRL]]<br />
* [[Cave à vin NFC]]<br />
<br />
==Challenges==<br />
* [http://www.wima.mc/monaco/2461-presentation NFC Forum]<br />
* Intel Perceptual<br />
<br />
==Evénements==<br />
* [http://www.polytech-grenoble.fr/spip.php?article1314 Journée Polytech Grenoble 2013]<br />
<br />
==Galerie==<br />
[[Image:IDS-proto1.png|300px|Prototype de l'IDS]]<br />
[[Image:bricolgirl.jpg|300px|Camille donne un coup de main à Florian]]<br />
[[Image:IDS-proto2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:IDS-proto4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne1.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne2.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne3.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne4.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne5.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne6.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne7.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne8.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne9.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne10.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne11.jpg|300px|Prototype de l'IDS]]<br />
[[Image:ConstructionBorne12.jpg|300px|Prototype de l'IDS]]</div>Bischshttps://air.imag.fr/index.php?title=File:ConstructionBorne12.jpg&diff=8597File:ConstructionBorne12.jpg2013-02-15T09:40:30Z<p>Bischs: </p>
<hr />
<div></div>Bischshttps://air.imag.fr/index.php?title=File:ConstructionBorne11.jpg&diff=8596File:ConstructionBorne11.jpg2013-02-15T09:39:24Z<p>Bischs: </p>
<hr />
<div></div>Bischshttps://air.imag.fr/index.php?title=File:ConstructionBorne10.jpg&diff=8595File:ConstructionBorne10.jpg2013-02-15T09:38:35Z<p>Bischs: </p>
<hr />
<div></div>Bischshttps://air.imag.fr/index.php?title=File:ConstructionBorne9.jpg&diff=8594File:ConstructionBorne9.jpg2013-02-15T09:37:40Z<p>Bischs: </p>
<hr />
<div></div>Bischshttps://air.imag.fr/index.php?title=File:ConstructionBorne7.jpg&diff=8592File:ConstructionBorne7.jpg2013-02-15T09:35:46Z<p>Bischs: </p>
<hr />
<div></div>Bischshttps://air.imag.fr/index.php?title=File:ConstructionBorne6.jpg&diff=8591File:ConstructionBorne6.jpg2013-02-15T09:35:02Z<p>Bischs: </p>
<hr />
<div></div>Bischshttps://air.imag.fr/index.php?title=File:ConstructionBorne5.jpg&diff=8590File:ConstructionBorne5.jpg2013-02-15T09:34:09Z<p>Bischs: </p>
<hr />
<div></div>Bischshttps://air.imag.fr/index.php?title=File:ConstructionBorne4.jpg&diff=8589File:ConstructionBorne4.jpg2013-02-15T09:32:59Z<p>Bischs: </p>
<hr />
<div></div>Bischshttps://air.imag.fr/index.php?title=File:ConstructionBorne3.jpg&diff=8588File:ConstructionBorne3.jpg2013-02-15T09:31:55Z<p>Bischs: </p>
<hr />
<div></div>Bischshttps://air.imag.fr/index.php?title=File:ConstructionBorne2.jpg&diff=8587File:ConstructionBorne2.jpg2013-02-15T09:31:06Z<p>Bischs: </p>
<hr />
<div></div>Bischshttps://air.imag.fr/index.php?title=File:ConstructionBorne1.jpg&diff=8586File:ConstructionBorne1.jpg2013-02-15T09:30:00Z<p>Bischs: </p>
<hr />
<div></div>Bischshttps://air.imag.fr/index.php?title=IDS&diff=8040IDS2013-01-27T18:13:15Z<p>Bischs: </p>
<hr />
<div>Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : [http://simon.bisch.free.fr/cv/ Simon BISCH], Aurélien CLAVELIN, [http://ffourure.free.fr/ Florian FOURURE] . Enseignant [[User:Donsez|Didier Donsez]], Xavier Spengler. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
<br />
==Matériel==<br />
* Panneau<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
* Imprimante Photo Canon<br />
* Caméras stéreo + profondeur<br />
* Micro<br />
* Haut Parleurs + Ampli 60W<br />
* NFC Reader<br />
<br />
==Logiciel==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural SPeaking<br />
<br />
==Challenges==<br />
* NFC Forum<br />
* Intel Perceptual</div>Bischshttps://air.imag.fr/index.php?title=IDS&diff=8039IDS2013-01-27T18:12:29Z<p>Bischs: </p>
<hr />
<div>Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : [http://simon.bisch.free.fr/cv/ Simon BISCH], Aurélien CLAVELIN, Florian FOURURE . Enseignant [[User:Donsez|Didier Donsez]], Xavier Spengler. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
<br />
==Matériel==<br />
* Panneau<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
* Imprimante Photo Canon<br />
* Caméras stéreo + profondeur<br />
* Micro<br />
* Haut Parleurs + Ampli 60W<br />
* NFC Reader<br />
<br />
==Logiciel==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural SPeaking<br />
<br />
==Challenges==<br />
* NFC Forum<br />
* Intel Perceptual</div>Bischshttps://air.imag.fr/index.php?title=IDS&diff=8038IDS2013-01-27T18:11:29Z<p>Bischs: </p>
<hr />
<div>Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : [http://simon.bisch.free.fr/cv/ [Simon BISCH]], Aurélien CLAVELIN, Florian FOURURE . Enseignant [[User:Donsez|Didier Donsez]], Xavier Spengler. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
<br />
==Matériel==<br />
* Panneau<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
* Imprimante Photo Canon<br />
* Caméras stéreo + profondeur<br />
* Micro<br />
* Haut Parleurs + Ampli 60W<br />
* NFC Reader<br />
<br />
==Logiciel==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural SPeaking<br />
<br />
==Challenges==<br />
* NFC Forum<br />
* Intel Perceptual</div>Bischshttps://air.imag.fr/index.php?title=IDS&diff=8037IDS2013-01-27T18:10:28Z<p>Bischs: </p>
<hr />
<div>Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : [http://simon.bisch.free.fr/cv/|Simon BISCH], Aurélien CLAVELIN, Florian FOURURE . Enseignant [[User:Donsez|Didier Donsez]], Xavier Spengler. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
<br />
==Matériel==<br />
* Panneau<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
* Imprimante Photo Canon<br />
* Caméras stéreo + profondeur<br />
* Micro<br />
* Haut Parleurs + Ampli 60W<br />
* NFC Reader<br />
<br />
==Logiciel==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural SPeaking<br />
<br />
==Challenges==<br />
* NFC Forum<br />
* Intel Perceptual</div>Bischshttps://air.imag.fr/index.php?title=IDS&diff=8036IDS2013-01-27T18:09:55Z<p>Bischs: </p>
<hr />
<div>Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : [[Link:http://simon.bisch.free.fr/cv/|Simon BISCH]], Aurélien CLAVELIN, Florian FOURURE . Enseignant [[User:Donsez|Didier Donsez]], Xavier Spengler. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
<br />
==Matériel==<br />
* Panneau<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
* Imprimante Photo Canon<br />
* Caméras stéreo + profondeur<br />
* Micro<br />
* Haut Parleurs + Ampli 60W<br />
* NFC Reader<br />
<br />
==Logiciel==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural SPeaking<br />
<br />
==Challenges==<br />
* NFC Forum<br />
* Intel Perceptual</div>Bischshttps://air.imag.fr/index.php?title=IDS&diff=8035IDS2013-01-27T18:09:37Z<p>Bischs: </p>
<hr />
<div>Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : [[Link:http://simon.bisch@free.fr/cv/|Simon BISCH]], Aurélien CLAVELIN, Florian FOURURE . Enseignant [[User:Donsez|Didier Donsez]], Xavier Spengler. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
<br />
==Matériel==<br />
* Panneau<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
* Imprimante Photo Canon<br />
* Caméras stéreo + profondeur<br />
* Micro<br />
* Haut Parleurs + Ampli 60W<br />
* NFC Reader<br />
<br />
==Logiciel==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural SPeaking<br />
<br />
==Challenges==<br />
* NFC Forum<br />
* Intel Perceptual</div>Bischshttps://air.imag.fr/index.php?title=IDS&diff=8034IDS2013-01-27T18:06:09Z<p>Bischs: </p>
<hr />
<div>Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : Simon BISCH, Aurélien CLAVELIN, Florian FOURURE . Enseignant [[User:Donsez|Didier Donsez]], Xavier Spengler. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
<br />
==Matériel==<br />
* Panneau<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
* Imprimante Photo Canon<br />
* Caméras stéreo + profondeur<br />
* Micro<br />
* Haut Parleurs + Ampli 60W<br />
* NFC Reader<br />
<br />
==Logiciel==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural SPeaking<br />
<br />
==Challenges==<br />
* NFC Forum<br />
* Intel Perceptual</div>Bischshttps://air.imag.fr/index.php?title=IDS&diff=8033IDS2013-01-27T18:05:52Z<p>Bischs: </p>
<hr />
<div>Projet en collaboration RICM5 et DSAA L3+1 (Agence Limonade)<br />
<br />
* Etudiantes DSAA: [[User:Lauriane_DUGIT-GROS|Lauriane DUGIT-GROS]], [[User:Ophelie_BATTAGLIA|Ophelie BATTAGLIA]], [[User:Julie_FUND|Julie FUND]] . Enseignant Jean-Baptiste Joatton. [[IDS2013-DSAA|fiche de suivi]]<br />
* Eleves RICM5 : Simon BISCH, Aurélien CLAVELIN, Florian FOURURE Enseignant [[User:Donsez|Didier Donsez]], Xavier Spengler. [[IDS2013-RICM5|fiche de suivi]]<br />
<br />
==Contexte==<br />
[[Interactive Digital Signage]]<br />
<br />
<br />
==Matériel==<br />
* Panneau<br />
** TV 37 Pouces Full HD<br />
** Planches de bois OSB3 10 mm<br />
** Verre trempé IKEA<br />
* Imprimante Photo Canon<br />
* Caméras stéreo + profondeur<br />
* Micro<br />
* Haut Parleurs + Ampli 60W<br />
* NFC Reader<br />
<br />
==Logiciel==<br />
<br />
* http://voxygen.fr/index.php<br />
* Dragon Natural SPeaking<br />
<br />
==Challenges==<br />
* NFC Forum<br />
* Intel Perceptual</div>Bischshttps://air.imag.fr/index.php?title=EA2012-NoSQL&diff=7268EA2012-NoSQL2012-12-24T14:04:14Z<p>Bischs: </p>
<hr />
<div>= Introduction au monde du non-relationnel et du NoSQL. =<br />
<br />
<br />
<br />
== Le non relationnel ==<br />
<br />
<br />
- [[Rappel sur le relationnel]]<br />
<br />
Avant d’expliquer ce qu’est le non-relationnel, un petit rappel sur ce qu’on appelle « relationnel », et surtout les bases de données relationnelles s’impose. <br />
Une base de données est dite relationnelle lorsqu’elle est en « Première forme normale ». Pour cela elle doit satisfaire deux conditions « d’atomicité ». La première étant que tous les attributs de cette relation contiennent une valeur scalaire ; cette valeur ne peut pas être divisée en plusieurs sous-valeurs dépendant de la même clé primaire (colonne qui permet d’identifier une ligne de façon unique). La seconde condition stipule que les valeurs sont non répétitives ; le cas contraire consisterait à mettre une liste dans un seul attribut. Il existe aussi une troisième contrainte cependant moins importante qui demande à ce que les attributs soient constants dans le temps (utiliser par exemple la date de naissance plutôt que l'âge). <br />
<br />
[[File:Relationnel.png|thumb|center|upright=2|Exemple de table relationnelle]]<br />
<br />
- [[Le non-relationnel]]<br />
<br />
Lorsque l’on construit une base de données non-relationnelle, on va perdre la contrainte des valeurs non répétitives ; notre table ne sera alors plus atomique. On pourra donc mettre une liste de valeurs dans un attribut.<br />
<br />
[[File:NonRelationnel.png|thumb|center|upright=2|Exemple de table non relationnelle]]<br />
<br />
Lorsque l’on décide d’implémenter une base de données non-relationnelle, il faut faire attention à se poser les bonnes questions. En effet, cela engendre plusieurs « détails » dont nous n’avons pas à nous soucier dans une base de données relationnelle. Cela concerne par exemple, la gestion des clés primaires : lorsque nous sommes en non-relationnel, la question à se poser est si celles-ci doivent obligatoirement être atomiques ou peuvent être des listes (de valeurs). Il faut savoir que si c’est une liste, la collection de données qu’elle pointe peut grandir de façon exponentielle et peut ainsi engendrer des problèmes de tailles. Ce cas n’est cependant pas impossible.<br />
Notons que les bases de données non-relationnelles ne sont pas formalisées (contrairement aux bases de données relationnelles) ; la réponse aux différentes questions dépend donc totalement du cas d’utilisation et du développeur.<br />
<br />
-[[Représentation]]<br />
<br />
La différence entre relationnel et non-relationnel peut être perçu de la manière suivante : une base de données relationnelle peut être représentée grâce à une table, alors que la non-relationnelle est représentée par un arbre avec des nœuds de taille variable (puisqu’un nœud représente une liste de valeurs).<br />
<br />
[[File:ReprésentationArbre.png|thumb|center|upright=2|Exemple d’arbre représentant une base de données non-relationnelle]]<br />
<br />
A noter qu’un arbre peut être implémenté en XML. Le format XML est un langage permettant de stoker des données de façon non-relationnelle. Donc, si vous avez fait du XML (par exemple du HTML) vous avez fait du non-relationnel.<br />
En faisant le lien Non-Relationnel -> XML, on voit très bien son avantage sur le relationnel : sa simplicité et sa souplesse. <br />
<br />
<br />
== Le NoSQL ==<br />
<br />
<br />
Le SQL est le langage utilisé pour faire des requêtes sur les bases de données relationnelles. (Exemple : Pour récupérer toutes les personnes dont l’âge est inférieur à 25 ans « SELECT * FROM personne WHERE age < 25 »).<br />
Etant donné que les bases de données non-relationnelles existent aussi, il a fallu décrire le concept de NoSQL qui gère ces bases-là. NoSQL désigne une catégorie de systèmes de gestion de bases de données dont les architectures des relations ont été remplacées/modifiées. Le terme NoSQL, qu’on pourrait interpréter comme « pas de SQL », désignerait plutôt, d’après sa première utilisation en 1998, « pas de relation ». Comme le stipule Shashank Tiwari dans son livre Professional NoSQL, « les auteurs de ce néologisme ont probablement voulu signifier non-relationnel, mais ont préféré le mot NoSQL parce qu’il sonne mieux ». Il faut noter que c’est un concept, il n’existe donc, pour le moment, aucune norme dans ce domaine.<br />
Qu’apporte le NoSQL par rapport au SQL ? Avant le NoSQL, de nombreuses personnes ont travaillé sur des normes et des outils que, maintenant, la plupart des informaticiens connaissent (Oracle, SGBD, … ). Ces systèmes sont très performants dans leur domaine d’application qui se veut extrêmement large puisque les créateurs ont voulu inclure tous les cas possibles. Pour certifier ces domaines d’application, des propriétés ont été mises en place. Ce sont les propriétés ACID : Atomicité (lorsque l’on fait une requête, elle est soit complétement exécutée, soit pas du tout), Cohérence (tous les nœuds du système voient exactement les mêmes données au même moment), Isolation (lorsque deux transactions A et B sont exécutées en même temps, les modifications effectuées par A ne sont ni visibles par B, ni modifiables par B tant que la transaction A n'est pas terminée et validée), Durable (une fois validé, l'état de la base de données doit être permanent, et aucun incident technique, comme par exemple un crash, ne doit pouvoir engendrer une annulation des opérations effectuées durant la transaction). Pour pouvoir satisfaire ces propriétés, les bases de données possèdent des outils (souvent inconnus de l’utilisateur). Cependant, ces outils ont un prix : le temps. Une étude d’Harizopoulos et AL08 a montré que 35% du temps d’exécution d’une requête sert à la gestion du buffer de données (les données sont chargées en mémoire dans ce buffer), 21% pour le « locking » (le fait de « fermer » un accès à une personne tant qu’une autre et en cours de traitement), … <br />
<br />
Cependant, de nouvelles problématiques non envisagées par les créateurs sont apparues. Par exemple lorsque l’on va chercher à avoir une information le plus rapidement possible, dans de très grands volumes de données, quitte à perdre en cohérence : l’exemple représentatif de ce problème est Google. Si l’on fait deux fois la même requête sur Google on n’est pas sûr d’avoir les mêmes informations. Cependant, cet outil est tout de même très performant car il nous permet d’avoir des milliers de réponses en moins d’une seconde.<br />
Le NoSQL englobe donc des systèmes de gestion de données tels que le système clé/valeur ou encore un système de table (comme les bases de données) mais sur lesquelles les jointures (entre deux tables) seront interdites.<br />
<br />
<br />
== Exemple de système NoSQL ==<br />
<br />
<br />
Etant donné que le NoSQL n’est pas normalisé et que les choix de développement d’une base de données non relationnelle sont au cas par cas, il existe de nombreux systèmes de données non relationnels. L’un des plus connu est MongoBD. MongoBD est un système de gestion de bases de données orientées documents, ne nécessitant pas de schéma prédéfini de données.<br />
<br />
[[File:ExempleMongo.png|thumb|alt=Exemple de données MongoBD|center|upright=2|Exemple de données MongoBD]]<br />
<br />
Liste des autres systèmes non relationnels existants :<br />
BigTable (google) / <br />
Dynamo (Amazon) / <br />
Projet Voldemort (LinkedIn) / <br />
Cassandra - HBase (Facebook)<br />
<br />
<br />
== Conclusion ==<br />
<br />
En considérant le théorème de Brewer (ou théorème CAP) qui stipule, qu’il est impossible d’avoir les trois caractéristiques suivantes en même temps dans une base de données :<br />
<br />
- Cohérence : tous les nœuds du système voient exactement les mêmes données au même moment.<br />
<br />
- Disponibilité : Garantit que toutes les requêtes reçoivent une réponse<br />
<br />
- Résistance au morcellement : aucune panne moins importante qu’une coupure du réseau ne doit empêcher le système de répondre correctement.<br />
<br />
<br />
on peut conclure qu’une base de données relationnelle favorise la cohérence (et peut en plus en fonction des cas être disponible ou résistante aux pannes) alors qu’une base de données non relationnelle va favoriser la disponibilité et la résistance au morcellement. Ce sont donc deux concepts fondamentalement différents.<br />
<br />
<br />
== Résumé ==<br />
<br />
<br />
Une base de données non relationnelle, comme son nom l’indique, désigne toute base qui n’est pas relationnelle. Cela signifie qu’elle n’est pas en première forme normale : toutes les entrées sont atomiques (pour une case de la table, une seule valeur est associée et non une liste). De nombreux systèmes ont vu le jour sur le principe des bases de données relationnelles (Oracle, SGBD … ). Cependant, ces systèmes ne correspondent plus au problème actuel comme notamment la recherche sur des bases de données extrêmement grosse en un minimum de temps quitte à sacrifier la cohérence (exemple : Google). Les systèmes non-relationnels se veulent plus simples et plus faciles d’utilisation (comme le XML) mais peuvent parfois devenir plus compliqués (comme les bases de données orientées objets) que les systèmes traditionnels.<br />
Les systèmes qui gèrent le non-relationnel sont appelés « systèmes NoSQL » (qu’il faut comprendre comme « Not ONLY SQL »). Le plus connu étant MongoBD, un système de gestion de bases de données orientées documents, ne nécessitant pas de schéma prédéfini de données. <br />
<br />
<br />
== Summary ==<br />
<br />
<br />
A non-relational database, as its name suggests, refers to any base that is not relational. This means that it is not in first normal form: all entries are atomic (for a box of the table, a single value is assigned and not a list). Many systems have been developed on the principle of relational databases (Oracle, DBMS ...). <br />
However, these systems do not correspond to the new problematics as including research on very large databases in a short time even sacrificing consistency (eg Google). <br />
Non-relational systems want to be more simple and easier to use (such as XML), but sometimes can become more complicated (such as object-oriented databases) than traditional systems.<br />
Systems that manage the non-relational are called "NoSQL systems" (to be understood as "Not ONLY SQL"). The most famous are MongoBD, a management system document-oriented databases, does not require predefined datas schema.<br />
<br />
<br />
== Bibliographie ==<br />
<br />
http://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_CAP<br />
<br />
http://en.wikipedia.org/wiki/NoSQL<br />
<br />
http://www.college-de-france.fr/media/serge-abiteboul/UPL5219443991792265458_Abiteboul21mars.pdf<br />
<br />
<br />
== Auteur ==<br />
<br />
'''FOURURE Florian'''<br />
<br />
Elève à Polytech Grenoble<br />
<br />
Filière Réseaux Informatiques et Communication Multimédia<br />
<br />
ffourure@free.fr</div>Bischshttps://air.imag.fr/index.php?title=EA2012-NoSQL&diff=7266EA2012-NoSQL2012-12-24T13:59:26Z<p>Bischs: </p>
<hr />
<div>= Introduction au monde du non-relationnel et du NoSQL. =<br />
<br />
<br />
<br />
== Le non relationnel ==<br />
<br />
<br />
- [[Rappel sur le relationnel]]<br />
<br />
Avant d’expliquer ce qu’est le non-relationnel, un petit rappel sur ce qu’on appelle « relationnel », et surtout les bases de données relationnelles s’impose. <br />
Une base de données est dite relationnelle lorsqu’elle est en « Première forme normale ». Pour cela elle doit satisfaire deux conditions « d’atomicité ». La première étant que tous les attributs de cette relation contiennent une valeur scalaire ; cette valeur ne peut pas être divisée en plusieurs sous-valeurs dépendant de la même clé primaire (colonne qui permet d’identifier une ligne de façon unique). La seconde condition stipule que les valeurs sont non répétitives ; le cas contraire consisterait à mettre une liste dans un seul attribut. Il existe aussi une troisième contrainte cependant moins importante qui demande à ce que les attributs soient constants dans le temps (utiliser par exemple la date de naissance plutôt que l'âge). <br />
<br />
[[File:Relationnel.png|thumb|center|upright=2|Exemple de table relationnelle]]<br />
<br />
- [[Le non-relationnel]]<br />
<br />
Lorsque l’on construit une base de données non-relationnelle, on va perdre la contrainte des valeurs non répétitives ; notre table ne sera alors plus atomique. On pourra donc mettre une liste de valeurs dans un attribut.<br />
<br />
[[File:NonRelationnel.png|thumb|center|upright=2|Exemple de table non relationnelle]]<br />
<br />
Lorsque l’on décide d’implémenter une base de données non-relationnelle, il faut faire attention à se poser les bonnes questions. En effet, cela engendre plusieurs « détails » dont nous n’avons pas à nous soucier dans une base de données relationnelle. Cela concerne par exemple, la gestion des clés primaires : lorsque nous sommes en non-relationnel, la question à se poser est si celles-ci doivent obligatoirement être atomiques ou peuvent être des listes (de valeurs). Il faut savoir que si c’est une liste, la collection de données qu’elle pointe peut grandir de façon exponentielle et peut ainsi engendrer des problèmes de tailles. Ce cas n’est cependant pas impossible.<br />
Notons que les bases de données non-relationnelles ne sont pas formalisées (contrairement aux bases de données relationnelles) ; la réponse aux différentes questions dépend donc totalement du cas d’utilisation et du développeur.<br />
<br />
-[[Représentation]]<br />
<br />
La différence entre relationnel et non-relationnel peut être perçu de la manière suivante : une base de données relationnelle peut être représentée grâce à une table, alors que la non-relationnelle est représentée par un arbre avec des nœuds de taille variable (puisqu’un nœud représente une liste de valeurs).<br />
<br />
[[File:ReprésentationArbre.png|thumb|center|upright=2|Exemple d’arbre représentant une base de données non-relationnelle]]<br />
<br />
A noter qu’un arbre peut être implémenté en XML. Le format XML est un langage permettant de stoker des données de façon non-relationnelle. Donc, si vous avez fait du XML (par exemple du HTML) vous avez fait du non-relationnel.<br />
En faisant le lien Non-Relationnel -> XML, on voit très bien son avantage sur le relationnel : sa simplicité et sa souplesse. <br />
<br />
<br />
== Le NoSQL ==<br />
<br />
<br />
Le SQL est le langage utilisé pour faire des requêtes sur les bases de données relationnelles. (Exemple : Pour récupérer toutes les personnes dont l’âge est inférieur à 25 ans « SELECT * FROM personne WHERE age < 25 »).<br />
Etant donné que les bases de données non-relationnelles existent aussi, il a fallu décrire le concept de NoSQL qui gère ces bases-là. NoSQL désigne une catégorie de systèmes de gestion de bases de données dont les architectures des relations ont été remplacées/modifiées. Le terme NoSQL, qu’on pourrait interpréter comme « pas de SQL », désignerait plutôt, d’après sa première utilisation en 1998, « pas de relation ». Comme le stipule Shashank Tiwari dans son livre Professional NoSQL, « les auteurs de ce néologisme ont probablement voulu signifier non-relationnel, mais ont préféré le mot NoSQL parce qu’il sonne mieux ». Il faut noter que c’est un concept, il n’existe donc, pour le moment, aucune norme dans ce domaine.<br />
Qu’apporte le NoSQL par rapport au SQL ? Avant le NoSQL, de nombreuses personnes ont travaillé sur des normes et des outils que, maintenant, la plupart des informaticiens connaissent (Oracle, SGBD, … ). Ces systèmes sont très performants dans leur domaine d’application qui se veut extrêmement large puisque les créateurs ont voulu inclure tous les cas possibles. Pour certifier ces domaines d’application, des propriétés ont été mises en place. Ce sont les propriétés ACID : Atomicité (lorsque l’on fait une requête, elle est soit complétement exécutée, soit pas du tout), Cohérence (tous les nœuds du système voient exactement les mêmes données au même moment), Isolation (lorsque deux transactions A et B sont exécutées en même temps, les modifications effectuées par A ne sont ni visibles par B, ni modifiables par B tant que la transaction A n'est pas terminée et validée), Durable (une fois validé, l'état de la base de données doit être permanent, et aucun incident technique, comme par exemple un crash, ne doit pouvoir engendrer une annulation des opérations effectuées durant la transaction). Pour pouvoir satisfaire ces propriétés, les bases de données possèdent des outils (souvent inconnus de l’utilisateur). Cependant, ces outils ont un prix : le temps. Une étude d’Harizopoulos et AL08 a montré que 35% du temps d’exécution d’une requête sert à la gestion du buffer de données (les données sont chargées en mémoire dans ce buffer), 21% pour le « locking » (le fait de « fermer » un accès à une personne tant qu’une autre et en cours de traitement), … <br />
<br />
Cependant, de nouvelles problématiques non envisagées par les créateurs sont apparues. Par exemple lorsque l’on va chercher à avoir une information le plus rapidement possible, dans de très grands volumes de données, quitte à perdre en cohérence : l’exemple représentatif de ce problème est Google. Si l’on fait deux fois la même requête sur Google on n’est pas sûr d’avoir les mêmes informations. Cependant, cet outil est tout de même très performant car il nous permet d’avoir des milliers de réponses en moins d’une seconde.<br />
Le NoSQL englobe donc des systèmes de gestion de données tels que le système clé/valeur ou encore un système de table (comme les bases de données) mais sur lesquelles les jointures (entre deux tables) seront interdites.<br />
<br />
<br />
== Exemple de système NoSQL ==<br />
<br />
<br />
Etant donné que le NoSQL n’est pas normalisé et que les choix de développement d’une base de données non relationnelle sont au cas par cas, il existe de nombreux systèmes de données non relationnels. L’un des plus connu est MongoBD. MongoBD est un système de gestion de bases de données orientées documents, ne nécessitant pas de schéma prédéfini de données.<br />
<br />
[[File:ExempleMongo.png|thumb|alt=Exemple de données MongoBD|center|upright=2|Exemple de données MongoBD]]<br />
<br />
Liste des autres systèmes non relationnels existants :<br />
BigTable (google) / <br />
Dynamo (Amazon) / <br />
Projet Voldemort (LinkedIn) / <br />
Cassandra - HBase (Facebook)<br />
<br />
<br />
== Conclusion ==<br />
<br />
En considérant le théorème de Brewer (ou théorème CAP) qui stipule, qu’il est impossible d’avoir les trois caractéristiques suivantes en même temps dans une base de données :<br />
<br />
- Cohérence : tous les nœuds du système voient exactement les mêmes données au même moment.<br />
<br />
- Disponibilité : Garantit que toutes les requêtes reçoivent une réponse<br />
<br />
- Résistance au morcellement : aucune panne moins importante qu’une coupure du réseau ne doit empêcher le système de répondre correctement.<br />
<br />
<br />
on peut conclure qu’une base de données relationnelle favorise la cohérence (et peut en plus en fonction des cas être disponible ou résistante aux pannes) alors qu’une base de données non relationnelle va favoriser la disponibilité et la résistance au morcellement. Ce sont donc deux concepts fondamentalement différents.<br />
<br />
<br />
== Résumé ==<br />
<br />
<br />
Une base de données non relationnelle, comme son nom l’indique, désigne toute base qui n’est pas relationnelle. Cela signifie qu’elle n’est pas en première forme normale : toutes les entrées sont atomiques (pour une case de la table, une seule valeur est associée et non une liste). De nombreux systèmes ont vu le jour sur le principe des bases de données relationnelles (Oracle, SGBD … ). Cependant, ces systèmes ne correspondent plus au problème actuel comme notamment la recherche sur des bases de données extrêmement grosse en un minimum de temps quitte à sacrifier la cohérence (exemple : Google). Les systèmes non-relationnels se veulent plus simples et plus faciles d’utilisation (comme le XML) mais peuvent parfois devenir plus compliqués (comme les bases de données orientées objets) que les systèmes traditionnels.<br />
Les systèmes qui gèrent le non-relationnel sont appelés « systèmes NoSQL » (qu’il faut comprendre comme « Not ONLY SQL »). Le plus connu étant MongoBD, un système de gestion de bases de données orientées documents, ne nécessitant pas de schéma prédéfini de données. <br />
<br />
<br />
== Summary ==<br />
<br />
<br />
A non-relational database, as its name suggests, refers to any base that is not relational. This means that it is not in first normal form: all entries are atomic (for a box of the table, a single value is assigned and not a list). Many systems have been developed on the principle of relational databases (Oracle, DBMS ...). <br />
However, these systems do not correspond to the new problematics as including research on very large databases in a short time even sacrificing consistency (eg Google). <br />
Non-relational systems want to be more simple and easier to use (such as XML), but sometimes can become more complicated (such as object-oriented databases) than traditional systems.<br />
Systems that manage the non-relational are called "NoSQL systems" (to be understood as "Not ONLY SQL"). The most famous are MongoBD, a management system document-oriented databases, does not require predefined datas schema.<br />
<br />
<br />
== Bibliographie ==<br />
<br />
http://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_CAP<br />
<br />
http://en.wikipedia.org/wiki/NoSQL<br />
<br />
http://www.college-de-france.fr/media/serge-abiteboul/UPL5219443991792265458_Abiteboul21mars.pdf<br />
<br />
<br />
== Auteur ==<br />
<br />
'''FOURURE Florian'''<br />
<br />
Elevés à Polytech Grenoble<br />
<br />
Filière Réseaux Informatiques et Communication Multimédia<br />
<br />
ffourure@free.fr</div>Bischshttps://air.imag.fr/index.php?title=EA2012-NoSQL&diff=7265EA2012-NoSQL2012-12-24T13:57:01Z<p>Bischs: </p>
<hr />
<div>= Introduction au monde du non-relationnel et du NoSQL. =<br />
<br />
<br />
<br />
== Le non relationnel ==<br />
<br />
<br />
- [[Rappel sur le relationnel]]<br />
<br />
Avant d’expliquer ce qu’est le non-relationnel, un petit rappel sur ce qu’on appelle « relationnel », et surtout les bases de données relationnelles s’impose. <br />
Une base de données est dite relationnelle lorsqu’elle est en « Première forme normale ». Pour cela elle doit satisfaire deux conditions « d’atomicité ». La première étant que tous les attributs de cette relation contiennent une valeur scalaire ; cette valeur ne peut pas être divisée en plusieurs sous-valeurs dépendant de la même clé primaire (colonne qui permet d’identifier une ligne de façon unique). La seconde condition stipule que les valeurs sont non répétitives ; le cas contraire consisterait à mettre une liste dans un seul attribut. Il existe aussi une troisième contrainte cependant moins importante qui demande à ce que les attributs soient constants dans le temps (utiliser par exemple la date de naissance plutôt que l'âge). <br />
<br />
[[File:Relationnel.png|thumb|center|upright=2|Exemple de table relationnelle]]<br />
<br />
- [[Le non-relationnel]]<br />
<br />
Lorsque l’on construit une base de données non-relationnelle, on va perdre la contrainte des valeurs non répétitives ; notre table ne sera alors plus atomique. On pourra donc mettre une liste de valeurs dans un attribut.<br />
<br />
[[File:NonRelationnel.png|thumb|center|upright=2|Exemple de table non relationnelle]]<br />
<br />
Lorsque l’on décide d’implémenter une base de données non-relationnelle, il faut faire attention à se poser les bonnes questions. En effet, cela engendre plusieurs « détails » dont nous n’avons pas à nous soucier dans une base de données relationnelle. Cela concerne par exemple, la gestion des clés primaires : lorsque nous sommes en non-relationnel, la question à se poser est si celles-ci doivent obligatoirement être atomiques ou peuvent être des listes (de valeurs). Il faut savoir que si c’est une liste, la collection de données qu’elle pointe peut grandir de façon exponentielle et peut ainsi engendrer des problèmes de tailles. Ce cas n’est cependant pas impossible.<br />
Notons que les bases de données non-relationnelles ne sont pas formalisées (contrairement aux bases de données relationnelles) ; la réponse aux différentes questions dépend donc totalement du cas d’utilisation et du développeur.<br />
<br />
-[[Représentation]]<br />
<br />
La différence entre relationnel et non-relationnel peut être perçu de la manière suivante : une base de données relationnelle peut être représentée grâce à une table, alors que la non-relationnelle est représentée par un arbre avec des nœuds de taille variable (puisqu’un nœud représente une liste de valeurs).<br />
<br />
[[File:ReprésentationArbre.png|thumb|center|upright=2|Exemple d’arbre représentant une base de données non-relationnelle]]<br />
<br />
A noter qu’un arbre peut être implémenté en XML. Le format XML est un langage permettant de stoker des données de façon non-relationnelle. Donc, si vous avez fait du XML (par exemple du HTML) vous avez fait du non-relationnel.<br />
En faisant le lien Non-Relationnel -> XML, on voit très bien son avantage sur le relationnel : sa simplicité et sa souplesse. <br />
<br />
<br />
== Le NoSQL ==<br />
<br />
<br />
Le SQL est le langage utilisé pour faire des requêtes sur les bases de données relationnelles. (Exemple : Pour récupérer toutes les personnes dont l’âge est inférieur à 25 ans « SELECT * FROM personne WHERE age < 25 »).<br />
Etant donné que les bases de données non-relationnelles existent aussi, il a fallu décrire le concept de NoSQL qui gère ces bases-là. NoSQL désigne une catégorie de systèmes de gestion de bases de données dont les architectures des relations ont été remplacées/modifiées. Le terme NoSQL, qu’on pourrait interpréter comme « pas de SQL », désignerait plutôt, d’après sa première utilisation en 1998, « pas de relation ». Comme le stipule Shashank Tiwari dans son livre Professional NoSQL, « les auteurs de ce néologisme ont probablement voulu signifier non-relationnel, mais ont préféré le mot NoSQL parce qu’il sonne mieux ». Il faut noter que c’est un concept, il n’existe donc, pour le moment, aucune norme dans ce domaine.<br />
Qu’apporte le NoSQL par rapport au SQL ? Avant le NoSQL, de nombreuses personnes ont travaillé sur des normes et des outils que, maintenant, la plupart des informaticiens connaissent (Oracle, SGBD, … ). Ces systèmes sont très performants dans leur domaine d’application qui se veut extrêmement large puisque les créateurs ont voulu inclure tous les cas possibles. Pour certifier ces domaines d’application, des propriétés ont été mises en place. Ce sont les propriétés ACID : Atomicité (lorsque l’on fait une requête, elle est soit complétement exécutée, soit pas du tout), Cohérence (tous les nœuds du système voient exactement les mêmes données au même moment), Isolation (lorsque deux transactions A et B sont exécutées en même temps, les modifications effectuées par A ne sont ni visibles par B, ni modifiables par B tant que la transaction A n'est pas terminée et validée), Durable (une fois validé, l'état de la base de données doit être permanent, et aucun incident technique, comme par exemple un crash, ne doit pouvoir engendrer une annulation des opérations effectuées durant la transaction). Pour pouvoir satisfaire ces propriétés, les bases de données possèdent des outils (souvent inconnus de l’utilisateur). Cependant, ces outils ont un prix : le temps. Une étude d’Harizopoulos et AL08 a montré que 35% du temps d’exécution d’une requête sert à la gestion du buffer de données (les données sont chargées en mémoire dans ce buffer), 21% pour le « locking » (le fait de « fermer » un accès à une personne tant qu’une autre et en cours de traitement), … <br />
<br />
Cependant, de nouvelles problématiques non envisagées par les créateurs sont apparues. Par exemple lorsque l’on va chercher à avoir une information le plus rapidement possible, dans de très grands volumes de données, quitte à perdre en cohérence : l’exemple représentatif de ce problème est Google. Si l’on fait deux fois la même requête sur Google on n’est pas sûr d’avoir les mêmes informations. Cependant, cet outil est tout de même très performant car il nous permet d’avoir des milliers de réponses en moins d’une seconde.<br />
Le NoSQL englobe donc des systèmes de gestion de données tels que le système clé/valeur ou encore un système de table (comme les bases de données) mais sur lesquelles les jointures (entre deux tables) seront interdites.<br />
<br />
<br />
== Exemple de système NoSQL ==<br />
<br />
<br />
Etant donné que le NoSQL n’est pas normalisé et que les choix de développement d’une base de données non relationnelle sont au cas par cas, il existe de nombreux systèmes de données non relationnels. L’un des plus connu est MongoBD. MongoBD est un système de gestion de bases de données orientées documents, ne nécessitant pas de schéma prédéfini de données.<br />
<br />
[[File:ExempleMongo.png|thumb|alt=Exemple de données MongoBD|center|upright=2|Exemple de données MongoBD]]<br />
<br />
Liste des autres systèmes non relationnels existants :<br />
BigTable (google) / <br />
Dynamo (Amazon) / <br />
Projet Voldemort (LinkedIn) / <br />
Cassandra - HBase (Facebook)<br />
<br />
<br />
== Conclusion ==<br />
<br />
En considérant le théorème de Brewer (ou théorème CAP) qui stipule, qu’il est impossible d’avoir les trois caractéristiques suivantes en même temps dans une base de données :<br />
<br />
- Cohérence : tous les nœuds du système voient exactement les mêmes données au même moment.<br />
<br />
- Disponibilité : Garantit que toutes les requêtes reçoivent une réponse<br />
<br />
- Résistance au morcellement : aucune panne moins importante qu’une coupure du réseau ne doit empêcher le système de répondre correctement.<br />
<br />
<br />
on peut conclure qu’une base de données relationnelle favorise la cohérence (et peut en plus en fonction des cas être disponible ou résistante aux pannes) alors qu’une base de données non relationnelle va favoriser la disponibilité et la résistance au morcellement. Ce sont donc deux concepts fondamentalement différents.<br />
<br />
<br />
== Résumé ==<br />
<br />
<br />
Une base de données non relationnelle, comme son nom l’indique, désigne toute base qui n’est pas relationnelle. Cela signifie qu’elle n’est pas en première forme normale : toutes les entrées sont atomiques (pour une case de la table, une seule valeur est associée et non une liste). De nombreux systèmes ont vu le jour sur le principe des bases de données relationnelles (Oracle, SGBD … ). Cependant, ces systèmes ne correspondent plus au problème actuel comme notamment la recherche sur des bases de données extrêmement grosse en un minimum de temps quitte à sacrifier la cohérence (exemple : Google). Les systèmes non-relationnels se veulent plus simples et plus faciles d’utilisation (comme le XML) mais peuvent parfois devenir plus compliqués (comme les bases de données orientées objets) que les systèmes traditionnels.<br />
Les systèmes qui gèrent le non-relationnel sont appelés « systèmes NoSQL » (qu’il faut comprendre comme « Not ONLY SQL »). Le plus connu étant MongoBD, un système de gestion de bases de données orientées documents, ne nécessitant pas de schéma prédéfini de données. <br />
<br />
<br />
== Summary ==<br />
<br />
<br />
A non-relational database, as its name suggests, refers to any base that is not relational. This means that it is not in first normal form: all entries are atomic (for a box of the table, a single value is assigned and not a list). Many systems have been developed on the principle of relational databases (Oracle, DBMS ...). <br />
However, these systems do not correspond to the new problematics as including research on very large databases in a short time even sacrificing consistency (eg Google). <br />
Non-relational systems want to be more simple and easier to use (such as XML), but sometimes can become more complicated (such as object-oriented databases) than traditional systems.<br />
Systems that manage the non-relational are called "NoSQL systems" (to be understood as "Not ONLY SQL"). The most famous are MongoBD, a management system document-oriented databases, does not require predefined datas schema.<br />
<br />
<br />
== Bibliographie ==<br />
<br />
http://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_CAP<br />
<br />
http://en.wikipedia.org/wiki/NoSQL<br />
<br />
http://www.college-de-france.fr/media/serge-abiteboul/UPL5219443991792265458_Abiteboul21mars.pdf</div>Bischshttps://air.imag.fr/index.php?title=File:ExempleMongo.png&diff=7264File:ExempleMongo.png2012-12-24T13:51:15Z<p>Bischs: </p>
<hr />
<div></div>Bischshttps://air.imag.fr/index.php?title=File:Repr%C3%A9sentationArbre.png&diff=7263File:ReprésentationArbre.png2012-12-24T13:50:58Z<p>Bischs: </p>
<hr />
<div></div>Bischshttps://air.imag.fr/index.php?title=File:NonRelationnel.png&diff=7262File:NonRelationnel.png2012-12-24T13:50:40Z<p>Bischs: </p>
<hr />
<div></div>Bischshttps://air.imag.fr/index.php?title=File:Relationnel.png&diff=7260File:Relationnel.png2012-12-24T13:50:07Z<p>Bischs: </p>
<hr />
<div></div>Bischshttps://air.imag.fr/index.php?title=EA2012-NoSQL&diff=7259EA2012-NoSQL2012-12-24T13:49:44Z<p>Bischs: </p>
<hr />
<div>= Introduction au monde du non-relationnel et du NoSQL. =<br />
<br />
<br />
<br />
== Le non relationnel ==<br />
<br />
<br />
- [[Rappel sur le relationnel]]<br />
<br />
Avant d’expliquer ce qu’est le non-relationnel, un petit rappel sur ce qu’on appelle « relationnel », et surtout les bases de données relationnelles s’impose. <br />
Une base de données est dite relationnelle lorsqu’elle est en « Première forme normale ». Pour cela elle doit satisfaire deux conditions « d’atomicité ». La première étant que tous les attributs de cette relation contiennent une valeur scalaire ; cette valeur ne peut pas être divisée en plusieurs sous-valeurs dépendant de la même clé primaire (colonne qui permet d’identifier une ligne de façon unique). La seconde condition stipule que les valeurs sont non répétitives ; le cas contraire consisterait à mettre une liste dans un seul attribut. Il existe aussi une troisième contrainte cependant moins importante qui demande à ce que les attributs soient constants dans le temps (utiliser par exemple la date de naissance plutôt que l'âge). <br />
<br />
Exemple de table relationnelle :<br />
[[File:Relationnel.png|thumb|Exemple de table relationnelle]]<br />
<br />
- [[Le non-relationnel]]<br />
<br />
Lorsque l’on construit une base de données non-relationnelle, on va perdre la contrainte des valeurs non répétitives ; notre table ne sera alors plus atomique. On pourra donc mettre une liste de valeurs dans un attribut.<br />
<br />
Exemple de table non relationnelle :<br />
[[File:NonRelationnel.png|thumb|Exemple de table non relationnelle]]<br />
<br />
Lorsque l’on décide d’implémenter une base de données non-relationnelle, il faut faire attention à se poser les bonnes questions. En effet, cela engendre plusieurs « détails » dont nous n’avons pas à nous soucier dans une base de données relationnelle. Cela concerne par exemple, la gestion des clés primaires : lorsque nous sommes en non-relationnel, la question à se poser est si celles-ci doivent obligatoirement être atomiques ou peuvent être des listes (de valeurs). Il faut savoir que si c’est une liste, la collection de données qu’elle pointe peut grandir de façon exponentielle et peut ainsi engendrer des problèmes de tailles. Ce cas n’est cependant pas impossible.<br />
Notons que les bases de données non-relationnelles ne sont pas formalisées (contrairement aux bases de données relationnelles) ; la réponse aux différentes questions dépend donc totalement du cas d’utilisation et du développeur.<br />
<br />
-[[Représentation]]<br />
<br />
La différence entre relationnel et non-relationnel peut être perçu de la manière suivante : une base de données relationnelle peut être représentée grâce à une table, alors que la non-relationnelle est représentée par un arbre avec des nœuds de taille variable (puisqu’un nœud représente une liste de valeurs).<br />
<br />
Exemple d’arbre représentant une base de données non-relationnelle :<br />
[[File:ReprésentationArbre.png|thumb|Exemple d’arbre représentant une base de données non-relationnelle]]<br />
<br />
A noter qu’un arbre peut être implémenté en XML. Le format XML est un langage permettant de stoker des données de façon non-relationnelle. Donc, si vous avez fait du XML (par exemple du HTML) vous avez fait du non-relationnel.<br />
En faisant le lien Non-Relationnel -> XML, on voit très bien son avantage sur le relationnel : sa simplicité et sa souplesse. <br />
<br />
<br />
== Le NoSQL ==<br />
<br />
<br />
Le SQL est le langage utilisé pour faire des requêtes sur les bases de données relationnelles. (Exemple : Pour récupérer toutes les personnes dont l’âge est inférieur à 25 ans « SELECT * FROM personne WHERE age < 25 »).<br />
Etant donné que les bases de données non-relationnelles existent aussi, il a fallu décrire le concept de NoSQL qui gère ces bases-là. NoSQL désigne une catégorie de systèmes de gestion de bases de données dont les architectures des relations ont été remplacées/modifiées. Le terme NoSQL, qu’on pourrait interpréter comme « pas de SQL », désignerait plutôt, d’après sa première utilisation en 1998, « pas de relation ». Comme le stipule Shashank Tiwari dans son livre Professional NoSQL, « les auteurs de ce néologisme ont probablement voulu signifier non-relationnel, mais ont préféré le mot NoSQL parce qu’il sonne mieux ». Il faut noter que c’est un concept, il n’existe donc, pour le moment, aucune norme dans ce domaine.<br />
Qu’apporte le NoSQL par rapport au SQL ? Avant le NoSQL, de nombreuses personnes ont travaillé sur des normes et des outils que, maintenant, la plupart des informaticiens connaissent (Oracle, SGBD, … ). Ces systèmes sont très performants dans leur domaine d’application qui se veut extrêmement large puisque les créateurs ont voulu inclure tous les cas possibles. Pour certifier ces domaines d’application, des propriétés ont été mises en place. Ce sont les propriétés ACID : Atomicité (lorsque l’on fait une requête, elle est soit complétement exécutée, soit pas du tout), Cohérence (tous les nœuds du système voient exactement les mêmes données au même moment), Isolation (lorsque deux transactions A et B sont exécutées en même temps, les modifications effectuées par A ne sont ni visibles par B, ni modifiables par B tant que la transaction A n'est pas terminée et validée), Durable (une fois validé, l'état de la base de données doit être permanent, et aucun incident technique, comme par exemple un crash, ne doit pouvoir engendrer une annulation des opérations effectuées durant la transaction). Pour pouvoir satisfaire ces propriétés, les bases de données possèdent des outils (souvent inconnus de l’utilisateur). Cependant, ces outils ont un prix : le temps. Une étude d’Harizopoulos et AL08 a montré que 35% du temps d’exécution d’une requête sert à la gestion du buffer de données (les données sont chargées en mémoire dans ce buffer), 21% pour le « locking » (le fait de « fermer » un accès à une personne tant qu’une autre et en cours de traitement), … <br />
<br />
Cependant, de nouvelles problématiques non envisagées par les créateurs sont apparues. Par exemple lorsque l’on va chercher à avoir une information le plus rapidement possible, dans de très grands volumes de données, quitte à perdre en cohérence : l’exemple représentatif de ce problème est Google. Si l’on fait deux fois la même requête sur Google on n’est pas sûr d’avoir les mêmes informations. Cependant, cet outil est tout de même très performant car il nous permet d’avoir des milliers de réponses en moins d’une seconde.<br />
Le NoSQL englobe donc des systèmes de gestion de données tels que le système clé/valeur ou encore un système de table (comme les bases de données) mais sur lesquelles les jointures (entre deux tables) seront interdites.<br />
<br />
<br />
== Exemple de système NoSQL ==<br />
<br />
<br />
Etant donné que le NoSQL n’est pas normalisé et que les choix de développement d’une base de données non relationnelle sont au cas par cas, il existe de nombreux systèmes de données non relationnels. L’un des plus connu est MongoBD. MongoBD est un système de gestion de bases de données orientées documents, ne nécessitant pas de schéma prédéfini de données.<br />
<br />
Exemple de données MongoBD :<br />
[[File:ExempleMongo.png|thumb|alt=Exemple de données MongoBD|Exemple de données MongoBD]]<br />
<br />
Liste des autres systèmes non relationnels existants :<br />
BigTable (google) / <br />
Dynamo (Amazon) / <br />
Projet Voldemort (LinkedIn) / <br />
Cassandra - HBase (Facebook)<br />
<br />
<br />
== Conclusion ==<br />
<br />
En considérant le théorème de Brewer (ou théorème CAP) qui stipule, qu’il est impossible d’avoir les trois caractéristiques suivantes en même temps dans une base de données :<br />
<br />
- Cohérence : tous les nœuds du système voient exactement les mêmes données au même moment.<br />
<br />
- Disponibilité : Garantit que toutes les requêtes reçoivent une réponse<br />
<br />
- Résistance au morcellement : aucune panne moins importante qu’une coupure du réseau ne doit empêcher le système de répondre correctement.<br />
<br />
<br />
on peut conclure qu’une base de données relationnelle favorise la cohérence (et peut en plus en fonction des cas être disponible ou résistante aux pannes) alors qu’une base de données non relationnelle va favoriser la disponibilité et la résistance au morcellement. Ce sont donc deux concepts fondamentalement différents.<br />
<br />
<br />
== Résumé ==<br />
<br />
<br />
Une base de données non relationnelle, comme son nom l’indique, désigne toute base qui n’est pas relationnelle. Cela signifie qu’elle n’est pas en première forme normale : toutes les entrées sont atomiques (pour une case de la table, une seule valeur est associée et non une liste). De nombreux systèmes ont vu le jour sur le principe des bases de données relationnelles (Oracle, SGBD … ). Cependant, ces systèmes ne correspondent plus au problème actuel comme notamment la recherche sur des bases de données extrêmement grosse en un minimum de temps quitte à sacrifier la cohérence (exemple : Google). Les systèmes non-relationnels se veulent plus simples et plus faciles d’utilisation (comme le XML) mais peuvent parfois devenir plus compliqués (comme les bases de données orientées objets) que les systèmes traditionnels.<br />
Les systèmes qui gèrent le non-relationnel sont appelés « systèmes NoSQL » (qu’il faut comprendre comme « Not ONLY SQL »). Le plus connu étant MongoBD, un système de gestion de bases de données orientées documents, ne nécessitant pas de schéma prédéfini de données. <br />
<br />
<br />
== Summary ==<br />
<br />
<br />
A non-relational database, as its name suggests, refers to any base that is not relational. This means that it is not in first normal form: all entries are atomic (for a box of the table, a single value is assigned and not a list). Many systems have been developed on the principle of relational databases (Oracle, DBMS ...). <br />
However, these systems do not correspond to the new problematics as including research on very large databases in a short time even sacrificing consistency (eg Google). <br />
Non-relational systems want to be more simple and easier to use (such as XML), but sometimes can become more complicated (such as object-oriented databases) than traditional systems.<br />
Systems that manage the non-relational are called "NoSQL systems" (to be understood as "Not ONLY SQL"). The most famous are MongoBD, a management system document-oriented databases, does not require predefined datas schema.<br />
<br />
<br />
== Bibliographie ==<br />
<br />
http://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_CAP<br />
<br />
http://en.wikipedia.org/wiki/NoSQL<br />
<br />
http://www.college-de-france.fr/media/serge-abiteboul/UPL5219443991792265458_Abiteboul21mars.pdf</div>Bischshttps://air.imag.fr/index.php?title=EA2012-NoSQL&diff=7258EA2012-NoSQL2012-12-24T13:42:29Z<p>Bischs: </p>
<hr />
<div>= Introduction au monde du non-relationnel et du NoSQL. =<br />
<br />
<br />
<br />
== Le non relationnel ==<br />
<br />
<br />
- [[Rappel sur le relationnel]]<br />
<br />
Avant d’expliquer ce qu’est le non-relationnel, un petit rappel sur ce qu’on appelle « relationnel », et surtout les bases de données relationnelles s’impose. <br />
Une base de données est dite relationnelle lorsqu’elle est en « Première forme normale ». Pour cela elle doit satisfaire deux conditions « d’atomicité ». La première étant que tous les attributs de cette relation contiennent une valeur scalaire ; cette valeur ne peut pas être divisée en plusieurs sous-valeurs dépendant de la même clé primaire (colonne qui permet d’identifier une ligne de façon unique). La seconde condition stipule que les valeurs sont non répétitives ; le cas contraire consisterait à mettre une liste dans un seul attribut. Il existe aussi une troisième contrainte cependant moins importante qui demande à ce que les attributs soient constants dans le temps (utiliser par exemple la date de naissance plutôt que l'âge). <br />
<br />
Exemple de table relationnelle :<br />
[[File:Relationnel.png|thumb|Exemple de table relationnelle]]<br />
<br />
- [[Le non-relationnel]]<br />
<br />
Lorsque l’on construit une base de données non-relationnelle, on va perdre la contrainte des valeurs non répétitives ; notre table ne sera alors plus atomique. On pourra donc mettre une liste de valeurs dans un attribut.<br />
<br />
Exemple de table non relationnelle :<br />
[[File:NonRelationnel.png|thumb|Exemple de table non relationnelle]]<br />
<br />
Lorsque l’on décide d’implémenter une base de données non-relationnelle, il faut faire attention à se poser les bonnes questions. En effet, cela engendre plusieurs « détails » dont nous n’avons pas à nous soucier dans une base de données relationnelle. Cela concerne par exemple, la gestion des clés primaires : lorsque nous sommes en non-relationnel, la question à se poser est si celles-ci doivent obligatoirement être atomiques ou peuvent être des listes (de valeurs). Il faut savoir que si c’est une liste, la collection de données qu’elle pointe peut grandir de façon exponentielle et peut ainsi engendrer des problèmes de tailles. Ce cas n’est cependant pas impossible.<br />
Notons que les bases de données non-relationnelles ne sont pas formalisées (contrairement aux bases de données relationnelles) ; la réponse aux différentes questions dépend donc totalement du cas d’utilisation et du développeur.<br />
<br />
-[[Représentation]]<br />
<br />
La différence entre relationnel et non-relationnel peut être perçu de la manière suivante : une base de données relationnelle peut être représentée grâce à une table, alors que la non-relationnelle est représentée par un arbre avec des nœuds de taille variable (puisqu’un nœud représente une liste de valeurs).<br />
<br />
Exemple d’arbre représentant une base de données non-relationnelle :<br />
[[File:ReprésentationArbre.png|thumb|Exemple d’arbre représentant une base de données non-relationnelle]]<br />
<br />
A noter qu’un arbre peut être implémenté en XML. Le format XML est un langage permettant de stoker des données de façon non-relationnelle. Donc, si vous avez fait du XML (par exemple du HTML) vous avez fait du non-relationnel.<br />
En faisant le lien Non-Relationnel -> XML, on voit très bien son avantage sur le relationnel : sa simplicité et sa souplesse. <br />
<br />
<br />
== Le NoSQL ==<br />
<br />
<br />
Le SQL est le langage utilisé pour faire des requêtes sur les bases de données relationnelles. (Exemple : Pour récupérer toutes les personnes dont l’âge est inférieur à 25 ans « SELECT * FROM personne WHERE age < 25 »).<br />
Etant donné que les bases de données non-relationnelles existent aussi, il a fallu décrire le concept de NoSQL qui gère ces bases-là. NoSQL désigne une catégorie de systèmes de gestion de bases de données dont les architectures des relations ont été remplacées/modifiées. Le terme NoSQL, qu’on pourrait interpréter comme « pas de SQL », désignerait plutôt, d’après sa première utilisation en 1998, « pas de relation ». Comme le stipule Shashank Tiwari dans son livre Professional NoSQL, « les auteurs de ce néologisme ont probablement voulu signifier non-relationnel, mais ont préféré le mot NoSQL parce qu’il sonne mieux ». Il faut noter que c’est un concept, il n’existe donc, pour le moment, aucune norme dans ce domaine.<br />
Qu’apporte le NoSQL par rapport au SQL ? Avant le NoSQL, de nombreuses personnes ont travaillé sur des normes et des outils que, maintenant, la plupart des informaticiens connaissent (Oracle, SGBD, … ). Ces systèmes sont très performants dans leur domaine d’application qui se veut extrêmement large puisque les créateurs ont voulu inclure tous les cas possibles. Pour certifier ces domaines d’application, des propriétés ont été mises en place. Ce sont les propriétés ACID : Atomicité (lorsque l’on fait une requête, elle est soit complétement exécutée, soit pas du tout), Cohérence (tous les nœuds du système voient exactement les mêmes données au même moment), Isolation (lorsque deux transactions A et B sont exécutées en même temps, les modifications effectuées par A ne sont ni visibles par B, ni modifiables par B tant que la transaction A n'est pas terminée et validée), Durable (une fois validé, l'état de la base de données doit être permanent, et aucun incident technique, comme par exemple un crash, ne doit pouvoir engendrer une annulation des opérations effectuées durant la transaction). Pour pouvoir satisfaire ces propriétés, les bases de données possèdent des outils (souvent inconnus de l’utilisateur). Cependant, ces outils ont un prix : le temps. Une étude d’Harizopoulos et AL08 a montré que 35% du temps d’exécution d’une requête sert à la gestion du buffer de données (les données sont chargées en mémoire dans ce buffer), 21% pour le « locking » (le fait de « fermer » un accès à une personne tant qu’une autre et en cours de traitement), … <br />
<br />
Cependant, de nouvelles problématiques non envisagées par les créateurs sont apparues. Par exemple lorsque l’on va chercher à avoir une information le plus rapidement possible, dans de très grands volumes de données, quitte à perdre en cohérence : l’exemple représentatif de ce problème est Google. Si l’on fait deux fois la même requête sur Google on n’est pas sûr d’avoir les mêmes informations. Cependant, cet outil est tout de même très performant car il nous permet d’avoir des milliers de réponses en moins d’une seconde.<br />
Le NoSQL englobe donc des systèmes de gestion de données tels que le système clé/valeur ou encore un système de table (comme les bases de données) mais sur lesquelles les jointures (entre deux tables) seront interdites.<br />
<br />
<br />
== Exemple de système NoSQL ==<br />
<br />
<br />
Etant donné que le NoSQL n’est pas normalisé et que les choix de développement d’une base de données non relationnelle sont au cas par cas, il existe de nombreux systèmes de données non relationnels. L’un des plus connu est MongoBD. MongoBD est un système de gestion de bases de données orientées documents, ne nécessitant pas de schéma prédéfini de données.<br />
<br />
Exemple de données MongoBD :<br />
[[File:ExempleMongo.png|thumb|Exemple de données MongoBD]]<br />
<br />
Liste des autres systèmes non relationnels existants :<br />
BigTable (google) / <br />
Dynamo (Amazon) / <br />
Projet Voldemort (LinkedIn) / <br />
Cassandra - HBase (Facebook)<br />
<br />
<br />
== Conclusion ==<br />
<br />
En considérant le théorème de Brewer (ou théorème CAP) qui stipule, qu’il est impossible d’avoir les trois caractéristiques suivantes en même temps dans une base de données :<br />
<br />
- Cohérence : tous les nœuds du système voient exactement les mêmes données au même moment.<br />
<br />
- Disponibilité : Garantit que toutes les requêtes reçoivent une réponse<br />
<br />
- Résistance au morcellement : aucune panne moins importante qu’une coupure du réseau ne doit empêcher le système de répondre correctement.<br />
<br />
<br />
on peut conclure qu’une base de données relationnelle favorise la cohérence (et peut en plus en fonction des cas être disponible ou résistante aux pannes) alors qu’une base de données non relationnelle va favoriser la disponibilité et la résistance au morcellement. Ce sont donc deux concepts fondamentalement différents.<br />
<br />
<br />
== Résumé ==<br />
<br />
<br />
Une base de données non relationnelle, comme son nom l’indique, désigne toute base qui n’est pas relationnelle. Cela signifie qu’elle n’est pas en première forme normale : toutes les entrées sont atomiques (pour une case de la table, une seule valeur est associée et non une liste). De nombreux systèmes ont vu le jour sur le principe des bases de données relationnelles (Oracle, SGBD … ). Cependant, ces systèmes ne correspondent plus au problème actuel comme notamment la recherche sur des bases de données extrêmement grosse en un minimum de temps quitte à sacrifier la cohérence (exemple : Google). Les systèmes non-relationnels se veulent plus simples et plus faciles d’utilisation (comme le XML) mais peuvent parfois devenir plus compliqués (comme les bases de données orientées objets) que les systèmes traditionnels.<br />
Les systèmes qui gèrent le non-relationnel sont appelés « systèmes NoSQL » (qu’il faut comprendre comme « Not ONLY SQL »). Le plus connu étant MongoBD, un système de gestion de bases de données orientées documents, ne nécessitant pas de schéma prédéfini de données. <br />
<br />
<br />
== Summary ==<br />
<br />
<br />
A non-relational database, as its name suggests, refers to any base that is not relational. This means that it is not in first normal form: all entries are atomic (for a box of the table, a single value is assigned and not a list). Many systems have been developed on the principle of relational databases (Oracle, DBMS ...). <br />
However, these systems do not correspond to the new problematics as including research on very large databases in a short time even sacrificing consistency (eg Google). <br />
Non-relational systems want to be more simple and easier to use (such as XML), but sometimes can become more complicated (such as object-oriented databases) than traditional systems.<br />
Systems that manage the non-relational are called "NoSQL systems" (to be understood as "Not ONLY SQL"). The most famous are MongoBD, a management system document-oriented databases, does not require predefined datas schema.<br />
<br />
<br />
== Bibliographie ==<br />
<br />
http://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_CAP<br />
<br />
http://en.wikipedia.org/wiki/NoSQL<br />
<br />
http://www.college-de-france.fr/media/serge-abiteboul/UPL5219443991792265458_Abiteboul21mars.pdf</div>Bischshttps://air.imag.fr/index.php?title=EA2012-NoSQL&diff=7234EA2012-NoSQL2012-12-24T12:12:19Z<p>Bischs: Created page with "= Introduction au monde du non-relationnel et du NoSQL. = == Le non relationnel == - Rappel sur le relationnel Avant d’expliquer ce qu’est le non-relationnel, un p…"</p>
<hr />
<div>= Introduction au monde du non-relationnel et du NoSQL. =<br />
<br />
<br />
<br />
== Le non relationnel ==<br />
<br />
<br />
- [[Rappel sur le relationnel]]<br />
<br />
Avant d’expliquer ce qu’est le non-relationnel, un petit rappel sur ce qu’on appelle « relationnel », et surtout les bases de données relationnelles s’impose. <br />
Une base de données est dite relationnelle lorsqu’elle est en « Première forme normale ». Pour cela elle doit satisfaire deux conditions « d’atomicité ». La première étant que tous les attributs de cette relation contiennent une valeur scalaire ; cette valeur ne peut pas être divisée en plusieurs sous-valeurs dépendant de la même clé primaire (colonne qui permet d’identifier une ligne de façon unique). La seconde condition stipule que les valeurs sont non répétitives ; le cas contraire consisterait à mettre une liste dans un seul attribut. Il existe aussi une troisième contrainte cependant moins importante qui demande à ce que les attributs soient constants dans le temps (utiliser par exemple la date de naissance plutôt que l'âge). <br />
<br />
Exemple de table relationnelle :<br />
<br />
- [[Le non-relationnel]]<br />
<br />
Lorsque l’on construit une base de données non-relationnelle, on va perdre la contrainte des valeurs non répétitives ; notre table ne sera alors plus atomique. On pourra donc mettre une liste de valeurs dans un attribut.<br />
<br />
Exemple de table relationnelle :<br />
<br />
Lorsque l’on décide d’implémenter une base de données non-relationnelle, il faut faire attention à se poser les bonnes questions. En effet, cela engendre plusieurs « détails » dont nous n’avons pas à nous soucier dans une base de données relationnelle. Cela concerne par exemple, la gestion des clés primaires : lorsque nous sommes en non-relationnel, la question à se poser est si celles-ci doivent obligatoirement être atomiques ou peuvent être des listes (de valeurs). Il faut savoir que si c’est une liste, la collection de données qu’elle pointe peut grandir de façon exponentielle et peut ainsi engendrer des problèmes de tailles. Ce cas n’est cependant pas impossible.<br />
Notons que les bases de données non-relationnelles ne sont pas formalisées (contrairement aux bases de données relationnelles) ; la réponse aux différentes questions dépend donc totalement du cas d’utilisation et du développeur.<br />
<br />
-[[Représentation]]<br />
<br />
La différence entre relationnel et non-relationnel peut être perçu de la manière suivante : une base de données relationnelle peut être représentée grâce à une table, alors que la non-relationnelle est représentée par un arbre avec des nœuds de taille variable (puisqu’un nœud représente une liste de valeurs).<br />
<br />
Exemple d’arbre représentant une base de données non-relationnelle :<br />
<br />
A noter qu’un arbre peut être implémenté en XML. Le format XML est un langage permettant de stoker des données de façon non-relationnelle. Donc, si vous avez fait du XML (par exemple du HTML) vous avez fait du non-relationnel.<br />
En faisant le lien Non-Relationnel -> XML, on voit très bien son avantage sur le relationnel : sa simplicité et sa souplesse. <br />
<br />
<br />
== Le NoSQL ==<br />
<br />
<br />
Le SQL est le langage utilisé pour faire des requêtes sur les bases de données relationnelles. (Exemple : Pour récupérer toutes les personnes dont l’âge est inférieur à 25 ans « SELECT * FROM personne WHERE age < 25 »).<br />
Etant donné que les bases de données non-relationnelles existent aussi, il a fallu décrire le concept de NoSQL qui gère ces bases-là. NoSQL désigne une catégorie de systèmes de gestion de bases de données dont les architectures des relations ont été remplacées/modifiées. Le terme NoSQL, qu’on pourrait interpréter comme « pas de SQL », désignerait plutôt, d’après sa première utilisation en 1998, « pas de relation ». Comme le stipule Shashank Tiwari dans son livre Professional NoSQL, « les auteurs de ce néologisme ont probablement voulu signifier non-relationnel, mais ont préféré le mot NoSQL parce qu’il sonne mieux ». Il faut noter que c’est un concept, il n’existe donc, pour le moment, aucune norme dans ce domaine.<br />
Qu’apporte le NoSQL par rapport au SQL ? Avant le NoSQL, de nombreuses personnes ont travaillé sur des normes et des outils que, maintenant, la plupart des informaticiens connaissent (Oracle, SGBD, … ). Ces systèmes sont très performants dans leur domaine d’application qui se veut extrêmement large puisque les créateurs ont voulu inclure tous les cas possibles. Pour certifier ces domaines d’application, des propriétés ont été mises en place. Ce sont les propriétés ACID : Atomicité (lorsque l’on fait une requête, elle est soit complétement exécutée, soit pas du tout), Cohérence (tous les nœuds du système voient exactement les mêmes données au même moment), Isolation (lorsque deux transactions A et B sont exécutées en même temps, les modifications effectuées par A ne sont ni visibles par B, ni modifiables par B tant que la transaction A n'est pas terminée et validée), Durable (une fois validé, l'état de la base de données doit être permanent, et aucun incident technique, comme par exemple un crash, ne doit pouvoir engendrer une annulation des opérations effectuées durant la transaction). Pour pouvoir satisfaire ces propriétés, les bases de données possèdent des outils (souvent inconnus de l’utilisateur). Cependant, ces outils ont un prix : le temps. Une étude d’Harizopoulos et AL08 a montré que 35% du temps d’exécution d’une requête sert à la gestion du buffer de données (les données sont chargées en mémoire dans ce buffer), 21% pour le « locking » (le fait de « fermer » un accès à une personne tant qu’une autre et en cours de traitement), … <br />
<br />
Cependant, de nouvelles problématiques non envisagées par les créateurs sont apparues. Par exemple lorsque l’on va chercher à avoir une information le plus rapidement possible, dans de très grands volumes de données, quitte à perdre en cohérence : l’exemple représentatif de ce problème est Google. Si l’on fait deux fois la même requête sur Google on n’est pas sûr d’avoir les mêmes informations. Cependant, cet outil est tout de même très performant car il nous permet d’avoir des milliers de réponses en moins d’une seconde.<br />
Le NoSQL englobe donc des systèmes de gestion de données tels que le système clé/valeur ou encore un système de table (comme les bases de données) mais sur lesquelles les jointures (entre deux tables) seront interdites.<br />
<br />
<br />
== Exemple de système NoSQL ==<br />
<br />
<br />
Etant donné que le NoSQL n’est pas normalisé et que les choix de développement d’une base de données non relationnelle sont au cas par cas, il existe de nombreux systèmes de données non relationnels. L’un des plus connu est MongoBD. MongoBD est un système de gestion de bases de données orientées documents, ne nécessitant pas de schéma prédéfini de données.<br />
<br />
Exemple de données MongoBD :<br />
<br />
Liste des autres systèmes non relationnels existants :<br />
BigTable (google) / <br />
Dynamo (Amazon) / <br />
Projet Voldemort (LinkedIn) / <br />
Cassandra - HBase (Facebook)<br />
<br />
<br />
== Conclusion ==<br />
<br />
En considérant le théorème de Brewer (ou théorème CAP) qui stipule, qu’il est impossible d’avoir les trois caractéristiques suivantes en même temps dans une base de données :<br />
<br />
- Cohérence : tous les nœuds du système voient exactement les mêmes données au même moment.<br />
<br />
- Disponibilité : Garantit que toutes les requêtes reçoivent une réponse<br />
<br />
- Résistance au morcellement : aucune panne moins importante qu’une coupure du réseau ne doit empêcher le système de répondre correctement.<br />
<br />
<br />
on peut conclure qu’une base de données relationnelle favorise la cohérence (et peut en plus en fonction des cas être disponible ou résistante aux pannes) alors qu’une base de données non relationnelle va favoriser la disponibilité et la résistance au morcellement. Ce sont donc deux concepts fondamentalement différents.<br />
<br />
<br />
== Résumé ==<br />
<br />
<br />
Une base de données non relationnelle, comme son nom l’indique, désigne toute base qui n’est pas relationnelle. Cela signifie qu’elle n’est pas en première forme normale : toutes les entrées sont atomiques (pour une case de la table, une seule valeur est associée et non une liste). De nombreux systèmes ont vu le jour sur le principe des bases de données relationnelles (Oracle, SGBD … ). Cependant, ces systèmes ne correspondent plus au problème actuel comme notamment la recherche sur des bases de données extrêmement grosse en un minimum de temps quitte à sacrifier la cohérence (exemple : Google). Les systèmes non-relationnels se veulent plus simples et plus faciles d’utilisation (comme le XML) mais peuvent parfois devenir plus compliqués (comme les bases de données orientées objets) que les systèmes traditionnels.<br />
Les systèmes qui gèrent le non-relationnel sont appelés « systèmes NoSQL » (qu’il faut comprendre comme « Not ONLY SQL »). Le plus connu étant MongoBD, un système de gestion de bases de données orientées documents, ne nécessitant pas de schéma prédéfini de données. <br />
<br />
<br />
== Summary ==<br />
<br />
<br />
A non-relational database, as its name suggests, refers to any base that is not relational. This means that it is not in first normal form: all entries are atomic (for a box of the table, a single value is assigned and not a list). Many systems have been developed on the principle of relational databases (Oracle, DBMS ...). <br />
However, these systems do not correspond to the new problematics as including research on very large databases in a short time even sacrificing consistency (eg Google). <br />
Non-relational systems want to be more simple and easier to use (such as XML), but sometimes can become more complicated (such as object-oriented databases) than traditional systems.<br />
Systems that manage the non-relational are called "NoSQL systems" (to be understood as "Not ONLY SQL"). The most famous are MongoBD, a management system document-oriented databases, does not require predefined datas schema.<br />
<br />
<br />
== Bibliographie ==<br />
<br />
http://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_CAP<br />
<br />
http://en.wikipedia.org/wiki/NoSQL<br />
<br />
http://www.college-de-france.fr/media/serge-abiteboul/UPL5219443991792265458_Abiteboul21mars.pdf</div>Bischshttps://air.imag.fr/index.php?title=EA2012-Musique&diff=7232EA2012-Musique2012-12-24T10:29:42Z<p>Bischs: </p>
<hr />
<div>== Résumé ==<br />
<br />
Le parcours du son de l’air à l’ordinateur ne se fait pas facilement. Il faut qu’il passe par de multiples interfaces pour s’assurer, d ‘une part, de la bonne restitution de celui ci, mais d’autre part, le stockage sur ordinateur de sorte que la qualité du son reste correct. <br />
C’est une fois que le son est sur l’ordinateur que l’on peut « jouer » avec celui ci en faisant de la musique « dîtes » électronique. Cette musique consiste a appliquer des filtres sur des bandes son déjà existante pour avoir l’illusion d’un effet au moment de la restitution du son.<br />
Il est maintenant facile de pouvoir modifier un son. Il existe de nombreux logiciels libres ou payants permettant ceci. La plupart des filtres sont intégré au logiciel mais il est possible d’en créer des nouveaux plus adapté à ce que vous compter faire. <br />
<br />
<br />
== Abstract ==<br />
<br />
The sound transmission between the air and the computer doesn’t work easily. It must pass through multiple interfaces to ensure, on the one hand, good listenning of this one, but on the other hand, the storage on computer which the sound quality must be correct.<br />
This is when the sound is on the computer that you can "play" with this one by making electronical music. The way to make electronical music is to put filters on existing soundtracks for the illusion of an effect at sound reproduction.<br />
It’s now easy to modify the sound. There are many free or pay software which make this. Most filters are integrated in the software but it’s possible to create new ones more suited to what you expect to make.<br />
<br />
<br />
== Présentation ==<br />
<br />
Lien du diaporama : [http://simon.bisch.free.fr/autres/son/pres_son.pdf diapo] (à venir ...)<br />
<br />
'''Le son'''<br />
<br />
Tout d’abord, avant même de commencer de musique électronique, il faut savoir ce qu’est un son et par surcroît ce qu’est une musique. Comme on peut le voir sur l’image, le son est une sinusoïdale à une certaine fréquence. Par exemple, un « La » (la référence en matière de musique) possède une fréquence de 442Hz. La tranche de fréquence audible pour l’oreille humaine est comprise entre 20 et 20 000 Hz. Passer cette limite on trouve les infrason (<20Hz) et les ultrason (>20 000Hz). Cette tranche de fréquence audible varie selon les personnes et, bien sur, varie avec l’âge de celle ci. Certaines personnes peuvent entendre par exemple un ultrason venant d’une télé en cathodique.<br />
<br />
Mais dans la « vraie » vie, on peut voir que le son n’est jamais une pure sinusoïdale. En effet, si c’était le cas, le son d’un piano et le son d’un saxophone serait le même. C’est pour cela que l’on peut constater des petites perturbations sur le signal. C’est sur celle ci que l’on peut dissocier les différents sont et c’est sur ces perturbations que les ingénieurs du son vont jouer pour pouvoir modifier le son. Par exemple, ils vont pouvoir modifier un son de guitare pour que le public l’entende comme un son de saxophone.<br />
<br />
Le rendu du son se fait par plusieurs sortes d’enceintes. On peut bien sur faire passer toutes les fréquences dans une seule enceinte mais la qualité du son s’en trouvera amoindri et certains même ne seront pas retransmis. Principalement nous trouvons trois sortes d’enceinte de diamètre : Le « tweeter » qui possède le plus petit diamètre et qui sert à rendre les aigües (de 2000 à 20 000 Hz), Le « médium » un peu plus gros qui comme son nom l’indique va plutôt les fréquences médium (800 à 3000Hz) et le « boomer » avec le plus gros diamètre qui va retransmettre les plus basses fréquences (de 20 à 800Hz). Les caractéristiques diffèrent bien sur selon le modèle et la marque utilisés. Il existe à l’heure d’aujourd’hui de multiple sorte d’enceinte mais on conserve cette séparation dans la plupart d’entre elles.<br />
<br />
En ce qui concerne la prise de son, elle se fait par l’intermédiaire de microphone. Idem que pour les Speaker, il existe de nombreuse sorte de microphone. Celui le plus utilisé est le microphone dynamique que l’on peut voir sur le diaporama. Les ondes sonores (1) arrivent sur la membrane (2) ce qui la fait vibrer et entraine avec elle la bobine électrique (3). Grâce a l’électro aimant (4) a l’intérieur de la bobine, celle ci va se charger en courant induit qui sera la métamorphose du son en un courant électrique. Bien sur, plus la qualité des composants est élevé, plus la prise du son du microphone est précise.<br />
<br />
'''L’enregistrement numérique'''<br />
<br />
Je vais vous parler a présent de l’enregistrement numérique. Jusqu'à présent nous avons parlé du son dans l’air, puis de l’enregistrement par le microphone. Maintenant nous allons voir comment le signal se stock sur un ordinateur. <br />
<br />
Le signal du microphone passe donc dans la carte son qui va la transformer en signal échantillonner. Mais pourquoi échantillonner ? Il faut savoir qu’un ordinateur ne comprend que les 0 et les 1. Il ne comprend pas les signaux analogiques. Nous sommes donc obligé d’échantillonner le signal du son pour pouvoir le stocker et faire des manipulations dessus. Le signal va alors être divisé en plusieurs petits bouts dont l’amplitude va être plus ou moins forte. En faisant ceci, nous arrivons au signal échantillonné comme on peut le voir sur la diapositive. Bien sur plus il y a d’échantillons, plus le son sera de bonne qualité.<br />
<br />
Le signal d’un son est représenté par 3 paramètres dans l’ordinateur. Le premier est la fréquence d’échantillonnage qui détermine le nombre d’échantillon du son et donc de sa qualité et l’espace disque nécessaire au stockage de celui ci. Par exemple, pour la qualité d’un CD il faut une fréquence d’échantillonnage de 44 100Hz, de 22 000Hz pour une qualité radio et 8000Hz pour une qualité d’une conversation téléphonique. Le second paramètre est le nombre de bit nécessaire pour le codage d’un échantillon et enfin le nombre de voie pour la diffusion de la musique (Mono, Stéréo, 5.1, 7.1 …).<br />
<br />
L’enregistrement du son sur un ordinateur se fait par l’intermédiaire d’un logiciel d’acquisition. Il en existe beaucoup et de toute sorte. Le premier basic est le microphone de Windows mais il n’apporte guère de fonctionnalités. Nous pouvons trouver dans les logiciels gratuits Audacity qui est le plus connu et qui tourne sur toutes les plates formes. Nous pouvons trouver Cubase pour windows dans les Logiciel privé ainsi que Lorgic Pro le logiciel d’acquisition de Machintosh mais également SoundBooth de la suite d’Adobe qui tourne du coup sur toutes les plates formes. Il en existe bien sur une multitude d’autre logiciel gratuit ou payant. Grâce à ceux ci, nous sommes en mesure de stocker les musiques sur ordinateur ainsi que faire des modification sur celle ci. En effet ces logiciels permettent de « géré » la musique. Par exemple lors d’un enregistrement, un musicien a fait une faute note une fois dans un morceau de 3 min. Alors l ‘ingénieur du son va demander au musicien de rejouer juste cette partie puis il va remplacer l’ancienne partie avec la nouvelle. Nous pouvons aussi ajouté des effets après avoir enregistré.<br />
<br />
'''Effets Audio'''<br />
<br />
Tout d’abord, commençons par le commencement, Qu’est ce qu’un effet audio ? En fait pour créer un effet audio nous allons tout simplement faire du traitement du signal et tester différents filtres pour entendre ce que cela fait. Ainsi la musique électronique en vient a se résumé à une seule chose : le traitement d’un signal. Les effets audio ne sont en fait que des filtres appliqués sur des sons de toutes sortes. Par exemple un chanteur ne va pas aimer sa voie sur une chanson, il peut appliquer un filtre qui nous fera entendre sa voix comme à travers un poste radio. Il existe bien sur de nombreux filtres prédéfinis, comme on peut le voir sur le diaporama : La « distortion », le « delay », l’ « echo », la « reverbe », la « modulation », le « pitch », la « wah-wah » et bien d’autres encore. Je ne vais pas expliquer le fonctionnement de l’ensemble de ceux ci mais je vais vous en détailler quelques uns.<br />
<br />
''Distorsion''<br />
<br />
L’effet le plus connu dans la musique est l’effet distorsion. Il va rendre le son moins « lisse ». Il se concoit a partir de distorsion sur le signal porteur. On peut souvent l’entendre dans le groupe de musique rock et hard rock mais nous pouvons aussi appliqué cet effet sur un enregistrement sur l’ordinateur.<br />
<br />
''Delay''<br />
<br />
L’effet « delay » est un effet va répéter la note obtenu plusieurs fois avec une force diminué a chaque fois. Il consiste a copié la note et a la coller peu après en diminuant son amplitude. Cet effet est très utilisé dans les arpèges de guitare electrique, cela donne l’impression d’une multitude de note alors que le musicien n’en a joué que quelques unes.<br />
<br />
''Wah-Wah''<br />
<br />
L’effet Wah-wah a surtout été célèbre lors de l’avènement de Jimi Hendrix, un grand guitariste, avec sa chanson « Voodoo Child ». Il consiste à étouffer le son lorsque l’utilisateur appuie sur la pédale et le laisse filer lorsque l’utilisateur relâche la pédale. Au niveau technique c’est un simple filtre qui enlève les sons en partant des hautes fréquences en fonction que l’utilisateur appuie sur la pédale. Bien que cet effet nécessite une pédale, il est possible de l’appliquer sur l’ordinateur.</div>Bischshttps://air.imag.fr/index.php?title=EA2012-Musique&diff=6743EA2012-Musique2012-11-26T14:15:18Z<p>Bischs: </p>
<hr />
<div>== Résumé ==<br />
<br />
Le parcours du son de l’air à l’ordinateur ne se fait pas facilement. Il faut qu’il passe par de multiples interfaces pour s’assurer, d ‘une part, de la bonne restitution de celui ci, mais d’autre part, le stockage sur ordinateur de sorte que la qualité du son reste correct. <br />
C’est une fois que le son est sur l’ordinateur que l’on peut « jouer » avec celui ci en faisant de la musique « dîtes » électronique. Cette musique consiste a appliquer des filtres sur des bandes son déjà existante pour avoir l’illusion d’un effet au moment de la restitution du son.<br />
Il est maintenant facile de pouvoir modifier un son. Il existe de nombreux logiciels libres ou payants permettant ceci. La plupart des filtres sont intégré au logiciel mais il est possible d’en créer des nouveaux plus adapté à ce que vous compter faire. <br />
<br />
<br />
== Abstract ==<br />
<br />
The sound transmission between the air and the computer doesn’t work easily. It must pass through multiple interfaces to ensure, on the one hand, good listenning of this one, but on the other hand, the storage on computer which the sound quality must be correct.<br />
This is when the sound is on the computer that you can "play" with this one by making electronical music. The way to make electronical music is to put filters on existing soundtracks for the illusion of an effect at sound reproduction.<br />
It’s now easy to modify the sound. There are many free or pay software which make this. Most filters are integrated in the software but it’s possible to create new ones more suited to what you expect to make.<br />
<br />
<br />
== Présentation ==<br />
<br />
Lien du diaporama : [http://simon.bisch.free.fr/pres_son.pdf diapo] (à venir ...)<br />
<br />
'''Le son'''<br />
<br />
Tout d’abord, avant même de commencer de musique électronique, il faut savoir ce qu’est un son et par surcroît ce qu’est une musique. Comme on peut le voir sur l’image, le son est une sinusoïdale à une certaine fréquence. Par exemple, un « La » (la référence en matière de musique) possède une fréquence de 442Hz. La tranche de fréquence audible pour l’oreille humaine est comprise entre 20 et 20 000 Hz. Passer cette limite on trouve les infrason (<20Hz) et les ultrason (>20 000Hz). Cette tranche de fréquence audible varie selon les personnes et, bien sur, varie avec l’âge de celle ci. Certaines personnes peuvent entendre par exemple un ultrason venant d’une télé en cathodique.<br />
<br />
Mais dans la « vraie » vie, on peut voir que le son n’est jamais une pure sinusoïdale. En effet, si c’était le cas, le son d’un piano et le son d’un saxophone serait le même. C’est pour cela que l’on peut constater des petites perturbations sur le signal. C’est sur celle ci que l’on peut dissocier les différents sont et c’est sur ces perturbations que les ingénieurs du son vont jouer pour pouvoir modifier le son. Par exemple, ils vont pouvoir modifier un son de guitare pour que le public l’entende comme un son de saxophone.<br />
<br />
Le rendu du son se fait par plusieurs sortes d’enceintes. On peut bien sur faire passer toutes les fréquences dans une seule enceinte mais la qualité du son s’en trouvera amoindri et certains même ne seront pas retransmis. Principalement nous trouvons trois sortes d’enceinte de diamètre : Le « tweeter » qui possède le plus petit diamètre et qui sert à rendre les aigües (de 2000 à 20 000 Hz), Le « médium » un peu plus gros qui comme son nom l’indique va plutôt les fréquences médium (800 à 3000Hz) et le « boomer » avec le plus gros diamètre qui va retransmettre les plus basses fréquences (de 20 à 800Hz). Les caractéristiques diffèrent bien sur selon le modèle et la marque utilisés. Il existe à l’heure d’aujourd’hui de multiple sorte d’enceinte mais on conserve cette séparation dans la plupart d’entre elles.<br />
<br />
En ce qui concerne la prise de son, elle se fait par l’intermédiaire de microphone. Idem que pour les Speaker, il existe de nombreuse sorte de microphone. Celui le plus utilisé est le microphone dynamique que l’on peut voir sur le diaporama. Les ondes sonores (1) arrivent sur la membrane (2) ce qui la fait vibrer et entraine avec elle la bobine électrique (3). Grâce a l’électro aimant (4) a l’intérieur de la bobine, celle ci va se charger en courant induit qui sera la métamorphose du son en un courant électrique. Bien sur, plus la qualité des composants est élevé, plus la prise du son du microphone est précise.<br />
<br />
'''L’enregistrement numérique'''<br />
<br />
Je vais vous parler a présent de l’enregistrement numérique. Jusqu'à présent nous avons parlé du son dans l’air, puis de l’enregistrement par le microphone. Maintenant nous allons voir comment le signal se stock sur un ordinateur. <br />
<br />
Le signal du microphone passe donc dans la carte son qui va la transformer en signal échantillonner. Mais pourquoi échantillonner ? Il faut savoir qu’un ordinateur ne comprend que les 0 et les 1. Il ne comprend pas les signaux analogiques. Nous sommes donc obligé d’échantillonner le signal du son pour pouvoir le stocker et faire des manipulations dessus. Le signal va alors être divisé en plusieurs petits bouts dont l’amplitude va être plus ou moins forte. En faisant ceci, nous arrivons au signal échantillonné comme on peut le voir sur la diapositive. Bien sur plus il y a d’échantillons, plus le son sera de bonne qualité.<br />
<br />
Le signal d’un son est représenté par 3 paramètres dans l’ordinateur. Le premier est la fréquence d’échantillonnage qui détermine le nombre d’échantillon du son et donc de sa qualité et l’espace disque nécessaire au stockage de celui ci. Par exemple, pour la qualité d’un CD il faut une fréquence d’échantillonnage de 44 100Hz, de 22 000Hz pour une qualité radio et 8000Hz pour une qualité d’une conversation téléphonique. Le second paramètre est le nombre de bit nécessaire pour le codage d’un échantillon et enfin le nombre de voie pour la diffusion de la musique (Mono, Stéréo, 5.1, 7.1 …).<br />
<br />
L’enregistrement du son sur un ordinateur se fait par l’intermédiaire d’un logiciel d’acquisition. Il en existe beaucoup et de toute sorte. Le premier basic est le microphone de Windows mais il n’apporte guère de fonctionnalités. Nous pouvons trouver dans les logiciels gratuits Audacity qui est le plus connu et qui tourne sur toutes les plates formes. Nous pouvons trouver Cubase pour windows dans les Logiciel privé ainsi que Lorgic Pro le logiciel d’acquisition de Machintosh mais également SoundBooth de la suite d’Adobe qui tourne du coup sur toutes les plates formes. Il en existe bien sur une multitude d’autre logiciel gratuit ou payant. Grâce à ceux ci, nous sommes en mesure de stocker les musiques sur ordinateur ainsi que faire des modification sur celle ci. En effet ces logiciels permettent de « géré » la musique. Par exemple lors d’un enregistrement, un musicien a fait une faute note une fois dans un morceau de 3 min. Alors l ‘ingénieur du son va demander au musicien de rejouer juste cette partie puis il va remplacer l’ancienne partie avec la nouvelle. Nous pouvons aussi ajouté des effets après avoir enregistré.<br />
<br />
'''Effets Audio'''<br />
<br />
Tout d’abord, commençons par le commencement, Qu’est ce qu’un effet audio ? En fait pour créer un effet audio nous allons tout simplement faire du traitement du signal et tester différents filtres pour entendre ce que cela fait. Ainsi la musique électronique en vient a se résumé à une seule chose : le traitement d’un signal. Les effets audio ne sont en fait que des filtres appliqués sur des sons de toutes sortes. Par exemple un chanteur ne va pas aimer sa voie sur une chanson, il peut appliquer un filtre qui nous fera entendre sa voix comme à travers un poste radio. Il existe bien sur de nombreux filtres prédéfinis, comme on peut le voir sur le diaporama : La « distortion », le « delay », l’ « echo », la « reverbe », la « modulation », le « pitch », la « wah-wah » et bien d’autres encore. Je ne vais pas expliquer le fonctionnement de l’ensemble de ceux ci mais je vais vous en détailler quelques uns.<br />
<br />
''Distorsion''<br />
<br />
L’effet le plus connu dans la musique est l’effet distorsion. Il va rendre le son moins « lisse ». Il se concoit a partir de distorsion sur le signal porteur. On peut souvent l’entendre dans le groupe de musique rock et hard rock mais nous pouvons aussi appliqué cet effet sur un enregistrement sur l’ordinateur.<br />
<br />
''Delay''<br />
<br />
L’effet « delay » est un effet va répéter la note obtenu plusieurs fois avec une force diminué a chaque fois. Il consiste a copié la note et a la coller peu après en diminuant son amplitude. Cet effet est très utilisé dans les arpèges de guitare electrique, cela donne l’impression d’une multitude de note alors que le musicien n’en a joué que quelques unes.<br />
<br />
''Wah-Wah''<br />
<br />
L’effet Wah-wah a surtout été célèbre lors de l’avènement de Jimi Hendrix, un grand guitariste, avec sa chanson « Voodoo Child ». Il consiste à étouffer le son lorsque l’utilisateur appuie sur la pédale et le laisse filer lorsque l’utilisateur relâche la pédale. Au niveau technique c’est un simple filtre qui enlève les sons en partant des hautes fréquences en fonction que l’utilisateur appuie sur la pédale. Bien que cet effet nécessite une pédale, il est possible de l’appliquer sur l’ordinateur.</div>Bischshttps://air.imag.fr/index.php?title=EA2012-Musique&diff=6742EA2012-Musique2012-11-26T14:09:37Z<p>Bischs: </p>
<hr />
<div>== Résumé ==<br />
<br />
Le parcours du son de l’air à l’ordinateur ne se fait pas facilement. Il faut qu’il passe par de multiples interfaces pour s’assurer, d ‘une part, de la bonne restitution de celui ci, mais d’autre part, le stockage sur ordinateur de sorte que la qualité du son reste correct. <br />
C’est une fois que le son est sur l’ordinateur que l’on peut « jouer » avec celui ci en faisant de la musique « dîtes » électronique. Cette musique consiste a appliquer des filtres sur des bandes son déjà existante pour avoir l’illusion d’un effet au moment de la restitution du son.<br />
Il est maintenant facile de pouvoir modifier un son. Il existe de nombreux logiciels libres ou payants permettant ceci. La plupart des filtres sont intégré au logiciel mais il est possible d’en créer des nouveaux plus adapté à ce que vous compter faire. <br />
<br />
<br />
== Abstract ==<br />
<br />
The sound transmission between the air and the computer doesn’t work easily. It must pass through multiple interfaces to ensure, on the one hand, good listenning of this one, but on the other hand, the storage on computer which the sound quality must be correct.<br />
This is when the sound is on the computer that you can "play" with this one by making electronical music. The way to make electronical music is to put filters on existing soundtracks for the illusion of an effect at sound reproduction.<br />
It’s now easy to modify the sound. There are many free or pay software which make this. Most filters are integrated in the software but it’s possible to create new ones more suited to what you expect to make.<br />
<br />
<br />
== Présentation ==<br />
<br />
Lien du diaporama : [http://simon.bisch.free.fr/pres_son.pdf diapo]<br />
<br />
'''Le son'''<br />
<br />
Tout d’abord, avant même de commencer de musique électronique, il faut savoir ce qu’est un son et par surcroît ce qu’est une musique. Comme on peut le voir sur l’image, le son est une sinusoïdale à une certaine fréquence. Par exemple, un « La » (la référence en matière de musique) possède une fréquence de 442Hz. La tranche de fréquence audible pour l’oreille humaine est comprise entre 20 et 20 000 Hz. Passer cette limite on trouve les infrason (<20Hz) et les ultrason (>20 000Hz). Cette tranche de fréquence audible varie selon les personnes et, bien sur, varie avec l’âge de celle ci. Certaines personnes peuvent entendre par exemple un ultrason venant d’une télé en cathodique.<br />
<br />
Mais dans la « vraie » vie, on peut voir que le son n’est jamais une pure sinusoïdale. En effet, si c’était le cas, le son d’un piano et le son d’un saxophone serait le même. C’est pour cela que l’on peut constater des petites perturbations sur le signal. C’est sur celle ci que l’on peut dissocier les différents sont et c’est sur ces perturbations que les ingénieurs du son vont jouer pour pouvoir modifier le son. Par exemple, ils vont pouvoir modifier un son de guitare pour que le public l’entende comme un son de saxophone.<br />
<br />
Le rendu du son se fait par plusieurs sortes d’enceintes. On peut bien sur faire passer toutes les fréquences dans une seule enceinte mais la qualité du son s’en trouvera amoindri et certains même ne seront pas retransmis. Principalement nous trouvons trois sortes d’enceinte de diamètre : Le « tweeter » qui possède le plus petit diamètre et qui sert à rendre les aigües (de 2000 à 20 000 Hz), Le « médium » un peu plus gros qui comme son nom l’indique va plutôt les fréquences médium (800 à 3000Hz) et le « boomer » avec le plus gros diamètre qui va retransmettre les plus basses fréquences (de 20 à 800Hz). Les caractéristiques diffèrent bien sur selon le modèle et la marque utilisés. Il existe à l’heure d’aujourd’hui de multiple sorte d’enceinte mais on conserve cette séparation dans la plupart d’entre elles.<br />
<br />
En ce qui concerne la prise de son, elle se fait par l’intermédiaire de microphone. Idem que pour les Speaker, il existe de nombreuse sorte de microphone. Celui le plus utilisé est le microphone dynamique que l’on peut voir sur le diaporama. Les ondes sonores (1) arrivent sur la membrane (2) ce qui la fait vibrer et entraine avec elle la bobine électrique (3). Grâce a l’électro aimant (4) a l’intérieur de la bobine, celle ci va se charger en courant induit qui sera la métamorphose du son en un courant électrique. Bien sur, plus la qualité des composants est élevé, plus la prise du son du microphone est précise.<br />
<br />
'''L’enregistrement numérique'''<br />
<br />
Je vais vous parler a présent de l’enregistrement numérique. Jusqu'à présent nous avons parlé du son dans l’air, puis de l’enregistrement par le microphone. Maintenant nous allons voir comment le signal se stock sur un ordinateur. <br />
<br />
Le signal du microphone passe donc dans la carte son qui va la transformer en signal échantillonner. Mais pourquoi échantillonner ? Il faut savoir qu’un ordinateur ne comprend que les 0 et les 1. Il ne comprend pas les signaux analogiques. Nous sommes donc obligé d’échantillonner le signal du son pour pouvoir le stocker et faire des manipulations dessus. Le signal va alors être divisé en plusieurs petits bouts dont l’amplitude va être plus ou moins forte. En faisant ceci, nous arrivons au signal échantillonné comme on peut le voir sur la diapositive. Bien sur plus il y a d’échantillons, plus le son sera de bonne qualité.<br />
<br />
Le signal d’un son est représenté par 3 paramètres dans l’ordinateur. Le premier est la fréquence d’échantillonnage qui détermine le nombre d’échantillon du son et donc de sa qualité et l’espace disque nécessaire au stockage de celui ci. Par exemple, pour la qualité d’un CD il faut une fréquence d’échantillonnage de 44 100Hz, de 22 000Hz pour une qualité radio et 8000Hz pour une qualité d’une conversation téléphonique. Le second paramètre est le nombre de bit nécessaire pour le codage d’un échantillon et enfin le nombre de voie pour la diffusion de la musique (Mono, Stéréo, 5.1, 7.1 …).<br />
<br />
L’enregistrement du son sur un ordinateur se fait par l’intermédiaire d’un logiciel d’acquisition. Il en existe beaucoup et de toute sorte. Le premier basic est le microphone de Windows mais il n’apporte guère de fonctionnalités. Nous pouvons trouver dans les logiciels gratuits Audacity qui est le plus connu et qui tourne sur toutes les plates formes. Nous pouvons trouver Cubase pour windows dans les Logiciel privé ainsi que Lorgic Pro le logiciel d’acquisition de Machintosh mais également SoundBooth de la suite d’Adobe qui tourne du coup sur toutes les plates formes. Il en existe bien sur une multitude d’autre logiciel gratuit ou payant. Grâce à ceux ci, nous sommes en mesure de stocker les musiques sur ordinateur ainsi que faire des modification sur celle ci. En effet ces logiciels permettent de « géré » la musique. Par exemple lors d’un enregistrement, un musicien a fait une faute note une fois dans un morceau de 3 min. Alors l ‘ingénieur du son va demander au musicien de rejouer juste cette partie puis il va remplacer l’ancienne partie avec la nouvelle. Nous pouvons aussi ajouté des effets après avoir enregistré.<br />
<br />
'''Effets Audio'''<br />
<br />
Tout d’abord, commençons par le commencement, Qu’est ce qu’un effet audio ? En fait pour créer un effet audio nous allons tout simplement faire du traitement du signal et tester différents filtres pour entendre ce que cela fait. Ainsi la musique électronique en vient a se résumé à une seule chose : le traitement d’un signal. Les effets audio ne sont en fait que des filtres appliqués sur des sons de toutes sortes. Par exemple un chanteur ne va pas aimer sa voie sur une chanson, il peut appliquer un filtre qui nous fera entendre sa voix comme à travers un poste radio. Il existe bien sur de nombreux filtres prédéfinis, comme on peut le voir sur le diaporama : La « distortion », le « delay », l’ « echo », la « reverbe », la « modulation », le « pitch », la « wah-wah » et bien d’autres encore. Je ne vais pas expliquer le fonctionnement de l’ensemble de ceux ci mais je vais vous en détailler quelques uns.<br />
<br />
''Distorsion''<br />
<br />
L’effet le plus connu dans la musique est l’effet distorsion. Il va rendre le son moins « lisse ». Il se concoit a partir de distorsion sur le signal porteur. On peut souvent l’entendre dans le groupe de musique rock et hard rock mais nous pouvons aussi appliqué cet effet sur un enregistrement sur l’ordinateur.<br />
<br />
''Delay''<br />
<br />
L’effet « delay » est un effet va répéter la note obtenu plusieurs fois avec une force diminué a chaque fois. Il consiste a copié la note et a la coller peu après en diminuant son amplitude. Cet effet est très utilisé dans les arpèges de guitare electrique, cela donne l’impression d’une multitude de note alors que le musicien n’en a joué que quelques unes.<br />
<br />
''Wah-Wah''<br />
<br />
L’effet Wah-wah a surtout été célèbre lors de l’avènement de Jimi Hendrix, un grand guitariste, avec sa chanson « Voodoo Child ». Il consiste à étouffer le son lorsque l’utilisateur appuie sur la pédale et le laisse filer lorsque l’utilisateur relâche la pédale. Au niveau technique c’est un simple filtre qui enlève les sons en partant des hautes fréquences en fonction que l’utilisateur appuie sur la pédale. Bien que cet effet nécessite une pédale, il est possible de l’appliquer sur l’ordinateur.</div>Bischshttps://air.imag.fr/index.php?title=EA2012-Musique&diff=6741EA2012-Musique2012-11-26T14:04:52Z<p>Bischs: </p>
<hr />
<div>== Résumé ==<br />
<br />
Le parcours du son de l’air à l’ordinateur ne se fait pas facilement. Il faut qu’il passe par de multiples interfaces pour s’assurer, d ‘une part, de la bonne restitution de celui ci, mais d’autre part, le stockage sur ordinateur de sorte que la qualité du son reste correct. <br />
C’est une fois que le son est sur l’ordinateur que l’on peut « jouer » avec celui ci en faisant de la musique « dîtes » électronique. Cette musique consiste a appliquer des filtres sur des bandes son déjà existante pour avoir l’illusion d’un effet au moment de la restitution du son.<br />
Il est maintenant facile de pouvoir modifier un son. Il existe de nombreux logiciels libres ou payants permettant ceci. La plupart des filtres sont intégré au logiciel mais il est possible d’en créer des nouveaux plus adapté à ce que vous compter faire. <br />
<br />
<br />
== Abstract ==<br />
<br />
The sound transmission between the air and the computer doesn’t work easily. It must pass through multiple interfaces to ensure, on the one hand, good listenning of this one, but on the other hand, the storage on computer which the sound quality must be correct.<br />
This is when the sound is on the computer that you can "play" with this one by making electronical music. The way to make electronical music is to put filters on existing soundtracks for the illusion of an effect at sound reproduction.<br />
It’s now easy to modify the sound. There are many free or pay software which make this. Most filters are integrated in the software but it’s possible to create new ones more suited to what you expect to make.<br />
<br />
<br />
== Présentation ==<br />
<br />
'''Le son'''<br />
<br />
Tout d’abord, avant même de commencer de musique électronique, il faut savoir ce qu’est un son et par surcroît ce qu’est une musique. Comme on peut le voir sur l’image, le son est une sinusoïdale à une certaine fréquence. Par exemple, un « La » (la référence en matière de musique) possède une fréquence de 442Hz. La tranche de fréquence audible pour l’oreille humaine est comprise entre 20 et 20 000 Hz. Passer cette limite on trouve les infrason (<20Hz) et les ultrason (>20 000Hz). Cette tranche de fréquence audible varie selon les personnes et, bien sur, varie avec l’âge de celle ci. Certaines personnes peuvent entendre par exemple un ultrason venant d’une télé en cathodique.<br />
<br />
Mais dans la « vraie » vie, on peut voir que le son n’est jamais une pure sinusoïdale. En effet, si c’était le cas, le son d’un piano et le son d’un saxophone serait le même. C’est pour cela que l’on peut constater des petites perturbations sur le signal. C’est sur celle ci que l’on peut dissocier les différents sont et c’est sur ces perturbations que les ingénieurs du son vont jouer pour pouvoir modifier le son. Par exemple, ils vont pouvoir modifier un son de guitare pour que le public l’entende comme un son de saxophone.<br />
<br />
Le rendu du son se fait par plusieurs sortes d’enceintes. On peut bien sur faire passer toutes les fréquences dans une seule enceinte mais la qualité du son s’en trouvera amoindri et certains même ne seront pas retransmis. Principalement nous trouvons trois sortes d’enceinte de diamètre : Le « tweeter » qui possède le plus petit diamètre et qui sert à rendre les aigües (de 2000 à 20 000 Hz), Le « médium » un peu plus gros qui comme son nom l’indique va plutôt les fréquences médium (800 à 3000Hz) et le « boomer » avec le plus gros diamètre qui va retransmettre les plus basses fréquences (de 20 à 800Hz). Les caractéristiques diffèrent bien sur selon le modèle et la marque utilisés. Il existe à l’heure d’aujourd’hui de multiple sorte d’enceinte mais on conserve cette séparation dans la plupart d’entre elles.<br />
<br />
En ce qui concerne la prise de son, elle se fait par l’intermédiaire de microphone. Idem que pour les Speaker, il existe de nombreuse sorte de microphone. Celui le plus utilisé est le microphone dynamique que l’on peut voir sur le diaporama. Les ondes sonores (1) arrivent sur la membrane (2) ce qui la fait vibrer et entraine avec elle la bobine électrique (3). Grâce a l’électro aimant (4) a l’intérieur de la bobine, celle ci va se charger en courant induit qui sera la métamorphose du son en un courant électrique. Bien sur, plus la qualité des composants est élevé, plus la prise du son du microphone est précise.<br />
<br />
'''L’enregistrement numérique'''<br />
<br />
Je vais vous parler a présent de l’enregistrement numérique. Jusqu'à présent nous avons parlé du son dans l’air, puis de l’enregistrement par le microphone. Maintenant nous allons voir comment le signal se stock sur un ordinateur. <br />
<br />
Le signal du microphone passe donc dans la carte son qui va la transformer en signal échantillonner. Mais pourquoi échantillonner ? Il faut savoir qu’un ordinateur ne comprend que les 0 et les 1. Il ne comprend pas les signaux analogiques. Nous sommes donc obligé d’échantillonner le signal du son pour pouvoir le stocker et faire des manipulations dessus. Le signal va alors être divisé en plusieurs petits bouts dont l’amplitude va être plus ou moins forte. En faisant ceci, nous arrivons au signal échantillonné comme on peut le voir sur la diapositive. Bien sur plus il y a d’échantillons, plus le son sera de bonne qualité.<br />
<br />
Le signal d’un son est représenté par 3 paramètres dans l’ordinateur. Le premier est la fréquence d’échantillonnage qui détermine le nombre d’échantillon du son et donc de sa qualité et l’espace disque nécessaire au stockage de celui ci. Par exemple, pour la qualité d’un CD il faut une fréquence d’échantillonnage de 44 100Hz, de 22 000Hz pour une qualité radio et 8000Hz pour une qualité d’une conversation téléphonique. Le second paramètre est le nombre de bit nécessaire pour le codage d’un échantillon et enfin le nombre de voie pour la diffusion de la musique (Mono, Stéréo, 5.1, 7.1 …).<br />
<br />
L’enregistrement du son sur un ordinateur se fait par l’intermédiaire d’un logiciel d’acquisition. Il en existe beaucoup et de toute sorte. Le premier basic est le microphone de Windows mais il n’apporte guère de fonctionnalités. Nous pouvons trouver dans les logiciels gratuits Audacity qui est le plus connu et qui tourne sur toutes les plates formes. Nous pouvons trouver Cubase pour windows dans les Logiciel privé ainsi que Lorgic Pro le logiciel d’acquisition de Machintosh mais également SoundBooth de la suite d’Adobe qui tourne du coup sur toutes les plates formes. Il en existe bien sur une multitude d’autre logiciel gratuit ou payant. Grâce à ceux ci, nous sommes en mesure de stocker les musiques sur ordinateur ainsi que faire des modification sur celle ci. En effet ces logiciels permettent de « géré » la musique. Par exemple lors d’un enregistrement, un musicien a fait une faute note une fois dans un morceau de 3 min. Alors l ‘ingénieur du son va demander au musicien de rejouer juste cette partie puis il va remplacer l’ancienne partie avec la nouvelle. Nous pouvons aussi ajouté des effets après avoir enregistré.<br />
<br />
'''Effets Audio'''<br />
<br />
Tout d’abord, commençons par le commencement, Qu’est ce qu’un effet audio ? En fait pour créer un effet audio nous allons tout simplement faire du traitement du signal et tester différents filtres pour entendre ce que cela fait. Ainsi la musique électronique en vient a se résumé à une seule chose : le traitement d’un signal. Les effets audio ne sont en fait que des filtres appliqués sur des sons de toutes sortes. Par exemple un chanteur ne va pas aimer sa voie sur une chanson, il peut appliquer un filtre qui nous fera entendre sa voix comme à travers un poste radio. Il existe bien sur de nombreux filtres prédéfinis, comme on peut le voir sur le diaporama : La « distortion », le « delay », l’ « echo », la « reverbe », la « modulation », le « pitch », la « wah-wah » et bien d’autres encore. Je ne vais pas expliquer le fonctionnement de l’ensemble de ceux ci mais je vais vous en détailler quelques uns.<br />
<br />
''Distorsion''<br />
<br />
L’effet le plus connu dans la musique est l’effet distorsion. Il va rendre le son moins « lisse ». Il se concoit a partir de distorsion sur le signal porteur. On peut souvent l’entendre dans le groupe de musique rock et hard rock mais nous pouvons aussi appliqué cet effet sur un enregistrement sur l’ordinateur.<br />
<br />
''Delay''<br />
<br />
L’effet « delay » est un effet va répéter la note obtenu plusieurs fois avec une force diminué a chaque fois. Il consiste a copié la note et a la coller peu après en diminuant son amplitude. Cet effet est très utilisé dans les arpèges de guitare electrique, cela donne l’impression d’une multitude de note alors que le musicien n’en a joué que quelques unes.<br />
<br />
''Wah-Wah''<br />
<br />
L’effet Wah-wah a surtout été célèbre lors de l’avènement de Jimi Hendrix, un grand guitariste, avec sa chanson « Voodoo Child ». Il consiste à étouffer le son lorsque l’utilisateur appuie sur la pédale et le laisse filer lorsque l’utilisateur relâche la pédale. Au niveau technique c’est un simple filtre qui enlève les sons en partant des hautes fréquences en fonction que l’utilisateur appuie sur la pédale. Bien que cet effet nécessite une pédale, il est possible de l’appliquer sur l’ordinateur.</div>Bischshttps://air.imag.fr/index.php?title=EA2012-Musique&diff=6740EA2012-Musique2012-11-26T13:59:59Z<p>Bischs: </p>
<hr />
<div>== Résumé ==<br />
<br />
Le parcours du son de l’air à l’ordinateur ne se fait pas facilement. Il faut qu’il passe par de multiples interfaces pour s’assurer, d ‘une part, de la bonne restitution de celui ci, mais d’autre part, le stockage sur ordinateur de sorte que la qualité du son reste correct. <br />
C’est une fois que le son est sur l’ordinateur que l’on peut « jouer » avec celui ci en faisant de la musique « dîtes » électronique. Cette musique consiste a appliquer des filtres sur des bandes son déjà existante pour avoir l’illusion d’un effet au moment de la restitution du son.<br />
Il est maintenant facile de pouvoir modifier un son. Il existe de nombreux logiciels libres ou payants permettant ceci. La plupart des filtres sont intégré au logiciel mais il est possible d’en créer des nouveaux plus adapté à ce que vous compter faire. <br />
<br />
== Abstract ==<br />
<br />
The sound transmission between the air and the computer doesn’t work easily. It must pass through multiple interfaces to ensure, on the one hand, good listenning of this one, but on the other hand, the storage on computer which the sound quality must be correct.<br />
This is when the sound is on the computer that you can "play" with this one by making electronical music. The way to make electronical music is to put filters on existing soundtracks for the illusion of an effect at sound reproduction.<br />
It’s now easy to modify the sound. There are many free or pay software which make this. Most filters are integrated in the software but it’s possible to create new ones more suited to what you expect to make.<br />
<br />
<br />
== Présentation ==<br />
<br />
'''Le son'''<br />
<br />
Tout d’abord, avant même de commencer de musique électronique, il faut savoir ce qu’est un son et par surcroît ce qu’est une musique. Comme on peut le voir sur l’image, le son est une sinusoïdale à une certaine fréquence. Par exemple, un « La » (la référence en matière de musique) possède une fréquence de 442Hz. La tranche de fréquence audible pour l’oreille humaine est comprise entre 20 et 20 000 Hz. Passer cette limite on trouve les infrason (<20Hz) et les ultrason (>20 000Hz). Cette tranche de fréquence audible varie selon les personnes et, bien sur, varie avec l’âge de celle ci. Certaines personnes peuvent entendre par exemple un ultrason venant d’une télé en cathodique.<br />
<br />
Mais dans la « vraie » vie, on peut voir que le son n’est jamais une pure sinusoïdale. En effet, si c’était le cas, le son d’un piano et le son d’un saxophone serait le même. C’est pour cela que l’on peut constater des petites perturbations sur le signal. C’est sur celle ci que l’on peut dissocier les différents sont et c’est sur ces perturbations que les ingénieurs du son vont jouer pour pouvoir modifier le son. Par exemple, ils vont pouvoir modifier un son de guitare pour que le public l’entende comme un son de saxophone.<br />
<br />
Le rendu du son se fait par plusieurs sortes d’enceintes. On peut bien sur faire passer toutes les fréquences dans une seule enceinte mais la qualité du son s’en trouvera amoindri et certains même ne seront pas retransmis. Principalement nous trouvons trois sortes d’enceinte de diamètre : Le « tweeter » qui possède le plus petit diamètre et qui sert à rendre les aigües (de 2000 à 20 000 Hz), Le « médium » un peu plus gros qui comme son nom l’indique va plutôt les fréquences médium (800 à 3000Hz) et le « boomer » avec le plus gros diamètre qui va retransmettre les plus basses fréquences (de 20 à 800Hz). Les caractéristiques diffèrent bien sur selon le modèle et la marque utilisés. Il existe à l’heure d’aujourd’hui de multiple sorte d’enceinte mais on conserve cette séparation dans la plupart d’entre elles.<br />
<br />
En ce qui concerne la prise de son, elle se fait par l’intermédiaire de microphone. Idem que pour les Speaker, il existe de nombreuse sorte de microphone. Celui le plus utilisé est le microphone dynamique que l’on peut voir sur le diaporama. Les ondes sonores (1) arrivent sur la membrane (2) ce qui la fait vibrer et entraine avec elle la bobine électrique (3). Grâce a l’électro aimant (4) a l’intérieur de la bobine, celle ci va se charger en courant induit qui sera la métamorphose du son en un courant électrique. Bien sur, plus la qualité des composants est élevé, plus la prise du son du microphone est précise.<br />
<br />
'''L’enregistrement numérique'''<br />
<br />
Je vais vous parler a présent de l’enregistrement numérique. Jusqu'à présent nous avons parlé du son dans l’air, puis de l’enregistrement par le microphone. Maintenant nous allons voir comment le signal se stock sur un ordinateur. <br />
<br />
Le signal du microphone passe donc dans la carte son qui va la transformer en signal échantillonner. Mais pourquoi échantillonner ? Il faut savoir qu’un ordinateur ne comprend que les 0 et les 1. Il ne comprend pas les signaux analogiques. Nous sommes donc obligé d’échantillonner le signal du son pour pouvoir le stocker et faire des manipulations dessus. Le signal va alors être divisé en plusieurs petits bouts dont l’amplitude va être plus ou moins forte. En faisant ceci, nous arrivons au signal échantillonné comme on peut le voir sur la diapositive. Bien sur plus il y a d’échantillons, plus le son sera de bonne qualité.<br />
<br />
Le signal d’un son est représenté par 3 paramètres dans l’ordinateur. Le premier est la fréquence d’échantillonnage qui détermine le nombre d’échantillon du son et donc de sa qualité et l’espace disque nécessaire au stockage de celui ci. Par exemple, pour la qualité d’un CD il faut une fréquence d’échantillonnage de 44 100Hz, de 22 000Hz pour une qualité radio et 8000Hz pour une qualité d’une conversation téléphonique. Le second paramètre est le nombre de bit nécessaire pour le codage d’un échantillon et enfin le nombre de voie pour la diffusion de la musique (Mono, Stéréo, 5.1, 7.1 …).<br />
<br />
L’enregistrement du son sur un ordinateur se fait par l’intermédiaire d’un logiciel d’acquisition. Il en existe beaucoup et de toute sorte. Le premier basic est le microphone de Windows mais il n’apporte guère de fonctionnalités. Nous pouvons trouver dans les logiciels gratuits Audacity qui est le plus connu et qui tourne sur toutes les plates formes. Nous pouvons trouver Cubase pour windows dans les Logiciel privé ainsi que Lorgic Pro le logiciel d’acquisition de Machintosh mais également SoundBooth de la suite d’Adobe qui tourne du coup sur toutes les plates formes. Il en existe bien sur une multitude d’autre logiciel gratuit ou payant. Grâce à ceux ci, nous sommes en mesure de stocker les musiques sur ordinateur ainsi que faire des modification sur celle ci. En effet ces logiciels permettent de « géré » la musique. Par exemple lors d’un enregistrement, un musicien a fait une faute note une fois dans un morceau de 3 min. Alors l ‘ingénieur du son va demander au musicien de rejouer juste cette partie puis il va remplacer l’ancienne partie avec la nouvelle. Nous pouvons aussi ajouté des effets après avoir enregistré.<br />
<br />
'''Effets Audio'''<br />
<br />
Tout d’abord, commençons par le commencement, Qu’est ce qu’un effet audio ? En fait pour créer un effet audio nous allons tout simplement faire du traitement du signal et tester différents filtres pour entendre ce que cela fait. Ainsi la musique électronique en vient a se résumé à une seule chose : le traitement d’un signal. Les effets audio ne sont en fait que des filtres appliqués sur des sons de toutes sortes. Par exemple un chanteur ne va pas aimer sa voie sur une chanson, il peut appliquer un filtre qui nous fera entendre sa voix comme à travers un poste radio. Il existe bien sur de nombreux filtres prédéfinis, comme on peut le voir sur le diaporama : La « distortion », le « delay », l’ « echo », la « reverbe », la « modulation », le « pitch », la « wah-wah » et bien d’autres encore. Je ne vais pas expliquer le fonctionnement de l’ensemble de ceux ci mais je vais vous en détailler quelques uns.<br />
<br />
''Distorsion''<br />
<br />
L’effet le plus connu dans la musique est l’effet distorsion. Il va rendre le son moins « lisse ». Il se concoit a partir de distorsion sur le signal porteur. On peut souvent l’entendre dans le groupe de musique rock et hard rock mais nous pouvons aussi appliqué cet effet sur un enregistrement sur l’ordinateur.<br />
<br />
''Delay''<br />
<br />
L’effet « delay » est un effet va répéter la note obtenu plusieurs fois avec une force diminué a chaque fois. Il consiste a copié la note et a la coller peu après en diminuant son amplitude. Cet effet est très utilisé dans les arpèges de guitare electrique, cela donne l’impression d’une multitude de note alors que le musicien n’en a joué que quelques unes.<br />
<br />
''Wah-Wah''<br />
<br />
L’effet Wah-wah a surtout été célèbre lors de l’avènement de Jimi Hendrix, un grand guitariste, avec sa chanson « Voodoo Child ». Il consiste à étouffer le son lorsque l’utilisateur appuie sur la pédale et le laisse filer lorsque l’utilisateur relâche la pédale. Au niveau technique c’est un simple filtre qui enlève les sons en partant des hautes fréquences en fonction que l’utilisateur appuie sur la pédale. Bien que cet effet nécessite une pédale, il est possible de l’appliquer sur l’ordinateur.</div>Bischshttps://air.imag.fr/index.php?title=EA2012-Musique&diff=6739EA2012-Musique2012-11-26T13:57:38Z<p>Bischs: Created page with " == Résumé == Le parcours du son de l’air à l’ordinateur ne se fait pas facilement. Il faut qu’il passe par de multiples interfaces pour s’assurer, d ‘une part, de …"</p>
<hr />
<div><br />
== Résumé ==<br />
<br />
Le parcours du son de l’air à l’ordinateur ne se fait pas facilement. Il faut qu’il passe par de multiples interfaces pour s’assurer, d ‘une part, de la bonne restitution de celui ci, mais d’autre part, le stockage sur ordinateur de sorte que la qualité du son reste correct. <br />
C’est une fois que le son est sur l’ordinateur que l’on peut « jouer » avec celui ci en faisant de la musique « dîtes » électronique. Cette musique consiste a appliquer des filtres sur des bandes son déjà existante pour avoir l’illusion d’un effet au moment de la restitution du son.<br />
Il est maintenant facile de pouvoir modifier un son. Il existe de nombreux logiciels libres ou payants permettant ceci. La plupart des filtres sont intégré au logiciel mais il est possible d’en créer des nouveaux plus adapté à ce que vous compter faire. <br />
<br />
== Abstract ==<br />
<br />
The sound transmission between the air and the computer doesn’t work easily. It must pass through multiple interfaces to ensure, on the one hand, good listenning of this one, but on the other hand, the storage on computer which the sound quality must be correct.<br />
This is when the sound is on the computer that you can "play" with this one by making electronical music. The way to make electronical music is to put filters on existing soundtracks for the illusion of an effect at sound reproduction.<br />
It’s now easy to modify the sound. There are many free or pay software which make this. Most filters are integrated in the software but it’s possible to create new ones more suited to what you expect to make.<br />
<br />
<br />
== Présentation ==</div>Bischshttps://air.imag.fr/index.php?title=EA2012&diff=6375EA20122012-10-24T12:29:58Z<p>Bischs: </p>
<hr />
<div>[[EA2011|<< Etudes 2011]] [[EA2013|Etudes 2013 >>]]<br />
<br />
<br />
=Etudes d'approfondissement=<br />
* Enseignants: Georges-Pierre Bonneau, Didier Donsez<br />
* UE/Module: EAM (HPRJ9R6B) et EAR (HPRJ9R4B) en RICM5<br />
<br />
<br />
L'objectif des études approfondissement est de réaliser un travail de synthèse et d’évaluation sur une technologie / spécification / tendance<br />
<br />
Dans votre futur vie d'ingénieur, vous aurez à d'une part, vous former par vous-même sur une technologie émergente et d'autre part à réaliser une veille technologique (et stratégique) par rapport à votre entreprise et projet.<br />
Il s'agira de réaliser<br />
* le positionnement par rapport au marché<br />
* d'être critique<br />
<br />
Votre synthèse fait l'objet d'une présentation orale convaincante devant un auditoire (dans le futur, vos collègues, vos chefs ou vos clients) avec des transparents et un discours répété.<br />
Pour finir de convaincre (Saint Thomas), vous ferez la présentation d'une démonstration.<br />
<br />
[[File:presentation-EA-RICM5-1213.pdf|transparents d'introduction à l'UE]]<br />
<br />
<br />
<br />
=Planning des séances=<br />
<br />
==Séance Ven. 28/09==<br />
* Présentation des sujets<br />
* Choix des sujets<br />
<br />
==Séance Ven. 12/10==<br />
Didier Donsez (,Georges-Pierre Bonneau)<br />
* Elisabeth Paz & Salem Harrache, [[EA2012 Langages et Canevas pour la robotique de service|Langages et Canevas pour la robotique de service]]: [[Robot Operating System|ROS]], [[Urbi]], ... Démonstration de ROS ([http://www.ros.org/wiki/nxt ROS-NXT]) et URBI (chapitre 29 du urbi-sdk.pdf) avec le Lego Mindstorm NXT + téléphone Android<br />
* Michaeël Mercier,[[EA2012 Brain-Computer Interfaces|Brain-Computer Interfaces]] (voir Franck Tarpin-Bernard, LIG/IIHM)<br />
* Florian Fourrure, NoSQL : CAP Theorem, [http://en.wikipedia.org/wiki/Shard_%28database_architecture%29 Sharding], [http://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_CAP Theoreme de Brewer], MongoDB, GigaSpaces, Cassandra, BigTable/GAE DataStore, ...<br />
<br />
==Séance Ven. 19/10==<br />
Georges-Pierre Bonneau(,Didier Donsez)<br />
* Fabien Eloy & Sylvien Vigier, BIométrie. Démonstration reconnaissance d'empreintes digitales)<br />
* Xiao Lu, Serveurs vocaux : technologies, canevas et formats (VoiceXML, CCXML, SRGS, SSML). Démonstration.<br />
* Christopher Gnatto, Sorya Prak, SIG<br />
* Qikai Gu, Stéreoscopie<br />
<br />
==Séance Ven. 26/10==<br />
Georges-Pierre Bonneau(,Didier Donsez)<br />
* Marie Chevallier & Yacine Fall, Motion capture (capture de mouvement). Démonstration Kinect. Démonstration [[Intel® Perceptual Computing SDK]] Démonstration [http://leapmotion.com/ Leap Motion], http://wiki.ipisoft.com/Main_Page<br />
* Camille Oswald & CLÉMENT Wirth, 3D scanning, démonstration du recollement de maillages http://meshlab.sourceforge.net/wiki/index.php/Alignment http://graphics.stanford.edu/data/3Dscanrep/<br />
* Simon Bisch, Musique électronique, effets sonores<br />
<br />
==Séance Ven. 09/11==<br />
Didier Donsez (,Georges-Pierre Bonneau)<br />
* Aurélien Chavelin & Minh-Quan Ho, [[Exascale Computing]]<br />
* Noé-Jean Caramelli, [[Infinispan]]<br />
* Joachim Segala & Maxence Raoux, Tiled displays (CGLX, IceT, SAGE, VLC avec SAGE) sur 4 tablettes Intel<br />
<br />
==Séance Ven. 16/11==<br />
Didier Donsez (,Georges-Pierre Bonneau)<br />
* Leopold Dauvergue & Florian Leveque, Plateformes de jeux mobiles multijoueurs. Démonstration de [http://gasp.ow2.org/ uGASP] Bluetooth sur téléphone Android et J2ME (contacter Romain Pellerin, UbiDreams)<br />
* Rolly Ngouala, [[Open Data]]<br />
* Mickaël Nicolaccini, Plateformes de vente d'applications (Google Play, iTune, Eclipse Marketplace, ...) et plateformes de distribution de Jeux ([http://en.wikipedia.org/wiki/Steam_%28software%29 Steam], ...)<br />
<br />
=Réserve de Sujets=<br />
# [[Rules engines]] et [[Complex Event Processing]]<br />
# BPM : démonstration de l'outil OW2 Bonita sur le processus de suivi des stages<br />
# (Benchmarks Web : démonstration de TPCW sur les conteneurs Tomcat, Jetty, Grizzly en utilisant l'injecteur de charge Apache JMeter.)<br />
# ([[Vandalisme dans les Wiki]])<br />
# Modele de distribution par tuple-space : LINDA, JavaSpace, Terracotta, LIME, tinyLIME<br />
# Outils de supervision : Nagios, [[Shinken]]</div>Bischshttps://air.imag.fr/index.php?title=ALACRIEE&diff=6340ALACRIEE2012-10-23T14:36:06Z<p>Bischs: </p>
<hr />
<div>== Projet du site e-Commerce "à la criée" ==<br />
<br />
'''Participants :'''<br />
<br /><br />
-Marie CHEVALLIER : Responsable IHM, Expert en utilisabilité<br /><br />
-Yacine FALL : Responsable architecture, Auteur <br /><br />
-Florian FOURURE : Responsable développement, Scrum Master<br /><br />
-Simon BISCH : Chef de projet, Graphiste <br /><br />
<br /><br />
<br />
<br />
----<br />
<br />
<br />
'''Description :''' <br /><br />
<br />
Fournir un service de vente à la criée en ligne. Il s’agit de proposer un pendant à e-bay, un site où professionnels et particuliers peuvent mettre en vente leur(s) objet(s) suivant le modèle de la vente à la criée. <br /><br />
<br /><br />
Principe de la vente à la criée : Les vendeurs fixent un prix de départ pour leur(s) lot(s). Ce prix sera diminué régulièrement jusqu’à ce qu’un client se porte acheteur.<br />
<br/><br />
<br />
<br />
----<br />
<br />
<br />
'''Suivi :''' <br />
<br /><br />
Mardi 25 septembre : <br /><br />
- Constitution du groupe <br /><br />
- Choix du sujet <br /><br />
- Etablissement d'un questionnaire <br /><br />
- Début de rédaction du cahier des charges <br /><br />
<br />
Mardi 2 octobre : <br /><br />
- Prise en main de l'outil de développement : NetBeans & JEE <br /><br />
- Demande de création du projet sur la novaforge de l'UJF <br /><br />
- Création d'un projet SCRUM sous TRELLO <br /><br />
- Rédaction du cahier des charges <br /><br />
<br />
Mardi 9 octobre : <br /><br />
- Confirmation de la création du projet sur la novaforge <br /><br />
- Configuration de la novaforge <br /><br />
- Rédaction du cahier des charges <br /><br />
_ Diagrammes de tâches <br /><br />
_ Diagrammes de classe <br /><br />
_ Rédaction des spécification du projet <br /><br />
<br />
Lundi 22 octobre : <br /><br />
- Réalisation du code du noyau (EJB) <br /><br />
<br />
Mardi 23 octobre : <br /><br />
- 1ère rétro <br /><br />
- Réalisation du client lourd <br /><br />
- Changement de méthode de partage de code : utilisation de Google Code avec un SVN <br /><br />
<br />
<br />
----<br />
<br />
<br />
<br />
'''Rétrospection :'''<br />
<br /><br />
'''1ère rétrospection 23/10/2012:'''<br />
<br /><br />
Points abordés : <br /><br />
- Technologies <br /><br />
+ Points : 2 <br /><br />
<br />
- Outils de Gestion<br /><br />
+ Points : 3 <br /><br />
+ Pratique adoptée : <br /><br />
* Choix du Client SVN : Tortoise ou plugins NetBeans<br /><br />
* Bisch s'occupe de trouver et préparer un serveur SVN<br /><br />
* Bisch prévoit un Meeting d'installation <br /><br />
<br /><br />
- Motivation<br /><br />
+ Points : 3 <br /><br />
+ Pratique adoptée : bonne organisation = Meilleur organisation<br />
<br /> <br />
- Organisation<br /><br />
+ Points : 3 <br /><br />
+ Pratique adoptée : <br /><br />
* Répartition des tâches par groupe de 2<br /><br />
* Lundi 4 novembre : Poker Time + Répartition des tâches par durée et par item <br /> <br />
<br /><br />
- Réactivité<br /><br />
+ Points : 1 <br /><br />
<br />
- Cohésion<br /><br />
+ Points : 0 <br /><br />
<br />
<br />
<br />
----<br />
<br />
<br />
<br />
'''Liens Externes :'''<br />
<br /><br />
Utilisation du site TRELLO pour la gestion du projet de type SCRUM : <br /><br />
https://trello.com/b/m4kZYafb <br /><br />
<br /><br />
Dépot du projet sur Google Code : <br /><br />
https://code.google.com/p/alacriee/ <br /></div>Bischshttps://air.imag.fr/index.php?title=ALACRIEE&diff=6339ALACRIEE2012-10-23T14:32:20Z<p>Bischs: </p>
<hr />
<div>== Projet du site e-Commerce "à la criée" ==<br />
<br />
'''Participants :'''<br />
<br /><br />
-Marie CHEVALLIER : Responsable IHM, Expert en utilisabilité<br /><br />
-Yacine FALL : Responsable architecture, Auteur <br /><br />
-Florian FOURURE : Responsable développement, Scrum Master<br /><br />
-Simon BISCH : Chef de projet, Graphiste <br /><br />
<br /><br />
'''Sujet :''' <br /><br />
<br />
<br />
'''Suivi :''' <br />
<br /><br />
Mardi 25 septembre : <br /><br />
- Constitution du groupe <br /><br />
- Choix du sujet <br /><br />
- Etablissement d'un questionnaire <br /><br />
- Début de rédaction du cahier des charges <br /><br />
<br />
Mardi 2 octobre : <br /><br />
- Prise en main de l'outil de développement : NetBeans & JEE <br /><br />
- Demande de création du projet sur la novaforge de l'UJF <br /><br />
- Création d'un projet SCRUM sous TRELLO <br /><br />
- Rédaction du cahier des charges <br /><br />
<br />
Mardi 9 octobre : <br /><br />
- Confirmation de la création du projet sur la novaforge <br /><br />
- Configuration de la novaforge <br /><br />
- Rédaction du cahier des charges <br /><br />
_ Diagrammes de tâches <br /><br />
_ Diagrammes de classe <br /><br />
_ Rédaction des spécification du projet <br /><br />
<br />
Lundi 22 octobre : <br /><br />
- Réalisation du code du noyau (EJB) <br /><br />
<br />
Mardi 23 octobre : <br /><br />
- 1ère rétro <br /><br />
- Réalisation du client lourd <br /><br />
- Changement de méthode de partage de code : utilisation de Google Code avec un SVN <br /><br />
<br />
'''Rétrospection :'''<br />
<br /><br />
'''1ère rétrospection 23/10/2012:'''<br />
<br /><br />
Points abordés : <br /><br />
- Technologies <br /><br />
+ Points : 2 <br /><br />
<br />
- Outils de Gestion<br /><br />
+ Points : 3 <br /><br />
+ Pratique adoptée : <br /><br />
* Choix du Client SVN : Tortoise ou plugins NetBeans<br /><br />
* Bisch s'occupe de trouver et préparer un serveur SVN<br /><br />
* Bisch prévoit un Meeting d'installation <br /><br />
<br /><br />
- Motivation<br /><br />
+ Points : 3 <br /><br />
+ Pratique adoptée : bonne organisation = Meilleur organisation<br />
<br /> <br />
- Organisation<br /><br />
+ Points : 3 <br /><br />
+ Pratique adoptée : <br /><br />
* Répartition des tâches par groupe de 2<br /><br />
* Lundi 4 novembre : Poker Time + Répartition des tâches par durée et par item <br /> <br />
<br /><br />
- Réactivité<br /><br />
+ Points : 1 <br /><br />
<br />
- Cohésion<br /><br />
+ Points : 0 <br /><br />
<br />
<br />
<br />
<br />
'''Liens Externes :'''<br />
<br /><br />
Utilisation du site TRELLO pour la gestion du projet de type SCRUM : <br /><br />
https://trello.com/b/m4kZYafb <br /><br />
<br /><br />
Dépot du projet sur Google Code : <br /><br />
https://code.google.com/p/alacriee/ <br /></div>Bischshttps://air.imag.fr/index.php?title=ALACRIEE&diff=6336ALACRIEE2012-10-23T14:24:33Z<p>Bischs: </p>
<hr />
<div>== Projet du site e-Commerce "à la criée" ==<br />
<br />
'''Participants :'''<br />
<br /><br />
-Marie CHEVALLIER : Responsable IHM, Expert en utilisabilité<br /><br />
-Yacine FALL : Responsable architecture, Auteur <br /><br />
-Florian FOURURE : Responsable développement, Scrum Master<br /><br />
-Simon BISCH : Chef de projet, Graphiste <br /><br />
<br /><br />
'''Sujet :''' <br /><br />
<br />
<br />
'''Suivi :''' <br />
<br /><br />
Mardi 25 septembre : <br /><br />
- Constitution du groupe <br /><br />
- Choix du sujet <br /><br />
- Etablissement d'un questionnaire <br /><br />
- Début de rédaction du cahier des charges <br /><br />
<br />
Mardi 2 octobre : <br /><br />
- Prise en main de l'outil de développement : NetBeans & JEE <br /><br />
- Demande de création du projet sur la novaforge de l'UJF <br /><br />
- Création d'un projet SCRUM sous TRELLO <br /><br />
- Rédaction du cahier des charges <br /><br />
<br />
Mardi 9 octobre : <br /><br />
- Confirmation de la création du projet sur la novaforge <br /><br />
- Configuration de la novaforge <br /><br />
- Rédaction du cahier des charges <br /><br />
_ Diagrammes de tâches <br /><br />
_ Diagrammes de classe <br /><br />
_ Rédaction des spécification du projet <br /><br />
<br />
Lundi 22 octobre : <br /><br />
- Réalisation du code du noyau (EJB) <br /><br />
<br />
Mardi 23 octobre : <br /><br />
- 1ère rétro <br /><br />
- Réalisation du client lourd <br /><br />
- Changement de méthode de partage de code : utilisation de Google Code avec un SVN <br /><br />
<br />
'''Rétrospection :'''<br />
<br /><br />
'''1ère rétrospection 23/10/2012:'''<br />
<br /><br />
Points abordés : <br /><br />
- Technologies <br /><br />
+ Points : 2 <br /><br />
+ Pratique adoptée : <br /><br />
- Outils de Gestion<br /><br />
- Motivation<br /><br />
- Organisation<br /><br />
- Réactivité<br /><br />
- Cohésion<br /><br />
<br />
<br />
<br />
'''Liens Externes :'''<br />
<br /><br />
Utilisation du site TRELLO pour la gestion du projet de type SCRUM : <br /><br />
https://trello.com/b/m4kZYafb <br /><br />
<br /><br />
Dépot du projet sur Google Code : <br /><br />
https://code.google.com/p/alacriee/ <br /></div>Bischshttps://air.imag.fr/index.php?title=ALACRIEE&diff=6330ALACRIEE2012-10-23T14:12:18Z<p>Bischs: </p>
<hr />
<div>== Projet du site e-Commerce "à la criée" ==<br />
<br />
'''Participants :'''<br />
<br /><br />
-Marie CHEVALLIER : Responsable IHM, Expert en utilisabilité<br /><br />
-Yacine FALL : Responsable architecture, Auteur <br /><br />
-Florian FOURURE : Responsable développement, Scrum Master<br /><br />
-Simon BISCH : Chef de projet, Graphiste <br /><br />
<br /><br />
'''Sujet :''' <br /><br />
<br />
<br />
'''Suivi :''' <br />
<br /><br />
Mardi 25 septembre : <br /><br />
- Constitution du groupe <br /><br />
- Choix du sujet <br /><br />
- Etablissement d'un questionnaire <br /><br />
- Début de rédaction du cahier des charges <br /><br />
<br />
Mardi 2 octobre : <br /><br />
- Prise en main de l'outil de développement : NetBeans & JEE <br /><br />
- Demande de création du projet sur la novaforge de l'UJF <br /><br />
- Création d'un projet SCRUM sous TRELLO <br /><br />
- Rédaction du cahier des charges <br /><br />
<br />
Mardi 9 octobre : <br /><br />
- Confirmation de la création du projet sur la novaforge <br /><br />
- Configuration de la novaforge <br /><br />
- Rédaction du cahier des charges <br /><br />
_ Diagrammes de tâches <br /><br />
_ Diagrammes de classe <br /><br />
_ Rédaction des spécification du projet <br /><br />
<br />
Lundi 22 octobre : <br /><br />
- Réalisation du code du noyau (EJB) <br /><br />
<br />
Mardi 23 octobre : <br /><br />
- 1ère rétro <br /><br />
- Réalisation du client lourd <br /><br />
- Changement de méthode de partage de code : utilisation de Google Code avec un SVN <br /><br />
<br />
'''Rétrospection :'''<br />
<br />
''''1ère rétrospection 23/10/2012:''''<br />
<br />
<br />
<br />
<br />
'''Liens Externes :'''<br />
<br /><br />
Utilisation du site TRELLO pour la gestion du projet de type SCRUM : <br /><br />
https://trello.com/b/m4kZYafb <br /><br />
<br /><br />
Dépot du projet sur Google Code : < br/><br />
https://code.google.com/p/alacriee/ < br/></div>Bischshttps://air.imag.fr/index.php?title=ALACRIEE&diff=6159ALACRIEE2012-10-09T14:08:35Z<p>Bischs: /* Projet du site e-Commerce "à la criée" */</p>
<hr />
<div>== Projet du site e-Commerce "à la criée" ==<br />
<br />
'''Participants :'''<br />
<br /><br />
-Marie CHEVALLIER : Responsable IHM, Expert en utilisabilité<br /><br />
-Yacine FALL : Responsable architecture, Auteur <br /><br />
-Florian FOURURE : Responsable développement, Scrum Master<br /><br />
-Simon BISCH : Chef de projet, Graphiste <br /><br />
<br /><br />
'''Sujet :''' <br /><br />
<br />
<br />
'''Suivi :''' <br />
<br /><br />
Mardi 25 septembre : <br /><br />
- Constitution du groupe <br /><br />
- Choix du sujet <br /><br />
- Etablissement d'un questionnaire <br /><br />
- Début de rédaction du cahier des charges <br /><br />
<br />
Mardi 2 octobre : <br /><br />
- Prise en main de l'outil de développement : NetBeans & JEE <br /><br />
- Demande de création du projet sur la novaforge de l'UJF <br /><br />
- Création d'un projet SCRUM sous TRELLO <br /><br />
- Rédaction du cahier des charges <br /><br />
<br />
Mardi 9 octobre : <br /><br />
- Confirmation de la création du projet sur la novaforge <br /><br />
- Configuration de la novaforge <br /><br />
- Rédaction du cahier des charges <br /><br />
_ Diagrammes de tâches <br /><br />
_ Diagrammes de classe <br /><br />
_ Rédaction des spécification du projet <br /><br />
<br />
<br />
'''Liens Externes :'''<br />
<br /><br />
Utilisation du site TRELLO pour la gestion du projet de type SCRUM : <br /><br />
https://trello.com/b/m4kZYafb <br /><br />
<br /><br />
Dépot du projet sur la forge de l'ujf : <br /><br />
https://imag-forge.e.ujf-grenoble.fr/portal/private/alacriee/ <br /></div>Bischshttps://air.imag.fr/index.php?title=ALACRIEE&diff=6065ALACRIEE2012-10-02T13:53:57Z<p>Bischs: Projet du site e-Commerce "à la criée"</p>
<hr />
<div>== Projet du site e-Commerce "à la criée" ==<br />
<br />
'''Participants :'''<br />
<br /><br />
-Marie CHEVALLIER : Responsable IHM, Expert en utilisabilité<br /><br />
-Yacine FALL : Responsable architecture, Auteur <br /><br />
-Florian FOURURE : Responsable développement, Scrum Master<br /><br />
-Simon BISCH : Chef de projet, Graphiste <br /><br />
<br /><br />
'''Sujet :''' <br /><br />
<br />
<br />
'''Suivi :''' <br />
<br /><br />
Mardi 25 septembre : <br /><br />
- Constitution du groupe <br /><br />
- Choix du sujet <br /><br />
- Etablissement d'un questionnaire <br /><br />
- Début de rédaction du cahier des charges <br /><br />
<br />
Mardi 2 octobre : <br /><br />
- Prise en main de l'outil de développement : NetBeans & JEE <br /><br />
- Demande de création du projet sur la novaforge de l'UJF <br /><br />
- Création d'un projet SCRUM sous TRELLO <br /><br />
- Rédaction du cahier des charges <br /><br />
<br />
<br />
'''Liens Externes :'''<br />
<br /><br />
Utilisation du site TRELLO pour la gestion du projet de type SCRUM : <br /><br />
https://trello.com/b/m4kZYafb <br /><br />
<br /><br />
Dépot du projet sur la forge de l'ujf : <br /><br />
lien à venir ...</div>Bischs