La fétichisation de l'Objet - Quentin Lamouroux
{ Ce projet est développé conjointement dans l'atelier de Typographie et de Pratiques Numériques 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.
À 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
Extrait base de données
Formulaire d'encodage
Interface html
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
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>