M1 CH Semaine d'intégration Base de données INTERNET TCP / IP ! ROUTAGE # CLIENT (+ FAI) " SERVEUR IPv6 172.31.128.1 2001:0db8:0000:85a3:0000:0000:ac1f:8001 Épuisement des adresses IPv4 depuis 1995 (source : Wikipédia) LOGICIELS ET LANGAGES (1) Le navigateur Web LOGICIELS ET LANGAGES (1) Le navigateur Web 1 Lecture URL • protocole : http:// (HTTPS, SMTP, FTP, magnet links, etc…) • domaine : hyper-media.eu • requête DNS ⇾ IP : 5.39.94.180 1 2 Requête serveur • ouverture TCP • requête http 3 Réponse serveur 200 OK Content-Type: application/xhtml+xml Content-Type: text/html LOGICIELS ET LANGAGES (1) Le navigateur Web LOGICIELS ET LANGAGES (1) Le navigateur Web HTML CSS Interprétateur JavaScript Plugins GECKO WEBKIT TRIDENT Moteur de rendu Arborescence DOM Arborescence de rendu Disposition Peinture Règles CSS LOGICIELS ET LANGAGES (1) Le navigateur Web http://web.developpez.com/tutoriels/web/how-browsers-work/ LOGICIELS ET LANGAGES (2) Le serveur Linux windows apple LAMP Apache nginx lighttpd Mysql Php mariaDB perl mongoDB python Système d'exploitation Serveur HTTP (HTTPd) SGBD CGI Avant d'attaquer 1 installer un environnement AMP sous Windows : http://www.easyphp.org/ sous MAC : http://www.mamp.info/en/ toutes plateformes : https://www.apachefriends.org/index.html 2 installer un environnement de développement Aptana : http://www.aptana.com/ NetBeans : https://netbeans.org/ Enjeux de recherche Enjeux de recherche taxonomies connectivité des informations life logging ontologies ontologies WEB sémantique connecte la connaissance agents intelligents base de données life logging intelligence artificielle sites WEB LE WEB connecte les informations méta WEB connecte l'intelligence conscience collective communautés décentralisées wikis portails réseaux de connaissances flux RSS forums logiciels sociaux connecte les individus serveur de fichiers réseaux sociaux emails moteur de recherche connectivité sociale blogs Enjeux de recherche Une base ne sert pas en effet seulement à stocker des données, elle ne représente pas seulement une mémoire de saisie. Elle réunit aussi un ensemble d'opérations qui lui sont applicables et qui permettent de l'interroger, d'établir des relations entre les différentes informations qu'elle stocke, de manière à créer de nouveaux ensembles de données : une base est à la fois mémoire et opérations. ! Florent DI BARTOLO VERS UNE LECTURE DYNAMIQUE DES IMAGES De l'utilisation des bases de données dans le champ des arts médiatiques, p. 14 Enjeux de recherche Si l'architecture de l'information est importante, C'est au niveau de la programmation et de l'image interactive que cette architecture affecte concrètement les sociétés. design d'interactions Enjeux de recherche 1 Visualisation de données • une donnée n'est pas une information • une image (interactive) vaut mille mots • application composite (mashup) 2 Exploitation du quantified self • quelles traces pour quels usages ? • quelles histoires racontent-elles ? • quels portraits font-ils de nous ? 3 Objets intelligents et société de contrôle • qu'est-ce que cela veut dire qu'une opération intelligente ? • enjeux éthiques, protections de la vie privée 4 Open Data et archivage • quelles influences sur la res publica, la ville comme co-production • quels licences, quels droits d'usage SQL (1) type de données 1 Types alphanumériques • • • • • • CHAR(n) VARCHAR(n) TINYTEXT TEXT MEDIUMTEXT LONGTEXT 4 [1,255] caractères [1,4000] caractères 2^8 (255 Bytes) 2^16 (64 Kilobytes) 2^24 (16 Megabytes) 2^32 (4 Gigabytes) • • • 5 2 Entiers numériques • • • • 3 TINYINT [-128, 127] ou [0,255] SMALLINT [-32768, 32767] ou [0, 65535] MEDIUMINT [-8388608, 8388607] ou [0, 16777215] INT, BIGINT… Décimaux • • DECIMAL(M[,D]) : DECIMAL(5,2) -> 12.12345 FLOAT(M[,D]) Types temporels DATE TIME TIMESTAMP & DATETIME Autres… • • • BOOLEAN 0|1 POINT (X,Y) ENUM CCYY-MM-DD hh:mm:ss CCYY-MM-DD hh:mm:ss SQL (2) les requêtes : SELECT • • • • • SELECT SELECT SELECT SELECT SELECT * FROM bookshelf; author,title FROM bookshelf; COUNT(*) FROM bookshelf; DISTINCT author FROM bookshelf; * FROM bookshelf WHERE author='Mark Twain'; ! • • • SELECT author,title FROM bookshelf WHERE author LIKE 'Charles%'; SELECT author,title FROM bookshelf WHERE title LIKE '%Species'; SELECT author,title FROM bookshelf WHERE title LIKE '%and%'; ! • • • SELECT author,title FROM bookshelf LIMIT 3; SELECT author,title FROM bookshelf LIMIT 1,2; SELECT author,title FROM bookshelf LIMIT 3,1; ! • • SELECT author,title FROM bookshelf ORDER BY author; SELECT author,title FROM bookshelf ORDER BY title DESC; ! • SELECT category,COUNT(author) FROM bookshelf GROUP BY category; SQL (2) les requêtes : DELETE / UPDATE • • DELETE FROM bookshelf WHERE title='Little Dorrit'; UPDATE bookshelf SET isbn='9780192814968' WHERE year='1594'; SQL (3) les jointures • • • SELECT name,author,title FROM customers NATURAL JOIN bookshelf; SELECT name,author,title FROM customers JOIN classics ON customers.isbn=bookshelf.isbn; SELECT name,author,title from customers AS c, bookshelf AS b WHERE s.isbn=b.isbn; SQL (4) les opérateurs logiques • • • SELECT author,title FROM bookshelf WHERE author LIKE 'Charles%' AND author LIKE '%Darwin'; SELECT author,title FROM bookshelf WHERE author LIKE '%Mark Twain%' OR author LIKE '%Samuel Langhorne Cle SELECT author,title FROM bookshelf WHERE author LIKE 'Charles%' AND author NOT LIKE '%Darwin'; ! • SELECT author,title FROM bookshelf WHERE year > 1600;