Utilisateur:Sable : Différence entre versions

De Design numérique
Aller à : navigation, rechercher
(Org Mode)
(Présentation de moi)
Ligne 285 : Ligne 285 :
 
manière ci-tôt décris.
 
manière ci-tôt décris.
 
</div>
 
</div>
<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>
+
<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;>
 
<div style="padding-bottom:50px;>
 
==== Références (GAFAM-less) ====
 
==== Références (GAFAM-less) ====

Version du 8 juin 2025 à 14:10

Parmis les choses que j'aime fort :

  • les vélos
  • les ordinateurs
  • les CDs
  • voyager
  • apprendre des choses aux gens
  • faire des sites internets
  • mes ami.e.s
  • la techno et la musique forte



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.
Je suis actuellement en B2, c'est ma première année ici.
J'essaie de voir jusqu'où une page mediawiki peut être poussée, sans avoir les droits administrateur.ices.

Bonne lecture !

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 ! (acptures d'écran à venir)
Je n'ai pas arrêté de coder depuis
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 :

Wiki-edit-sable.png


J'aime particulièrement créer des interfaces et des petits trucs rigolos qui bougent un peu.

Projets de l'ERG

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....
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.
Mon site avec des trucs dessus un peu marrants






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.

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 import, et l'API File a l'air bien complexe.

Maintenant je vais devoir écrire un parser. J'utilise un fichier .srt qui est formaté ainsi :
30
00:01:04,768 --> 00:01:06,048
The primary things we really want


Donc dans l'ordre : combientième ligne de sous-titre, timing du sous-titre, contenu textuel.

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.
Ce fichier doit être importé, cela est fait encore avec fetch :

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

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 : import { fetchJson } from "./fetchData.js";
Puis on peut en faire ce qu'on veut dans une fonction async en assignant une variable à notre document importé const data = await fetchJson();
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.

Pour comprendre comment cela fonctionne intéressons-nous déja au scroll (ça a un rapport, promis).

Le scroll

Le scroll fonctionne de deux façons dans l'outil :

  • Scroll automatique d'avancement des sous-titres
  • Scroll par l'utilisateur·ice


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é.
Le scroll manuel est un niveau un peu au dessus.
Il est rendu possible grace au magnifique window.addEventListener("wheel", foo); 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 id="isactive" 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.
Ces deux manières de scroll ont des fonctionnements inverses, mais qui se complètent.
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.

Revenons en aux

Commentaires

Le fichier de données est constitué ainsi :

    {
      "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;} "
    }
 

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.


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

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

html2print-moi cet article

Un bout d'article parlant du graphisme du jeu Wipeout, une interview menée par Benjamin Vertu pour le site tombolo
Cet article peut maintenant être imprimé sous format A5 facilement grace à Paged.js.
Mon article est là (WIP, ne fonctionne pas)

Read me if you can

Morceaux de L'éloge du bug, mis bouts à bouts, avec une lecture complexifiée par des mini-jeux web.
Petit exercice de javascript bien sympa.

Pour ce paragraphe là, je me suis inspirée du site monkeytype qui est un jeu/test d'écriture sur clavier qui mesure simplement la vitesse d'écriture sur des mots aléatoires.
Tape le texte

Pour celui-ci je me suis inspirée de méthodes de lecture rapide que certain.es utilisent
Lis moi vite

Digital Artefacts

Digital-Artefacts.png

http://work.designnumerique.be/sable/website/

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 ?
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. [1]

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.

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 ?

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.

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 ?

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.
Les données apparaissent comme dans un catalogue, peuvent rapidement être parcourues, et sommairement comparées ensemble.

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

La prise de notes par ordinateur au sein d’une école d’art

Dans cette école, comme dans les précédentes et prochaines écoles d’art, la prise de notes est un acte valorisé. Les étudiant·es, carnet en main, inscrivent sur leurs pages des mots, des croquis à l’aide de stylos, crayons, marqueurs, règles. C’est tout un système d’outils et de pratiques créatives, qui fait sens au vu des professeur·es. Un cours entier y est d’ailleurs consacré, montrant l’importance qu’on lui accorde. C’est nombreux de ces carnets qui se retrouvent exposés lors des jurys de fin d’année de l’erg : posés sur la table, c’est une entrée dans l’intimité de l’artiste, un aperçu totalement décontextualisé d’une recherche aboutie ou non. Pourtant, cette pratique reste très distante pour moi, je n’ai jamais su bien écrire (on me l’a reproché depuis le tout premier mot que j’ai déposé sur du papier), je ne sais pas particulièrement dessiner, ni réaliser quoi que ce soit qui puisse être inscrit par la main dans un carnet. Ne me sentant pas légitime dans ma pratique de la prise de notes, cette dernière année fut une quête pour essayer de trouver l’outil informatisé me permettant de prendre du plaisir à <b>annoter<b> des bouts de textes, de les <b>formater<b> comme je pourrais le faire avec des outils manuels, et de les partager.

Le libre

Cette réflexion sur la prise de notes viens d’abord d’une réflexion sur les outils que j’utilise dans mon travail, pour la conception graphique, mais également des outils de recherche, et de consommation de contenu adjacents. J’ai commencé à m’intéresser à ces outils après avoir découvert le système d’exploitation Linux. Je me suis tourné vers l’open source, utilisant jusque là des outils comme VSCode, appartenant à Microsoft, et encore la suite Adobe, pour la quasi-intégralité de la conception graphique que je produisais. Je ne prenais quasiment aucune note alors, ou me forçais à utiliser un carnet de croquis, dont je noircissais les pages sans satisfaction. Au début de cet année scolaire, je me suis équipée d’un nouvel ordinateur portable petit et léger, dans le but de m’en servir exclusivement pour les cours. J’ai testé tout un tas de logiciels de prise de notes et d’organisation, toujours open source (Zim, QOwnNotes). Malgré ça je n’ai pas trouvé de moyen d’efficacement organiser ce que je prenais en note, de les manipuler, mais surtout prendre du plaisir à prendre ces notes. Vous saurez maintenant que je code beaucoup, des sites internets, des configurations pour mes ordinateurs, des scripts pour me faciliter la vie. En parallèle de ma recherche de logiciels de prise de note, je cherchais également de quoi écrire du code efficacement et avec satisfaction. Je suis rapidement tombée sur les logiciels Vim, et Emacs, les deux outils monstres historiques des développeurs, qui se font guéguerre depuis leur création dans les années 80 et 90. Vim étant le plus populaire des deux, et mon cerveau cherchant des moyens de se complexifier la vie, j’ai installé Emacs, sans savoir du tout à quoi m’attendre.

Emacs

Emacs est un logiciel libre, écrit dans un language créé pour l’occasion (ELisp, pour Emacs Lisp). C’est un éditeur plaintext, c’est à dire qu’il interprète nativement les fichiers tels qu’ils sont encodés, caractère par caractère. Sa

nature open-source en fait un logiciel très expansible. Des rudiments d’ELisp permettent déjà d’en agrandir ses capacités. Une des blagues souvent faites dans ce milieu est qu’«Emacs est un très bon système d’exploitation». Il est capable de gestion de fenêtres, il intègre plusieurs terminaux, il peut lire des images, documents, il dispose d’un lecteur de musique intégré, d’un client mail, d’un réseau social, de plusieurs navigateurs webs, de gestionnaires de fichiers,et encore beaucoup d’autres fonctionalitées customisables à l’infini. Ce qui va nous intéresser ici, c’est ORG, pour Organisation.

Org Mode

Org Mode est un vaste système de fonctions entremêlées permettant la prise de notes relationnelles (qui se relient les unes entre elles, formant un réseau) ainsi que leur mise en forme, la journalisation, la conception d’un agenda, d’un calendrier, d’un suivi des taches et du temps de travail. On peut y intégrer des bibliographies, des blocs de codes, du LaTeX (mise en forme avancée et caractères spéciaux).

Partager

J’ai écris quelques scripts permettant de transformer mes prises de notes directement en pdfs mis en forme avec du CSS, donc entièrement customisable. Il est également possible de les transformer en articles de blogs, ou bien d’automatiquement les publier sur un blog personnel, ou sur un Wordpress. J’écris actuellement cette rubrique dans Emacs, je peux en 3 clics de claviers la transformer en rubrique MediaWiki. C’est un outils qui me simplifie la vie, car il centralise tout, le code et les prises de notes sont entremêlées, le tout est personnalisable jusqu’au bout. Je n’ai plus assez de doigts pour compter le nombre d’heure que j’ai passé à rendre cet outils aussi efficace que possible, à l’adapter à mon utilisation personnelle, à apprendre à m’en servir, tout en ayant conscience que je ne sais m’en servir qu’à 20% de ses capacités totales. Je conseille à tous·tes ayant la curiosité de s’y lancer.

Tout un art

La prise de note est devenue une pratique créative à part entière dans ma vie. J’y consacre du temps, j’y prends plaisir, elle m’aide à m’orienter et à m’y retrouver. Nombreuses des personnes que je connais possédant un carnet de notes qu’ils chérissent l’ont fabriqué elleux même, fait sur mesure. Ma pratique se rapproche de ça dans le sens où elle part d’un outils simple, une page blanche (page blanche sur laquelle on tombe d’ailleurs en lançant Emacs pour la première fois), et elle s’approprie en profondeur du moyen de création, en comprends les rouages, s’immisce dans les fichiers sources. C’est une pratique difficile à mettre en valeur, il n’est pas simple de venir montrer à des jurys un fichier de notes et de s’attendre à ce qu’iels soient impressionné·es. L’intégralité des cartels de ces jurys, ainsi que certains textes présents ont été rédigés de la manière ci-tôt décris.