Quentin Lamouroux - La fétichisation de l'Objet

Source (url) https://pratiquesnumeriques.be/index.php/Quentin_Lamouroux_-_La_f%C3%A9tichisation_de_l%27Objet
Site satellite Pratiques Numériques B2-B3
Date 2019-05-16 09:44:43

De Pratiques en milieux numériques

Aller à : navigation, rechercher

{ Ce projet est développé conjointement dans l'atelier de Typographie et de Programmation Numérique Bac3 }

Sommaire[modifier]

Point de départ[modifier]

Fétiche [définition][modifier]

Les collections muséales de Verres[modifier]

Ce projet sur l'Objet a débuté en m’intéressant au caractère kitsch d'objet du quotidien et originellement fonctionnel, élevé au rang d'Objet de Collection, voire à celui d'Objet d'Art : le Verre.
Le corpus se compose donc d'images de verres soufflés récoltées à partir de diverses collections de musées tels que le Metropolitan Museum of Arts de New York, le Museum of Glass de Corning (USA) et le Musée des Arts Décoratifs de Paris.

Verre1.png] Verre.png [https://pratiquesnumeriques.be/index.php?title=Fichier:Verre3.png

À partir de ces documents, l'idée est de créer un système de classification confrontant la dimension fonctionnelle du verre (capacité de contenance, confort au bec, prise en main...) avec sa dimension esthétique (décoration, représentation, forme, couleur, mise en scène...), tout en gardant leurs critères typologiques de base (date, provenance, localisation, dimensions...).

Mise en oeuvre[modifier]

Schéma de base de données[modifier]

Schema verre.png

Extrait base de données[modifier]

Fichier:Https://pratiquesnumeriques.be/images/thumb/3/33/Bd verre.png/300px-Bd verre.png

Table Verre

Fichier:Https://pratiquesnumeriques.be/images/thumb/8/8e/Bd localisation.png/300px-Bd localisation.png

Table Localisation

Fichier:Https://pratiquesnumeriques.be/images/thumb/8/83/Bd forme.png/300px-Bd forme.png

Table Forme

Fichier:Https://pratiquesnumeriques.be/images/thumb/3/3c/Bd fond.png/300px-Bd fond.png

Table Fond

Fichier:Https://pratiquesnumeriques.be/images/thumb/e/ee/Bd fonction.png/300px-Bd fonction.png

Table Fonction

Formulaire d'encodage[modifier]

Interface html[modifier]

Formulaire php data.png

Formulaire.php[modifier]

<?php
  $conn = new PDO('mysql:host=localhost;dbname=objet', 'quentinlamouroux', 'OSolJjpEG8PJHC4M');

  $statement = $conn->query('SELECT * FROM verre');
  $results = $statement->fetchAll(PDO::FETCH_ASSOC);

  $statement = $conn->query('SELECT * FROM fond');
  $fonds = $statement->fetchAll(PDO::FETCH_ASSOC);

  $statement = $conn->query('SELECT * FROM localisation');
  $localisations = $statement->fetchAll(PDO::FETCH_ASSOC);
  
  $statement = $conn->query('SELECT * FROM forme');
  $formes = $statement->fetchAll(PDO::FETCH_ASSOC);


?>

<!DOCTYPE html>
<html lang="en">
  
  <head>
    <meta charset="utf-8" />
    <title>Formulaire</title>
    <link rel="stylesheet" type="text/css" href="src/css/reset.css" />
    <link rel="stylesheet" type="text/css" href="src/css/main.css" />
  
  </head>
  
  <body>
        <form action="envoi.php" method="post" enctype="multipart/form-data">




          <section class="form_part" id="infos_generales"><span class="titre">Informations générales</span> <br><br><br>
            
              <label for="filename">Nom du fichier</label>
              <input name="filename" type="text">

              <label for="glassname">Nom du verre</label>
              <input name="glassname" type="text">

              <label for="annee">Année</label>
              <input name="annee" type="text">

              <label for="dimension">Dimension</label>
              <input name="dimension" type="text">

              <label for="provenance">Provenance</label>
              <input name="provenance" type="text">

              <label for="descriptif">Descriptif</label>
              <textarea name="descriptif" type="text"></textarea>

              <br><br>

            <label for="pied">Pied</label>
            <input type="checkbox" value="1" name="pied_fantaisie">Forme fantaisie
            <br><input type="checkbox" value="1" name="pied_decoration">Décoration

            <label for="jambe">Jambe</label>
            <input type="checkbox" value="1" name="jambe_fantaisie">Forme fantaisie
            <br><input type="checkbox" value="1" name="jambe_decoration">Décoration

            <label for="gobelet">Gobelet</label>
            <input type="checkbox" value="1" name="gobelet_fantaisie">Forme fantaisie
            <br><input type="checkbox" value="1" name="gobelet_decoration">Décoration


          </section>




          <section class="form_part" id="infos_fonds"><span class="titre">Type de fond</span> <br><br><br>

              <label for="fond"></label>
              <select name="fond">
                    <?php
                        foreach($fonds as $fond){
                            echo '<option value="'.$fond['id'].'">'.$fond['type_fond'].'</option>';
                        }
                    ?>
              </select>

              <label for="new_fond">Autre</label>
              <input type="text" name="new_fond">

          </section>




          <section class="form_part" id="infos_localisations"><span class="titre">Localisation</span> <br><br><br>

              <label for="localisation"></label>
              <select name="localisation">
                    <?php
                        foreach($localisations as $localisation){
                            echo '<option value="'.$localisation['id'].'">'.$localisation['nom'].'</option>';
                        }
                    ?>
              </select>

              <label for="new_localisation">Autre</label>
              <input type="text" name="new_localisation">

          </section>




          <section class="form_part" id="infos_formes"><span class="titre">Forme du verre</span> <br><br><br>
          
              <label for="forme"></label>
              <select name="forme">
                    <?php
                        foreach($formes as $forme){
                            echo '<option value="'.$forme['id'].'">'.$forme['type'].'</option>';
                        }
                    ?>
              </select>

              <label for="new_localisation">Autre</label>
              <input type="text" name="new_type">
                          
          </section>




          <section class="form_part" id="infos_fonctionnalites"><span class="titre">Fonctionnalité</span> <br><br><br>
              
              <label for="prise_indice">Prise en main de 1 à 3</label>
              <input type="number" name="prise_indice" min="1" max="3">

              <label for="contenance_indice">Contenance de 1 à 3</label>
              <input type="number" name="contenance_indice" min="1" max="3">

              <label for="confort_indice">Confort au bec de 1 à 3</label>
              <input type="number" name="confort_indice" min="1" max="3">

        </section>



        <section class="submit">
        <input type="submit" value="envoyer">
        </section>

      </form>

  </body>
  
  <script type="text/javascript" src="src/js/jquery-3.1.0.min.js"></script>
  <script type="text/javascript" src="src/js/main.js"></script>

</html>


Envoi.php[modifier]

<?php

    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);

    $conn = new PDO('mysql:host=localhost;dbname=objet', 'quentinlamouroux', 'OSolJjpEG8PJHC4M');
    
    echo $_POST['filename'];
    echo $_POST['glassname'];
    echo $_POST['annee'];
    echo $_POST['dimension'];
    echo $_POST['provenance'];
    echo $_POST['descriptif'];


//pied checkbox
$pied_fantaisie = 0;
    
if(isset($_POST['pied_fantaisie'])){
    $pied_fantaisie = 1;
}

$pied_decoration = 0;
if(isset($_POST['pied_decoration'])){
    $pied_decoration = 1;
}



// jambe checkbox
$jambe_fantaisie = 0;
if(isset($_POST['jambe_fantaisie'])){
    $jambe_fantaisie = 1;
}

$jambe_decoration = 0;
if(isset($_POST['jambe_decoration'])){
    $jambe_decoration = 1;
}



// gobelet checkbox
$gobelet_fantaisie = 0;
if(isset($_POST['gobelet_fantaisie'])){
    $gobelet_fantaisie = 1;
}

$gobelet_decoration = 0;
if(isset($_POST['gobelet_decoration'])){
    $gobelet_decoration = 1;
}



// localisation 
    if($_POST['new_localisation'] != ''){
        $conn->exec("INSERT INTO localisation (nom) VALUES ('".$_POST['new_localisation']."')");

        $localisationId = $conn->lastInsertId();

    }else{

        $localisationId = $_POST['localisation'];
    }



// forme
    if($_POST['new_type'] != ''){
        $conn->exec("INSERT INTO forme (type) VALUES ('".$_POST['new_type']."')");
        
        $formeId = $conn->lastInsertId();

    }else{
        $formeId = $_POST['forme'];
    }



// fonctionnalité 
    $conn->exec("INSERT INTO fonction (prise_en_main, contenance, confort) VALUES ('".$_POST['prise_indice']."', '".$_POST['contenance_indice']."', '".$_POST['confort_indice']."')");

    $fonctionId = $conn->lastInsertId();



// fond
    if($_POST['new_fond'] != ''){
        $conn->exec("INSERT INTO fond (type_fond) VALUES ('".$_POST['new_fond']."')");

        $fondId = $conn->lastInsertId();

    }else{

        $fondId = $_POST['fond'];
    }



// verre
    $conn->exec("INSERT INTO verre (id_localisation, id_forme, id_fonction, id_fond, nom_fichier, nom_verre, annee, dimension, provenance, descriptif, pied_fantaisie, pied_decoration, jambe_fantaisie, jambe_decoration, gobelet_fantaisie, gobelet_decoration) VALUES ('".$localisationId."', '".$formeId."', '".$fonctionId."', '".$fondId."', '".$_POST['filename']."', '".$_POST['glassname']."', '".$_POST['annee']."', '".$_POST['dimension']."', '".$_POST['provenance']."', '".$_POST['descriptif']."', '".$pied_fantaisie."', '".$pied_decoration."', '".$jambe_fantaisie."', '".$jambe_decoration."', '".$gobelet_fantaisie."', '".$gobelet_decoration."')");
    print_r($conn->errorInfo());


    
?>

Utilisation et mise en page[modifier]

Catalogue en ligne[modifier]

Interface[modifier]

Requete php data.png

request.php[modifier]

{petite partie du code}

<?php
  $conn = new PDO('mysql:host=localhost;dbname=objet', 'quentinlamouroux', 'OSolJjpEG8PJHC4M');

  $statement = $conn->query('SELECT * FROM verre');

  $statement1 = $conn->query("SELECT nom_verre, nom_fichier, annee, dimension, provenance, descriptif FROM verre WHERE pied_fantaisie = 1 AND jambe_fantaisie = 1 AND gobelet_fantaisie = 1 ORDER BY dimension ASC");
  $results1 = $statement1->fetchAll(PDO::FETCH_ASSOC);

  $statement2 = $conn->query("SELECT nom_verre, nom_fichier, annee, dimension, provenance, descriptif FROM verre WHERE pied_fantaisie = 0 AND jambe_fantaisie = 0 AND gobelet_fantaisie = 0 ORDER BY dimension ASC");
  $results2 = $statement2->fetchAll(PDO::FETCH_ASSOC);

?>

<!DOCTYPE html>
<html lang="en">
  
  <head>
    <meta charset="utf-8" />
    <title>Requêtes</title>
    <link rel="stylesheet" type="text/css" href="src/css/reset.css" />
    <link rel="stylesheet" type="text/css" href="src/css/main.css" />
  
  </head>
  
  <body>

  <section class="request">
      <div class="titre">Pied fantaisie, jambe fantaisie, gobelet fantaisie</div>
    <?php
    foreach($results1 as $element){
        echo '<div class="glass">'.$element['nom_fichier'].
        '<br>- '.$element['nom_verre'].
        '<br>- '.$element['annee'].
        '<br>- '.$element['dimension'].
        '<br>- '.$element['provenance'].
        '<br>- '.$element['descriptif'].
        '<br>'.'<img src="glass/'.$element['nom_fichier'].'">'.
        '</div>';
    }
    ?>
    </section>

  <section class="request" >
  <div  class="titre">Pied sans fantaisie, jambe sans fantaisie, gobelet sans fantaisie</div>
    <?php
    foreach($results2 as $element){
        echo '<div class="glass">'.$element['nom_fichier'].
        '<br>- '.$element['nom_verre'].
        '<br>- '.$element['annee'].
        '<br>- '.$element['dimension'].
        '<br>- '.$element['provenance'].
        '<br>- '.$element['descriptif'].
        '<br>'.'<img src="glass/'.$element['nom_fichier'].'">'.
        '</div>';
    }
    ?>
    </section>

  </body>
  
  <script type="text/javascript" src="src/js/jquery-3.1.0.min.js"></script>
  <script type="text/javascript" src="src/js/main.js"></script>

</html>



Édition[modifier]

Récupérée de « https://pratiquesnumeriques.be/index.php?title=Quentin_Lamouroux_-_La_fétichisation_de_l%27Objet&oldid=2120 »

Dernière modification effectuée le 20 mai 2019.