Quentin Lamouroux - La fétichisation de l'Objet

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 }

Point de départ

Fétiche [définition]

  • Objet auquel on attribue un pouvoir magique et bénéfique, objet qui nous procure de la joie.
  • Objet comme paradigme de la communication humaine : en lui se fixe quelque chose de celui qui l’utilise, le regarde, le crée, le représente.
  • Objet révélateur de notre vision du monde, ce que l’homme dépose en lui [l’objet] de fondamentalement humain.

Les collections muséales de Verres

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

Schéma de base de données

Schema verre.png

Extrait base de données

Table Verre
Table Localisation
Table Forme
Table Fond
Table Fonction

Formulaire d'encodage

Interface html

Formulaire php data.png

Formulaire.php

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

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

Catalogue en ligne

Interface

Requete php data.png

request.php

{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