Aller au contenu

« Utilisateur:Sable » : différence entre les versions

De Design numérique
Aucun résumé des modifications
 
(43 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :


<div style="position:fixed; top:-200px;left:-200px; color:whitesmoke; display:grid;gap:50px;grid-template-columns:repeat(13, 1fr)">
<div style="position:fixed; top:-200px;left:-200px; color:whitesmoke; display:grid;gap:50px;grid-template-columns:repeat(13, 1fr)">
<div style="transform:rotate(3deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(6deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(9deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(12deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(15deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(18deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(21deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(24deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(27deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(30deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(33deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(36deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(39deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(42deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(45deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div>
<div style="z-index:-999;transform:rotate(3deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(6deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(9deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(12deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(15deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(18deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(21deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(24deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(27deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(30deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(33deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(36deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(39deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(42deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div><div style="transform:rotate(45deg);clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax100vmax,-100vmax 100vmax,-100vmax -100vmax,0 0,0 100%,100% 100%,100% 0,00);height:200vh; width:100px; box-shadow: white 10px 10px 50px 5px, #ffa 30px 30px 50px 10px;"></div>
</div>
</div>
<div style="position:absolute;top:600px;right:150px;width:fit-content;height:min-content;border:red 6px dashed;padding:5px;background:white">J'ai restructuré entièrement ma page pcq c'était un bordel sans nom à maintenir</div>


<div style="margin-top:25px; transform:skew(0deg, 5deg);width: auto; font-family:sans; background:blue; color:#fff; padding:20px; padding-top:10px;font-size:120%;  box-shadow: white 0px 0px 0px 2px inset, blue 10px -10px 0px -3px, white 10px -10px,blue 20px -20px 0px -3px,white 20px -20px, blue 30px -30px 0px -3px, white 30px -30px, blue 40px -40px 0px -3px, white 40px -40px, Fuchsia 40px -40px 50px 0px, inset 0px 0px 30px 5px black; position:absolute; top:0px;right:200px;">
<div style="margin-top:25px; transform:skew(0deg, 5deg);width: auto; font-family:sans; background:blue; color:#fff; padding:20px; padding-top:10px;font-size:120%;  box-shadow: white 0px 0px 0px 2px inset, blue 10px -10px 0px -3px, white 10px -10px,blue 20px -20px 0px -3px,white 20px -20px, blue 30px -30px 0px -3px, white 30px -30px, blue 40px -40px 0px -3px, white 40px -40px, Fuchsia 40px -40px 50px 0px, inset 0px 0px 30px 5px black; position:absolute; top:50px;right:200px;">
Parmis les choses que j'aime fort :
Parmis les choses que j'aime fort :
<div style="display:grid;grid-template-columns:1fr 1fr;">
<div style="display:grid;grid-template-columns:1fr 1fr;">
Ligne 10 : Ligne 11 :
* les vélos
* les vélos
* les ordinateurs
* les ordinateurs
* les CDs
* les cassettes et les librairies
* voyager
* linux et le libre
* Avoir des obsessions avec du hardware
 
</div>
</div>
<div>
<div>
Ligne 18 : Ligne 21 :
* mes ami.e.s
* mes ami.e.s
* la techno et la musique forte
* la techno et la musique forte
* le soleil en toute saison
</div>
</div>
</div>
</div>
</div>
</div>


<div style="transform:skewY(-10deg)translateY(30%)translateX(30%);width: fit-content; font-family: 'Times New Roman','Garamond','Garamont', Garamond, Garamont, Times, serif; background:#f8f8f8; color:#222;font-size:120%;  box-shadow: black 0px 0px 0px 2px inset, rgb(248,248,248) -10px -10px 0px -3px, rgb(0,0,0) -10px -10px,rgb(248,248,248) -20px -20px 0px -3px, rgb(0,0,0) -20px -20px, rgb(248,248,248) -30px -30px 0px -3px, rgb(0,0,0) -30px -30px, rgb(248,248,248) -40px -40px 0px -3px, rgb(0,0,0) -40px -40px, #DFFF00 -40px -40px 150px 75px; border:3px solid black; position:absolute;">
__TOC__
</div>
<br><br>
<div style="margin-top:50px; transform:translate(2.5%);width: 90%; font-family: 'Times New Roman','Garamond','Garamont', Garamond, Garamont, Times, serif; color:#222; padding:20px; padding-top:10px;font-size:120%;  /* box-shadow: black 0px 0px 0px 2px inset, rgb(255, 0, 0) 20px -20px 150px 75px; */">
<div style="margin-top:50px; transform:translate(2.5%);width: 90%; font-family: 'Times New Roman','Garamond','Garamont', Garamond, Garamont, Times, serif; color:#222; padding:20px; padding-top:10px;font-size:120%;  /* box-shadow: black 0px 0px 0px 2px inset, rgb(255, 0, 0) 20px -20px 150px 75px; */">


= Présentation de moi =
= Présentation de moi =


Salut, bienvenue,je m'appelle Sable, j'ai 21 ans et je suis étudiante en cours de '''Design Numérique'''. C'est ici que je viens documenter les projets que je mène au sein de ce cours à l'erg. Mais il y a aussi des petits trucs marrants qui se promènent.<br>
Salut, moi c'est Sable, j'ai 22 ans, je suis étudiante en cours de '''Design Numérique'''. <br>
Je suis actuellement en B2, c'est ma première année ici.<br>
Je suis actuellement en B3, c'est ma deuxième année à l'ERG.<br>
J'essaie de voir jusqu'où une page mediawiki peut être poussée, sans avoir les droits administrateur.ices.<br><br>
<br>
Bonne lecture !
 
'''<br><br>
<div align="center" style="border:2px red dotted;padding:2px;width:fit-content"><i>[https://designnumerique.be/w/index.php?title=Utilisateur:Sable&action=edit Modifier la page]</i></div>
 
 
== Early life ==
== Early life ==
Cela fait maintenant à peine plus d'un an que j'ai pour la première fois de ma vie écrit ma première ligne de code. C'est quelque chose qui me faisait très très peur et que j'avais toujours vraiment appréhendé. En école de graphisme, là où j'étudiais avant, on nous montrait ça comme une bizarrerie, un petit jouet un peu chelou et ésotérique. Une prof s'était mis en tête de nous apprendre un peu à en faire, mais ne sachant pas coder elle-même, l'apprentissage fut un peu compliqué.<br>
Cela fait maintenant à peine plus d'un an que j'ai pour la première fois de ma vie écrit ma première ligne de code. C'est quelque chose qui me faisait très très peur et que j'avais toujours vraiment appréhendé. En école de graphisme, là où j'étudiais avant, on nous montrait ça comme une bizarrerie, un petit jouet un peu chelou et ésotérique. Une prof s'était mis en tête de nous apprendre un peu à en faire, mais ne sachant pas coder elle-même, l'apprentissage fut un peu compliqué.<br>
C'est un peu plus tard lors d'un workshop de développement web, auxquel je suis allé à reculons, que j'ai vraiment pris conscience de ce que ça recouvrait, et des possibilités créatives qu'un tel outils pouvait offrir. Je me suis un peu lancée dans la gueule du loup, j'ai lâché toutes les recherches que j'avais réalisé pour mon projet de diplôme, et j'ai commencé à coder, sans avoir aucune idée de ce que je faisais, aucune connaissance des bonnes pratiques, aucun truc et astuce.
C'est un peu plus tard lors d'un workshop de développement web, auxquel je suis allé à reculons, que j'ai vraiment pris conscience de ce que ça recouvrait, et des possibilités créatives qu'un tel outils pouvait offrir. Je me suis un peu lancée dans la gueule du loup, j'ai lâché toutes les recherches que j'avais réalisé pour mon projet de diplôme, et j'ai commencé à coder, sans avoir aucune idée de ce que je faisais, aucune connaissance des bonnes pratiques, aucun truc et astuce.
<br>
<br>
Quatre mois plus tard j'ai rendu ce projet, un petit outils qui permettait de transformer des articles wikipédias en éditions imprimables. C'était mal foutu, totalement bugué, pas très beau, mais ça faisait le taff ! (acptures d'écran à venir)
Quatre mois plus tard j'ai rendu ce projet, un petit outils qui permettait de transformer des articles wikipédias en éditions imprimables. C'était mal foutu, totalement bugué, pas très beau, mais ça faisait le taff ! (captures d'écran à venir).  <span style="color:red">Edit 1 an plus tard : ça ne viendra jamais, j'ai perdu les fichiers je crois</span>
<br>
<br>
Je n'ai pas arrêté de coder depuis
Je n'ai pas arrêté de coder depuis. <span style="color:red">Edit 2 ans plus tard : Vrai</span>
<br>
<br>
Me voici, maintenant un an après ce rendu, toujours en train d'éditer du [[Syntaxe wiki | Wikitexte]] (language de balisage utilisé sur les pages de MediaWiki, le moteur de wiki de Wikipédia) et des lignes de [[css]]...
Me voici, maintenant un an après ce rendu, toujours en train d'éditer du [[Syntaxe wiki | Wikitexte]] (language de balisage utilisé sur les pages de MediaWiki, le moteur de wiki de Wikipédia) et des lignes de [[css]]...
<br><br>
<br><br>
Ce que je vois quand j'édite cette page :
Ce que je vois quand j'édite cette page :
<div style="position:absolute">
 
[[Fichier:Wiki-edit-sable.png|thumb]]
[[Fichier:Wiki-edit-sable.png|500px]]
</div>
 
<br>
<br>
                                              J'aime particulièrement créer des interfaces et des petits trucs rigolos qui bougent un peu.
<div align="center">J'aime bien créer des interfaces et des petits trucs rigolos qui bougent un peu. J'aime aussi la décroissance numérique, faire avec le minimum possible, essayer de faire le maximum avec du css et du html vanilla, sans caser de javascript, et - j'ose sortir ces mots de ma bouche - des librairies et des frameworks.........
 
Cela tient aussi bien pour les sites, l'interface, tout le fichier statique, que l'infrastructure derrière, le serveur sur lequel c'est hébergé, etc.</div>
</div>
</div>


<div style="position:absolute;">
<div style="position:absolute;">
<div style="margin-top:50px; transform:translateY(10%)translateX(50%)skew(5deg, 5deg);width: 40vw; font-family: 'Times New Roman','Garamond','Garamont', Garamond, Garamont, Times, serif; background:#f8f8f8; color:#222; padding:20px; padding-top:10px;font-size:120%;  box-shadow: black 0px 0px 0px 2px inset, rgb(248,248,248) 10px -10px 0px -3px, rgb(0,0,0) 10px -10px,rgb(248,248,248) 20px -20px 0px -3px, rgb(0,0,0) 20px -20px, rgb(248,248,248) 30px -30px 0px -3px, rgb(0,0,0) 30px -30px, rgb(248,248,248) 40px -40px 0px -3px, rgb(0,0,0) 40px -40px, rgb(0, 0, 255) 40px -40px 150px 75px,inset 0px 0px 30px 5px black;">
== Projets de l'ERG ==
== Projets de l'ERG ==
<div style="margin-top:50px; transform:translateY(10%)translateX(60%)skew(5deg, 10deg);width: 40vw; font-family: 'Times New Roman','Garamond','Garamont', Garamond, Garamont, Times, serif; background:#f8f8f8; color:#222; padding:20px; padding-top:10px;font-size:120%;  box-shadow: black 0px 0px 0px 2px inset, rgb(248,248,248) 10px -10px 0px -3px, rgb(0,0,0) 10px -10px,rgb(248,248,248) 20px -20px 0px -3px, rgb(0,0,0) 20px -20px, rgb(248,248,248) 30px -30px 0px -3px, rgb(0,0,0) 30px -30px, rgb(248,248,248) 40px -40px 0px -3px, rgb(0,0,0) 40px -40px, rgb(0, 0, 255) 40px -40px 150px 75px,inset 0px 0px 30px 5px black;">
=== Work ===
Un peu le premier exercice, et mon premier site entièrement à moi où je peux y mettre un peu ce que je veux, des expérimentations en tout genre, des choses qui parlent de moi.... <br>
Un peu le premier exercice, et mon premier site entièrement à moi où je peux y mettre un peu ce que je veux, des expérimentations en tout genre, des choses qui parlent de moi.... <br>
Je me suis amusée avec du javascript assez simple pour afficher des fichiers médias au survol de texte, tout en gardant une esthétique très simple, bichrome, qui rappelle un peu CSS 1.0.
Je me suis amusée avec du javascript
<br>
<br>
[https://www.work.designnumerique.be/sable Mon site avec des trucs dessus un peu marrants]
[https://www.work.designnumerique.be/sable Mon site avec des trucs dessus un peu marrants]
</div>
<br><br><br><br><br>
<div style="margin-top:50px; transform:translateX(25vw)translateY(10%)skew(-0deg,5deg);width: 60vw; font-family: 'Times New Roman','Garamond','Garamont', Garamond, Garamont, Times, serif; background:#f8f8f8; color:#222; padding:20px; padding-top:10px;font-size:120%; box-shadow: black 0px 0px 0px 2px inset, rgb(248,248,248) 10px -10px 0px -3px, rgb(0,0,0) 10px -10px,rgb(248,248,248) 20px -20px 0px -3px, rgb(0,0,0) 20px -20px, rgb(248,248,248) 30px -30px 0px -3px, rgb(0,0,0) 30px -30px, rgb(248,248,248) 40px -40px 0px -3px, rgb(0,0,0) 40px -40px, rgb(0, 0, 255) 40px -40px 150px 40px,inset 0px 0px 30px 5px black;">
=== Publier la parole ===
Projet en cours, je crée un outils permettant une écoute interactive de conférences, tables rondes, et tout autre contenu parlé et intéressant, en permettant à l'utilisateurice d'annoter des passages, mais aussi d'avoir des médias et textes embedded dans le texte.<br>
==== Fonctionnement technique ====
Je me base sur l'API Fetch de javascript, qui est la solution ni trop simple ni trop complexe, mais qui utilise un protocole HTTP avec une requête GET, impossible de faire fonctionner le <code>import</code>, et l'API File a l'air bien complexe.<br>
Maintenant je vais devoir écrire un parser. J'utilise un fichier '''.srt''' qui est formaté ainsi :<br> <pre>30
00:01:04,768 --> 00:01:06,048
The primary things we really want</pre>
<br>
Donc dans l'ordre : combientième ligne de sous-titre, timing du sous-titre, contenu textuel. <br>
<br>
A ça est ajouté un fichier [[JSON]] permettant de stocker des métadonnées relatives à des lignes spécifiques des sous-titres, pour pouvoir associer les deux plus tards.<br>
Ce fichier doit être importé, cela est fait encore avec '''fetch''' : <br>
<pre>
export async function fetchJson() {
  try {
    const response = await fetch("../sources/sample.json");
    if (!response.ok) {
      throw new Error("Erreur de recuperation JSON");
    }
    return await response.json();
  } catch (error) {
    return null;
  }
}
</pre> <br>
Il se passe plusieurs trucs compliqués mais en gros ça fonctionne. Ca c'est son propre fichier, qui n'a pas besoin d'être appelé dans l'HTML. On va plutôt l'appeler dans d'autres fichiers JavaScript ainsi : <code> import { fetchJson } from "./fetchData.js"; </code> <br> Puis on peut en faire ce qu'on veut dans une fonction async en assignant une variable à notre document importé <code> const data = await fetchJson(); </code> <br>
Les éléments de ce JSON sont des commentaires censés venir ajouter des éléments de contexte aux sous-titres. On doit les faire apparaître dynamiquement au moment où les sous-titres concernés sont visualisés. <br> <br>
Pour comprendre comment cela fonctionne intéressons-nous déja au scroll (ça a un rapport, promis). <br>
=====Le scroll=====
Le scroll fonctionne de deux façons dans l'outil :
* Scroll automatique d'avancement des sous-titres
* Scroll par l'utilisateur·ice


<br>
[[Html2print moi]]
Le premier est assez simple, on va venir regarder le timing de la vidéo en cours, et on va regarder plusieurs fois par secondes quel sous-titre est censé être affiché. Cela est rendu pratique par la manière dont le fichier '''.srt''' est agencé. <br>
Le scroll manuel est un niveau un peu au dessus. <br>
Il est rendu possible grace au magnifique <code> window.addEventListener("wheel", foo);</code> Contrairement à son cousin '''"scroll"''', l'event listener '''"wheel"''' va écouter quand n'importe quelle opération est faite avec la roue de scroll de la souris. Ce qu'on va maintenant faire c'est identifier quel sous-titre se situe au milieu de la fenêtre, on va lui donner un <code> id="isactive"</code> pour pouvoir s'y réferer ensuite. Une fois que ce sous-titre est identifié, on va aller chercher son timing, celui-même utilisé pour savoir quand l'afficher lors de la lecture de la vidéo, et on va donner cette valeur à la vidéo, pour qu'elle avance automatiquement là où l'on en est.<br>
Ces deux manières de scroll ont des fonctionnements inverses, mais qui se complètent.<br>
Une limitation pour l'instant de ce scroll est qu'il va être interrompu au bout d'un moment, le code va prendre le sous-titre qui se trouve actuellement au milieu et l'assigner à la vidéo, cela peut se passer pendant le scroll et l'interrompre totalement.<br> <br>


Revenons en aux
[[Annotateur de conférences]]
=====Commentaires=====
Le fichier de données est constitué ainsi :
<pre>
    {
      "id": "10",
      "text": "Image de linux.",
      "comment": "Ceci est une image de Damn Small Linux. C'est un système d'exploitation.",
      "image_link": "http://www.damnsmalllinux.org/damnsmall.jpg",
      "show_duration": "5",
      "css_addition": "#subtitles{color: aqua;} "
    }
</pre>
Il se passe un paquet de choses, voyons cela ligne par ligne :
* "id" va permettre de retrouver à quel sous-titre ce commentaire est associé
* "text" est le titre du commentaire
* "comment" est le texte (eh oui c'est mal foutu) du commentaire
* "image_link" permets de pouvoir insérer une image dans le commentaire
* "show_duration" indique la durée pendant laquelle ce commentaire devra rester actif après que le sous-titre soit passé. Il se réfère là au nombre de sous-titres passés et non à une donnée temporelle.
* "css_addition" permets de modifier l'apparence entière de la page pendant que ce commentaire est actif. Ceci doit être écris en css pur.
<br>
C'est donc un bon nombre d'informations qu'on va venir récupérer pour chaque commentaire. Ce qu'on en fait pour le coup est assez simple, simplement l'insérer dans une section "commentaire", en séparant les différents éléments de titre, texte, etc. <br>
Pour l"id", on va écouter le data-id du sous-titre possédant la classe "isactive" et venir les comparer pour savoir s'il faut afficher le commentaire ou non, tout en prenant en compte le "show_duration". Le "css_addition" lui est inséré dans un élément "<style></style>" dans le '''head''' du document.
<br>
<br>
====L'apparence====
En ce qui concerne l'apparence de l'outils j'ai été très indécise sur à quel point agir, et potentiellement contraindre les utilisateur·ices. J'ai décidé d'un layout assez simple et relativement responsive, permettant surtout le bon fonctionnement des sous-titres (ceux-ci sont pour l'instant obligatoirement ligne par ligne, avec le sous-titre actif au milieu). Les utilisateur·ices ont le contrôle total sur les couleurs, fonds, caractéristiques typographiques, et tout autres attributs ne relevant pas de la disposition des éléments.
====Une platforme====
L'usage de cet outils est limité, il a été pensé pour la rediffusion de conférences, en permettant un ajout communautaire d'éléments contextuels. Il peut être utilisé aussi plus largement pour tous types de médias vidéos dans lequel une personne parle. <br>
L'idée originale était de pouvoir permettre à l'utilisateur·ice d'ajouter en temps réel d'ajouter, de modifier des commentaires au fil du visionnage. Cela s'est trouvé ête un poil ambitieux au vu du temps imparti. Mais ce serait un élément intéressant à développer plus tard. <br>
Mais il faut que ces contenus existent quelque part, c'est un format particulier, qui ne se prête qu'à une platforme qui a été construite pour. C'est donc ma proposition pour les temps qui viennent, de construire une platforme permettant le partage, le relayage entre pairs de ces contenus, que ces annotations deviennent un effort et un enrichissement collectif. C'est un dispositif qui peut être déployé lors d'un événement spécifique, puis exister sur un long terme, permettant la conservation et la mise à jour des informations transmises.
</div>
<div style="transform:skewY(-10deg)translateY(-450%);width: min-content; font-family: 'Times New Roman','Garamond','Garamont', Garamond, Garamont, Times, serif; background:#f8f8f8; color:#222;font-size:120%;  box-shadow: black 0px 0px 0px 2px inset, rgb(248,248,248) -10px -10px 0px -3px, rgb(0,0,0) -10px -10px,rgb(248,248,248) -20px -20px 0px -3px, rgb(0,0,0) -20px -20px, rgb(248,248,248) -30px -30px 0px -3px, rgb(0,0,0) -30px -30px, rgb(248,248,248) -40px -40px 0px -3px, rgb(0,0,0) -40px -40px, #DFFF00 -40px -40px 150px 75px; border:3px solid black; position:absolute;">
__TOC__
</div>


<div style="transform:translateY(-510%)translateX(40%)skewY(-10deg);width: 20%; font-family: 'Times New Roman','Garamond','Garamont', Garamond, Garamont, Times, serif; background:#f8f8f8; color:#222;font-size:120%;  box-shadow: black 0px 0px 0px 2px inset, rgb(248,248,248) -10px -10px 0px -3px, rgb(0,0,0) -10px -10px,rgb(248,248,248) -20px -20px 0px -3px, rgb(0,0,0) -20px -20px, rgb(248,248,248) -30px -30px 0px -3px, rgb(0,0,0) -30px -30px, rgb(248,248,248) -40px -40px 0px -3px, rgb(0,0,0) -40px -40px, #FF0 -40px -40px 150px 75px,inset 0px 0px 20px 0px black; border:3px solid black; position:absolute;padding:40px;">
[[Read me if u can]]
=== html2print-moi cet article ===
Un bout d'article parlant du graphisme du jeu Wipeout, une interview menée par Benjamin Vertu pour le site [https://www.t-o-m-b-o-l-o.eu tombolo] <br>
Cet article peut maintenant être imprimé sous format A5 facilement grace à [[Paged.js]].<br>
[http://work.designnumerique.be/sable/article/ Mon article est là] '''(WIP, ne fonctionne pas)'''
</div>
<div style="transform:translateY(-250%)translateX(-40%)skewY(-10deg);width: 20%; font-family: 'Times New Roman','Garamond','Garamont', Garamond, Garamont, Times, serif; background:#f8f8f8; color:#222;font-size:120%;  box-shadow: black 0px 0px 0px 2px inset, rgb(248,248,248) -10px -10px 0px -3px, rgb(0,0,0) -10px -10px,rgb(248,248,248) -20px -20px 0px -3px, rgb(0,0,0) -20px -20px, rgb(248,248,248) -30px -30px 0px -3px, rgb(0,0,0) -30px -30px, rgb(248,248,248) -40px -40px 0px -3px, rgb(0,0,0) -40px -40px, #DFFF00 -40px -40px 150px 75px; border:3px solid black; position:absolute;padding:30px;">


=== Read me if you can ===
[[Digital artefacts]]
Morceaux de ''L'éloge du bug'', mis bouts à bouts, avec une lecture complexifiée par des mini-jeux web.<br>
Petit exercice de [[javascript]] bien sympa.
<br><br>
Pour ce paragraphe là, je me suis inspirée du site [https://www.monkeytype.com monkeytype] qui est un jeu/test d'écriture sur clavier qui mesure simplement la vitesse d'écriture sur des mots aléatoires.<br>
[http://work.designnumerique.be/bug/p2/ Tape le texte] <br><br>
Pour celui-ci je me suis inspirée de méthodes de lecture rapide que certain.es utilisent<br>
[http://work.designnumerique.be/bug/p8/ Lis moi vite]
</div>
<div style="margin-top:50px; transform:translateX(-20%)translateY(-40%)skew(5deg,0deg);width: 35%; font-family: 'Times New Roman','Garamond','Garamont', Garamond, Garamont, Times, serif; background:#f8f8f8; color:#222; padding:20px; padding-top:10px;font-size:120%;  box-shadow: black 0px 0px 0px 2px inset, rgb(248,248,248) 10px -10px 0px -3px, rgb(0,0,0) 10px -10px,rgb(248,248,248) 20px -20px 0px -3px, rgb(0,0,0) 20px -20px, rgb(248,248,248) 30px -30px 0px -3px, rgb(0,0,0) 30px -30px, rgb(248,248,248) 40px -40px 0px -3px, rgb(0,0,0) 40px -40px, rgb(0, 0, 255) 40px -40px 150px 75px;position:absolute">
=== Digital Artefacts ===


[[Fichier:Digital-Artefacts.png|vignette]]
== Du blablatage ==
http://work.designnumerique.be/sable/website/
[[Prise de note]]
<br><br><br><br><br>


Ce projet fictif vise à questionner l'évolution de nos données digitales au fil du temps, au fil de leur partage massif et de leur accumulation. Qu'en restera-t-il dans 2000 ans ? <br>
C'est aussi une exploration des compressions utilisées dans les formats d'images vernaculaires, qui composent l'écrasante majorité des médias qui circulent sur internet aujourd'hui.
<ref name="A vernacular of File Formats">[https://beyondresolution.info/A-Vernacular-of-File-Formats A Vernacular of File Formats - Rosa Menkman]</ref>
<br><br>
J'ai donc voulu simuler une dégradation graduelle mais violente et inexorable de la donnée, puis j'ai ensuite exploré ce qu'il était possible d'en ressortir, à la fois d'un aspect très plastique de ces dégradations, mais aussi très scientifique, orienté sur la donnée elle même, ainsi que les métadonnées des fichiers.
<br><br>
Le projet prends alors la forme d'une fiction se passant plusieurs millénaires dans un futur dans lequel les humain.e.s elleux-mêmes sont dématérialisé.e.s en des données numériques, et cherchent à revenir sur leur passé, quels informations pourront-iels retirer de ces amas de données hexadecimales qui forment des lambeaux d'images ?
<br><br>
Les images sont tirées de Google Image grâce à des outils de [[Scraping]], les images sélectionnées (plus de 35000) sont thématisées autour de l'art,de l'architecture, de paysages et de nourriture, un peu comme un diaporama d'antropologue.
<br><br>
Quand les données disparaissent lentement, est-ce que le sens des images disparaît également ? Est-ce qu'elles perdent du sens ? Cette perte est-elle une fatalité ? Qu'est-ce que cela représente comme danger à une époque où de plus en plus de données sont accumulées et n'existent plus que sous forme d'électrons et de silicone ?
<br><br>
Le site internet en lui même prends une esthétique qui s'inspire du structuralisme ou du brutalisme, pas d'effets particulièrements ''fancy'', rien de très gourmand en ressources, un juste milieu entre la pratiqualité de l'usage, et de la proximité avec la structure brut de la donnée.
<br>
Les données apparaissent comme dans un catalogue, peuvent rapidement être parcourues, et sommairement comparées ensemble.
<br><br>
Ce projet se base sur un récit de science fiction inventé, dans un hypothétique futur où le monde physique n'existe plus, les humains ayant choisi de se dématérialiser, comme une étape supérieure de l'évolution naturelle, l'humain ultime. Dans cette nouvelle ère d'information et de signaux, les images ont alors peu de places,et sont totalement supprimées afin de libérer de la place pour augmenter la puissance de calculs des cerveaux. Dans l'incapacité de produire des images nouvelles, elles sont  répétées, partagées, modifiées. Et petit à petit elles viennent à se dégrader, perdant doucement leur signifiance, leur symbole, ce qu'elles portent, ce qu'elles représentent. Bientôt elles viennent à être oubliées. On oublie ce qu'est le monde phyisque, ce à quoi il ressemblait, ce n'est plus qu'un vague relent d'une humanité lointaine
</div>
</div>
<div style="padding-bottom:50px;>


<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<div style="padding-bottom:50px;>
==== Références (GAFAM-less) ====
==== Références (GAFAM-less) ====
<span style="color:orange">'''Map complète de références sur https://work.designnumerique.be/sable/mindmap/'''</span>
===== Formats d’images et compression =====
===== Formats d’images et compression =====
''Rosa Menkman'' https://beyondresolution.info <br>
''Rosa Menkman'' https://beyondresolution.info <br>

Dernière version du 15 février 2026 à 17:36

J'ai restructuré entièrement ma page pcq c'était un bordel sans nom à maintenir

Parmis les choses que j'aime fort :

  • les vélos
  • les ordinateurs
  • les cassettes et les librairies
  • linux et le libre
  • Avoir des obsessions avec du hardware
  • apprendre des choses aux gens
  • faire des sites internets
  • mes ami.e.s
  • la techno et la musique forte
  • le soleil en toute saison



Présentation de moi

Salut, moi c'est Sable, j'ai 22 ans, je suis étudiante en cours de Design Numérique.
Je suis actuellement en B3, c'est ma deuxième année à l'ERG.


Early life

Cela fait maintenant à peine plus d'un an que j'ai pour la première fois de ma vie écrit ma première ligne de code. C'est quelque chose qui me faisait très très peur et que j'avais toujours vraiment appréhendé. En école de graphisme, là où j'étudiais avant, on nous montrait ça comme une bizarrerie, un petit jouet un peu chelou et ésotérique. Une prof s'était mis en tête de nous apprendre un peu à en faire, mais ne sachant pas coder elle-même, l'apprentissage fut un peu compliqué.
C'est un peu plus tard lors d'un workshop de développement web, auxquel je suis allé à reculons, que j'ai vraiment pris conscience de ce que ça recouvrait, et des possibilités créatives qu'un tel outils pouvait offrir. Je me suis un peu lancée dans la gueule du loup, j'ai lâché toutes les recherches que j'avais réalisé pour mon projet de diplôme, et j'ai commencé à coder, sans avoir aucune idée de ce que je faisais, aucune connaissance des bonnes pratiques, aucun truc et astuce.
Quatre mois plus tard j'ai rendu ce projet, un petit outils qui permettait de transformer des articles wikipédias en éditions imprimables. C'était mal foutu, totalement bugué, pas très beau, mais ça faisait le taff ! (captures d'écran à venir). Edit 1 an plus tard : ça ne viendra jamais, j'ai perdu les fichiers je crois
Je n'ai pas arrêté de coder depuis. Edit 2 ans plus tard : Vrai
Me voici, maintenant un an après ce rendu, toujours en train d'éditer du Wikitexte (language de balisage utilisé sur les pages de MediaWiki, le moteur de wiki de Wikipédia) et des lignes de css...

Ce que je vois quand j'édite cette page :


J'aime bien créer des interfaces et des petits trucs rigolos qui bougent un peu. J'aime aussi la décroissance numérique, faire avec le minimum possible, essayer de faire le maximum avec du css et du html vanilla, sans caser de javascript, et - j'ose sortir ces mots de ma bouche - des librairies et des frameworks......... Cela tient aussi bien pour les sites, l'interface, tout le fichier statique, que l'infrastructure derrière, le serveur sur lequel c'est hébergé, etc.

Projets de l'ERG

Un peu le premier exercice, et mon premier site entièrement à moi où je peux y mettre un peu ce que je veux, des expérimentations en tout genre, des choses qui parlent de moi....
Je me suis amusée avec du javascript
Mon site avec des trucs dessus un peu marrants

Html2print moi

Annotateur de conférences

Read me if u can

Digital artefacts

Du blablatage

Prise de note




Références (GAFAM-less)

Map complète de références sur https://work.designnumerique.be/sable/mindmap/

Formats d’images et compression

Rosa Menkman https://beyondresolution.info
Leegte https://jpeg.leegte.org/about.html

Archivage et classement

SICV https://sicv.activearchives.org/mondo/
Guttormsgard https://guttormsgaard.activearchives.org/

Pour construire cette page

CSS Tricks https://css-tricks.com/different-ways-to-get-css-gradient-shadows/
CSS Scan https://getcssscan.com/css-box-shadow-examples
W3C CSS Colors https://www.w3schools.com/cssref/css_colors.php
Radical Web Design https://radicalweb.design/themes/bricole/
SoftGlossary https://softglossary.space/
(RIGHT IN) THE FEELS https://rightinthefeels.copyright.rip/#archive_docs
Multidimensional.link https://multidimensional.link/southland