Dbs 2021-2022 : Différence entre versions

De Design numérique
Aller à : navigation, rechercher
Ligne 2 : Ligne 2 :
  
 
=== 18/03 ===
 
=== 18/03 ===
 +
Exemple de reqête SELECT avec PHP
 +
<syntaxhighlight lang="php">
 +
<?php
 +
    ini_set('display_errors', 1);
 +
    ini_set('display_startup_errors', 1);
 +
    error_reporting(E_ALL);
 +
 +
    $serverName = 'localhost';
 +
    $username = 'root';
 +
    $password = 'root';
 +
    $dbName = 'outils_erg';
 +
 +
    $db = new PDO("mysql:host=$serverName;dbname=$dbName", $username, $password);
 +
 +
  // $answer = $db->query("SELECT personne.nom, commune.nom FROM personne JOIN commune ON personne.commune = commune.id WHERE commune.code = 1060");
 +
 +
  $answer = $db->query("SELECT personne.nom FROM personne JOIN personne_cours ON personne.id = personne_cours.id_personne JOIN cours ON personne_cours.id_cours = cours.id WHERE cours.annee = 'M1'");
 +
 +
 +
    $result = $answer->fetchAll(PDO::FETCH_ASSOC);
 +
 +
    print_r($result);
 +
 +
 +
?>
 +
</syntaxhighlight>
 +
 +
 +
 +
 
Exemple de connection à une db avec python
 
Exemple de connection à une db avec python
  

Version du 18 mars 2022 à 14:35

Sessions

18/03

Exemple de reqête SELECT avec PHP

<?php
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);

    $serverName = 'localhost';
    $username = 'root';
    $password = 'root';
    $dbName = 'outils_erg';

    $db = new PDO("mysql:host=$serverName;dbname=$dbName", $username, $password);

   // $answer = $db->query("SELECT personne.nom, commune.nom FROM personne JOIN commune ON personne.commune = commune.id WHERE commune.code = 1060");

   $answer = $db->query("SELECT personne.nom FROM personne JOIN personne_cours ON personne.id = personne_cours.id_personne JOIN cours ON personne_cours.id_cours = cours.id WHERE cours.annee = 'M1'");


    $result = $answer->fetchAll(PDO::FETCH_ASSOC);

    print_r($result);


?>



Exemple de connection à une db avec python

import pymysql
import pymysql.cursors





con = pymysql.connect(
        host='localhost',
        user='root',
        password='mo2passe',
        db='actu'
)


def insertIntoDB(var1, var2):

	#cursorclass=pymysql.cursors.DictCursor

	with con.cursor() as cur:

	    
	    cur.execute('INSERT INTO article (titre, date) VALUES(%s, %s)',
	    (var1, var2)
	    con.commit()



	con.close()


inertIntoDB('truc', 'machin')

25/2

#1. pour faire des requêtes http
import mechanize
#2. transformer la réponse en structure html navigable
import lxml.html
#3. sélectionner les données qui nous intéressent avec un sélecteur css
import cssselect

#https://www.meteo.be/fr/belgique



browser = mechanize.Browser()

browser.addheaders = [('User-agent', 'Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0')]

browser.set_handle_robots(False)

data = browser.open('https://www.meteo.be/fr/belgique', timeout=10)


#print(data.read())

source = data.read()

html = lxml.html.fromstring(source)

#.now-cast-pp__description

selecteurs = cssselect.parse('now-cast')
#selecteurs = [objet cssselect]

selecteur = selecteurs[0]

chemin_xpath = cssselect.HTMLTranslator().selector_to_xpath(selecteur)

resultats = html.xpath(chemin_xpath)

#print(resultats)
for resultat in resultats:
    print(resultat.get('title'))
    print(resultat.text_content())


11/2

Description des différentes relations entre les serveurs sur le web:

Serveur-web.jpg


Server web.png

Objectif

Les bases de données peuvent se révéler des outils particulièrement intéressant en terme de recherche en design et en art. L'objectif de ce module est d'approcher les bases de données relationnelles, de comprendre leurs spécificités et de développer une structure propre à chaque recherche.

Projet

Il est question pour ce module de définir un terrain de recherche pour ensuite créer une base de données à partir d'une collection de documents. Les "documents" en question peuvent être de multiples natures; interviews, articles, livres, vidéos, sons, images, etc.

Cette recherche peut se faire entièrement ou en partie sur le web, elle peut impliquer des rencontres, des interviews, des prises de vue, etc. Pour la définir, partez d'une situation qui vous intéresse, vous interpelle, la moins générale possible.

Nous allons aborder le modèle de bases de données relationnel. Il ne vous est pas demandé d'utiliser une implémentation spécifique de ce modèle (vous pourriez même créer une base de données entièrement physique) mais d'utiliser les concepts propres au modèle.

Références

Mark Lombardi

Forensic architecture

Mari Bastashevski

A/R

Programming is forgetting