Parcours

  • 1 septembre 2022 - en cours

    Thèse de doctorat au LIG dans la section IIHM

  • 21 février 2022 - 22 juillet 2022

    PFE au LIG dans la section IIHM

  • Septembre 2019 - Juin 2022

    Etudes supérieures à Grenoble INP - Ensimag

  • Septembre 2017 - August 2019

    CPGE PCSI-PSI à Paul Cézanne

  • Septembre 2014 - August 2017

    Baccalauréat Général section S, spécialité SI et option Latin (mention Très Bien) à l’Externat St Joseph



doctorat

Sujet de thèse

Découvrabilité et représentation des interactions par micro-gestes de la main

Vincent LAMBERT 2023-09-13

Sujet

Découvrabilité et représentation des interactions par micro-gestes de la main

Publications

  1. Vincent Lambert, Adrien Chaffangeon Caillet, Alix Goguey, Sylvain Malacria, and Laurence Nigay. Studying the Visual Representation of Microgestures. In Proceedings of the 25th international conference on Human-computer interaction with mobile devices & services - MobileHCI ’23, volume 7, Athens, Greece, 2023. ACM Press.

Mots clés

  • Sélection de commandes
  • Guidage
  • Apprentissage

Résumé

Au-delà de la captation et de l’utilisation des micro-gestes, les travaux de recherche doctorale visent à étudier quels sont les représentations les plus pertinentes afin de véhiculer d’une part l’existence des micro-gestes et le mouvement physique de la main à effectuer et d’autre part les commandes associées aux micro-gestes. L’espace de conception est vaste et les représentations peuvent être multiples. En effet un nombre important de facteurs entrent en jeu comme le contexte d’utilisation, le nombre de micro-gestes considérés et les canaux permettant le retour d’information. De plus, une fois les représentations identifiées, il convient aussi d’étudier comment les combiner en fonction du nombre de micro gestes à présenter, comment, où et quand les présenter aux utilisateur.trice.s. Les objectifs sont : 1) de définir un corpus de micro-gestes ; 2) de caractériser et définir l’espace des possibilités de représentations possibles de micro-gestes ; 3) de définir un ensemble de règles permettant un choix adéquat de représentations en fonction d’un contexte ; 4) de concevoir et tester un ensemble de représentations de micro-gestes, ainsi que d’étudier leur intégration dans un système interactif basé sur l’utilisation de micro-gestes. Pour cela la démarche scientifique est itérative et expérimentale, à la fois par déduction et par induction. (i) Au sein d’une méthode par déduction partant de l’expérimentation de nouvelles représentations de micro-gestes dans un contexte donné, le défi est d’abstraire les résultats pour enrichir l’espace de conception. Par exemple étudier expérimentalement les apports et inconvénients d’une représentation égocentrée ou exocentrée. (ii) Au sein d’une méthode par induction, partant d’espaces de conception et de modèles fondamentaux pour concevoir et évaluer les formes de représentations, le défi consiste à prendre en compte les facteurs liés à la représentation des micro-gestes, à l’utilisateur.trice ou au contexte d’usage. Par exemple étudier les traits visuels représentant les différentes étapes de réalisation d’un micro-geste dans le cas d’une représentation statique ou dynamique.



etudes

Projet SDTD

Du Cloud

Vincent LAMBERT 2022-01-27

En quoi a consisté ce projet?

Gros projet sur tout le semestre, l’ambition était de construire une application distribuée sur le service cloud de Google permettant la visualisation de données basiques mais en temps réel. Mon groupe et moi-même avions décidé de travailler sur la visualisation des gaz à effet de serre produits par les avions actuellement en vol de puis raffraichissement de la page.

Rendu final

N’ayant absolument aucune compétence dans le domaine, ni eu de cours sur le sujet, nous nous sommes retrouvés plongés dans le grand bain du cloud à devoir apprendre des technologies et les faire fonctionner ensemble rapidement et efficacement. Sur les avis des anciens, nous avons fait le choix de laisser de côté la mise en place d’un orchestrateur à la main (car nous n’avions pas le droit d’utiliser GKE) et de nous concentrer sur la pile Kafka-Spark-Cassandra. Le déploiement et la configuration automatique a été gérée par Terraform, le server fait sous NodeJs tout comme les producteurs dont Kafka a besoin.

Technologies de gestion de projet Technologies du projet

De quelle partie me suis-je occupé?

Travaillant par nature toujours en avance, j’ai choisi de m’occuper de la partie Terraform afin de prendre en main l’outil et proposer à mes camarades un environnement de travail complètement prêt à être utilisé. J’ai investi un certain temps à comprendre les subtilités de la technologie et mettre en place la relation Gitlab <=> Terraform Cloud <=> Google Cloud Engine mais celle-ci s’est avérée précieuse et m’a permis d’agir très rapidement sur tout changement qui s’avérait nécessaire par la suite.

J’ai également mis en place le site internet dont j’ai fait l’interface et géré l’installation et une partie de la configuration de chaque machine. J’ai choisi de produire deux circuits de VM dont l’état était automatiquement géré depuis le fichier Terraform. Ce faisant, il m’a été possible d’installer à la main nos outils et laisser mes camarades travailler sur le circuit manuel pendant que je travaillait au déploiement automatique sur le second.

Toutefois, pour des raisons de configuration ultérieure indépendantes de ma volonté, seul le circuit manuel a pu être testé et s’est montré fonctionnel.

Challenge Open Data

Vive les données

Vincent LAMBERT 2021-09-10

En quoi a consisté ce projet?

Le concept était de récupérer des données d’une API, de les traiter et de proposer une interface de visualisation, le tout dans une archive ne dépassant par les 10 Mo. Nous avons choisi de nous intéresser à la répartition des produits selon leur nutri-score et leur eco-score. Pour ce faire, nous avons utilisé l’API d’Open Food Facts et avions une semaine de développement.

Ecran de visualisation

De quelle partie me suis-je occupé?

Comme je m’intéresse particulièrement aux notions d’interface, je me suis occupé de mettre en place toute la structure HTML/CSS du site avec évidemment une surcouche Javascript. Je me suis servi des plugins Bootstrap et ChartJS que j’ai allègrement modifié pour qu’ils correspondent à mon usage.

Projet IHM

Interface humain-machine

Vincent LAMBERT 2021-05-01

En quoi a consisté ce projet?

Nous devions étudier la réalisation ou la refonte d’une interface humain-machine à travers le cycle théorique et aboutir à la réalisation d’un prototype. L’ambition était de sortir du cadre instinctif et de s’inscrire dans une approche scientifique de l’interface basé sur des grandes tendances et études. Dans notre cas, nous avons décidé de repenser l’interface de l’intranet de notre école qui laisse très clairement à désirer (liens morts, sécurtié des actions risible, impossibilité de retrouver ce que l’on cherche sans connaître exactement une suite de 10 clics). Si notre choix laissait plutôt dubitatif notre intervenant, nos camarades ont appuyé notre volonté de leurs expériences personnelles et nous avons pu le faire.

Quelle démarche avons-nous adopté?

Dans une logique scolaire, nous avons défini un cahier des charges se concentrant sur les points majeurs de l’application:

  • Le champ d’action: viser le besoin de façon juste
  • La simplicité d’apprentissage: facilités de compréhension d’un novice
  • L’efficacité des utilisateurs: rapidité d’un novice
  • La sécurité des actions sur le système: nombre d’erreurs faites et criticité de celles-ci

Nous avons défini des persona (profils type) et fait tester l’interface existante à une quizaine de personnes se répartissant de façon équitable entre les différents persona afin de dégager un bilan selon les différents scénario-types et critères évoqués plus tôt.

Dans la suite, nous avons fait le point sur ces différents retours et proposés différents visuels en réfléchissant d’abord de façon individuelle puis ensemble au vu des retours de chacun.

Une fois les critiques faites, nous sommes partis sur les idées qui marchaient le mieux et avons produit un premier prototype, finissant ainsi la première boucle de production.

Dans une optique de développement industriel, il faudrait par la suite réitérer entièrement la boucle avec le prototype ainsi obtenu.

Version finale

Projet GL

Good Luck ou Génie Logiciel?

Vincent LAMBERT 2021-01-24

En quoi a consisté ce projet?

Nous devions travailler en équipe de 5 sous le format Agile et produire un compilateur pour le langage Deca, un sous-langage de Java développé spécialement par l’école et interprêté par une machine maison également, codée en Ada. Nous disposions d’un squelette de code et d’une spécification particulièrement fournie et fouillie. Je me suis principalement concentré sur le développement du lexeur (partie relativement rapide mais qui a demandé des ajustements à chaque phase de test), sur la mise en place d’un circuit de tests automatique (en duo), sur le rapport énergétique de notre projet et sur l’extension trigonométrique que nous avions à produire.

Une extension trigonométrique?

Dans le cadre de ce projet, nous devions choisir une extension indépendante pour chaque groupe et qui impliquerait une phase de recherche pure (phase que nous n’avions pas ou peu à faire pour le reste du projet puisque le tout était dans la spécification). J’ai donc passé une semaine complète à faire des recherches et mes spécifications avant de commencer à coder. Comme nous avions un rapport d’une trentaine de pages à produire pour cette extension il était nécessaire que toute démarche soit expliquée, analysée et justifiée.

Pour des raisons techniques que je ne peux détailler ici pour des raisons évidentes, les solutions que j’ai trouvées me demandaient des opérations de décalage bit-à-bit et que je pouvais vraiment gagner énormément en performances en intégrant ces opérations dans la machine virtuelle fournie, j’ai intégré avec l’accord des enseignants, la modification de la machine donnée aux spécifications de notre extension.

Quelles ont été les difficultés?

La question serait plutôt quelle partie n’a pas été un problème?

Tout d’abord, il m’était nécessaire d’adapter dans des algorithmes en Deca (sous-langage de Java n’ayant pas de boucle for, donc c’est dire le nombre de choses dont on manquait) le peu de sources que j’avais sur les algorithmes pour l’extension. J’en ai trouvé en pseudo-code, en C, en C++, en python et en julia mais tous proposaient des implémentations différentes et avec des entiers 64 bits alors que je n’avais que des entiers 32 bits. Ensuite, un gros point noir a été la nécessité d’émuler de l’algorithmique 96 bits avec des entiers 32 bits pour appliquer mon meilleur algorithme et enfin, le PIRE point et celui qui a rendu l’application de cet algorithme un échec: les entiers négatifs en Ada ne sont pas codés en complément à deux.

Cela peut paraître idiot mais dites vous-bien que réaliser des opérations de décalage bit-à-bit implique une certaine représentation des entiers. Or, je n’avais jamais vu un système faire autrement que le complément à deux et trouver cette information sans savoir exactement ce que l’on cherche, c’est clairement mision impossible. J’ai tenté de produire des conversions, puis de décaler bit-à-bit et de reconvertir mais malheureusement, les cas en bordure posaient souci et on observe sur les courbes l’échec cuisant de mes tentatives.

Comparaison cosinus Comparaison sinus Comparaison arcsinus Comparaison arctangente Switch-over

Projet BDD

Base de données

Vincent LAMBERT 2020-11-21

En quoi a consisté ce projet?

Le but de ce projet était de proposer une application qui permettait d’interagir avec une base de données (ajout, suppression, modification) selon une demande énoncée par un client. Il fallait tout d’abord analyser cette demande pour construire un graphe représentant la base, construire ses scripts d’implémentation et l’application en Java qui interragit avec elle.

Comme ce projet nous plaisait et que nous sommes un peu fous, nous avons triplé notre temps de travail dessus puisque j’ai produit une bibliothèque de remplissage automatique et cohérent de notre base et que deux autres partenaires ont produit une interface graphique avec Spring.

IHM

Quelles ont été les difficultés?

Les plus grandes difficultés ont résidé dans nos ambitions bien trop importantes pour ce projet. Nos envies de faire mieux que ce qui était demandé nous a coûté beaucoup de temps et il nous a fallu nous reconcentrer sur l’essentiel un peu au dernier moment.

Quels étaient les points techniques majeurs que j’ai pu aborder?

Le point le plus intéressant à mon sens était la façon de produire de l’aléatoire cohérent dans un modèle de base de données complexe. Il est plutôt évident que lorsque l’on choisit des personnes pour travailler sur un film, celles-ci n’auront pas une répartition uniforme d’ages entre 0 et 100 ans par exemple. De même, s’il est possible de faire des groupes de musiques, il est difficile de faire des groupes de groupe de groupe de musique.

Projet C

Interface graphique

Vincent LAMBERT 2020-05-01

En quoi a consisté ce projet?

Le but de ce projet était de compléter notre formation au C en nous faisant travailler par groupe de 3 sur un sujet de notre choix entre deux: compression d’un fichier jpeg ou création d’interface graphique. J’ai choisi le deuxième sujet.

Etait mis à notre disposition un squelette de projet et nous avions 3 semaines pour nous organiser et produire un résultat fonctionnel.

Quelles ont été les difficultés?

Les plus grandes difficultés ont résidé dans la gestion de projet. En effet, nous avons dû apprendre à travailler à distance et installer tout l’environnement sur nos machines sachant que celles-ci n’avaient pas nécessairement le même OS. En effet, dans notre cas, j’étais le seul sous Linux et les deux autres étaient sous Windows. Un certain nombre des fonctions qu’elles codaient ne fonctionnaient pas sous Linux et il a fallu que je corriger leur code en plus du mien en vue de la soutenance. Comme j’étais de très loin le plus investi du groupe, je me suis retrouvé en situation de crunch, à travailler toute la semaine y compris le week-end plus de 12 heures par jour avec une pointe à 15 et 18h les deux derniers jours afin de réussir ce projet.

Quels étaient les points techniques majeurs que j’ai pu aborder?

Le point le plus intéressant à mon sens était le polymorphisme. En effet, afin d’intégrer plusieurs instances de type différents mais issus du même type parent (pour des widgets notamment), il était nécessaire de disposer d’une forme d’héritage. Toutefois, le C n’étant pas un langage orienté-objet, il ne le permet pas et en interprêtant un pointeur différemment selon notre usage, il était alors possible d’en simuler le fonctionnement.

La gestion du raffraichissement d’une page était également un point particulièrement éveillant puisqu’il était nécessaire de réfléchir à comment diminuer au maximum le temps d’exécution pour avoir un déroulé fluide. Cela impliquait notamment de comparer et fusionner des surfaces.

Dans un tout autre esprit, la gestion des évènements de la souris et du clavier dans leurs interactions avec les fenêtres était une expérience étrange et un point technique très sensible à gérer qui a posé de nombreux soucis et remises en questions.



associatif

Pole Com'

PosTux et MiniTux <3

Vincent LAMBERT 2020-03-01

Qu’est-ce que cette association?

Le Pole Communication de l’Ensimag (ou Pole Com’) est l’association qui gère le journal étudiant de l’école et prend les photos lors des évènements. Sous notre mandat, elle s’est également investie dans la collaboration avec la communication de l’administration et la co-organisation d’une conférence sur le thème de l’écologie du numérique.

Logo Pole Com'

Quel y a été mon rôle?

J’ai été président de l’association sur le mandat 2020-2021. Nous avons commencé notre mandat le 1 mars 2020 soit 12 jours avant le premier confinement. Sous mes ambitions, nous avons doublé les effectifs, ouvert une section vidéo et doublé la fréquence de parution, passant de bimestriel à mensuel en faisant des numéros globalement plus imposants que les années précédentes (moyenne de pages vers 24 au lieu de 20). N’ayant pas l’argent nécessaire pour subvenir à nos ambitions, il m’a fallu organiser des partenariats avec d’autres associations gravitant autour de l’école afin d’assumer nos charges. J’ai également eu à renégocier nos tarifs avec l’imprimeur et m’occuper du secrétariat car ma secrétaire était empêchée pour raisons médicales.

A-t-on réussi à venir à bout de nos ambitions?

Faisant pas moins de 7 numéros dont 4 entièrement numériques, le contexte de la pandémie a à la fois été une aubaine et un enfer dans la réalisation de nos ambitions. En effet, en termes financiers, cela a été très arrangeant puisque nous avons fini l’année avec de l’argent supplémentaire là où nous prévoyons de ne pas parvenir en positif sans trouver de solution. En revanche, les journaux étant majoritairement lus dans les locaux en physique où un grand nombre traine en libre accès, c’était une véritable crise de visibilité pour nous que de se contenter de posts Facebook qui se perdent. Le pôle photo de l’association n’a malheureusement pas pu travailler en raison du covid qui a annulé tous les évènements et la section vidéo a rencontré le même problème même si quelques montages ont pu être faits.

Globalement bloqués par le fait que le covid annulait les évènements, un grand nombre des sujets classiques à traiter n’ont pas pu être faits et il nous a fallu redoubler d’imagination. Sachant que mon ambition d’un mensuel serait compliquée à tenir sur certains mois chargés, j’ai organisé un planning d’édition dès le début du mois de juin qui permettait en théorie de prendre de l’avance sur les mois d’octobre, novembre et décembre dès la rentrée avec bien évidemment le MAG de rentrée fait également pendant les vacances. Ce planning prennait en compte les enseignements tirés de l’organisation quelque peu archaïque du premier journal ayant dû se faire dans le contexte du 1er confinement.

Couvertures Ensi'MAG

Les Ensi’MAG

Le 1er s’est concentré sur la passation des associations et le contexte de pandémie mondiale. Le 2ème était le MAG de rentrée et se concentrait sur les premières années, leur intégration et la vie à l’école. Trop gros (32 pages), il nous a coûté bien plus cher que prévu. Le 3ème était le MAG d’octobre, concentré autour du thème d’Halloween. Le 4ème était le MAG de novembre, numéro spécial environnement avec un dossier de 8 pages et une conférence sur l’écologie numérique co-organisée par mon vice-président Baptise De Goër de Herve et un ami à lui de l’Ense3. Le 5ème était un numéro de Noël spécial numérique. Sorti au compte goutte à la façon d’un calendrier de l’avent en faisant des articles sous forme de vidéo, de podcast ou de jeux interactifs, il n’a pas plu car passait pour du spam. Le 6ème était le numéro de février avec un dossier de 6 pages autour des filières de 2ème et 3ème année. Le 7ème était le numéro spécial sur les campagnes, ces semaines où des listes de premières années s’affrontent pour récupérer les association de l’école.

Le site internet

Motivé par l’idée de garder nos archives sur une meilleur plateforme que l’intranet de l’école (que nous avions obtenu mais ne nous convenait pas), Baptiste a mis en place le site du Pole Com’ avec l’association de logiciel libre de l’école (Ensilibre). Il est encore à jour et vous pourrez y retrouver tous les Ensi’MAG dont j’ai parlé dans la partie précédente.

Conclusion

Cette expérience de président était particulièrement éprouvante mais enrichissante et je suis heureux de me dire que si l’association survit malgré tout à la pandémie c’est sans doute en grande partie par nos ambitions démesurées qui ont permis de combler les grosses difficultées que celle-là impose.

PS: Couvertures faites par Léa Barrau.

Ensimagaming

Vroum vroum

Vincent LAMBERT 2020-03-01

Qu’est-ce que cette association?

Ensimagaming est l’association de jeux-vidéo de l’Ensimag. Ses membres y organisent des soirées jeux et autres tournois tout le long de l’année.

Quel y a été mon rôle?

J’ai intégré l’association en tant que responsable communication en binôme. J’avais également l’intention d’organiser un tournoi de Rocket League dans le courant de l’année.

Bandeau Ensimagaming

Qu’a-t-on pu organiser?

Durant la période où j’y suis resté, l’association a organisé une soirée jeu en distanciel sur League Of Legends, Teamfight Tactics et Civilization 6 (jeu que j’ai géré moi-même), un tournoi de Rocket League (entièrement organisé par moi-même) et un tournoi de League Of Legends en collaboration avec l’association de jeux-vidéo de l’Ense3 et celle de Phelma.

C’est également moi qui ai mis en place la chaine Twitch de l’association, gérant son overlay et son paramétrage.

Le tournoi Rocket League

Le jeu possédant un système de tournoi intégré, je me suis appuyé dessus et concentré sur l’animation du live. Malheureusement, ce système présentait des bugs assez gros ce qui a empêché certaines équipes de participé et en partie gâché la soirée de certains. Il m’a fallu improviser et j’ai pris tempête de violence en plein live qui était assez forte. N’ayant reçu aucun soutien de la part des autres membres de l’association, j’ai fait le choix de quitter l’association et de me concentrer sur celles où j’avais une responsabilité plus forte.

BDA

Artiste dans l'âme

Vincent LAMBERT 2020-03-01

Qu’est-ce que cette association?

Le Bureau Des Arts (BDA) de l’Ensimag est une association qui a pour but de promouvoir des activités culturelles auprès des étudiants et étudiantes de l’école, d’organiser des soirées et de leurs proposer des partenariats intéressants.

Quel y a été mon rôle?

Conservant le rôle que j’avais dans ma liste BDA, j’ai été vice-trésorier pendant le mandat d’un an. En accord avec ma trésorière, nous avons conservé le fonctionnement que nous avions précédemment: je me suis occupé des budgets prévisionnels (BP) et elle de la gestion des flux de trésorerie. Dans les faits, pour des raisons de pandémie mondiale, nous n’avons dépensé que peu d’argent mais dû tout de même défendre nos dépenses faites et prévues auprès de l’administration pour l’obtention des subventions nécessaires au bon fonctionnement de l’association. C’est un travail que nous avons effectué conjointement.

J’ai donc majoritairement adopté une posture de gestionnaire de projet puisqu’en tant que membre du bureau restreint de l’association, il était de mon devoir d’être force de proposition et de motivation malgré la situation particulière.

Photo de couverture

Qu’a-t-on pu organiser?

Durant l’année, le BDA a pu organiser deux soirées quizz entièrement numériques et un jeu de piste géant où les groupes de participants devaient mener l’enquête pour retrouver une meurtrière. Numériquement, il y a également eu un Coron-inktober, sorte de concours de dessin récompensé par des lots. Malheureusement, aucune soirée n’a pu se faire en raison du contexte sanitaire.

Avant que la question se pose pour vous, oui j’écris quizz avec deux z, les deux sont valables, je préfère celle là.

Les Quizz

Ces quizz ont été pensés et gérés par moi-même. L’idée m’est venue au mois de juin lorsqu’il s’agissait de prévoir les activités de l’intégration des premières années. A cette époque, nous sortions à peine du premier confinement et beaucoup pensaient naïvement que la pandémie était finie (vu d’aujourd’hui, cela parait fou en effet) mais, lucides sur la situation, Benjamin Beaud et moi-même avons insisté pour préparer un évènement 100% numérique, conscient qu’il était absolument nécessaire de prévoir à la fois des évènements numériques et physiques afin d’être prêts à toute éventualité.

Consommant alors allègrement les Nuits de la culture faites par le streamer Etoiles, j’ai eu l’idée de proposer une gigantesque soirée quizz par le biais de discord, mêlant des inspirations originales et d’autres issues de jeux télévisés connus comme Qui veut gagner des millions? et Question pour un champion. Nous avions vu juste car l’administration a annulé toute l’intégration à 3 jours de la rentrée et notre évènement qui avait manqué d’être laissé de côté s’est retrouvé propulsé en fer de lance du BDA, laissant ainsi du temps aux autres associations, d’improviser dans le peu de temps qu’elles avaient.

Qui veut quérir des écus?

Cette première édition s’est décomposée en 2 parties principales, une phase avec des QCM à difficulté croissante et une autre avec 3 manches entre 3 équipes de 2 finalistes. Le tout était également diffusé et commenté en direct sur Twitch. Nous avons pu dénombrer plus de 60 participants sur Discord et plus d’une cinquantaine de personnes sur le live. Bien évidemment, une partie des personnes jouaient en regardant le live donc ces chiffres ne sont pas ajoutables mais ils dénotent tout de même de la réussite de cet évènement.

Les 3 manches finales avaient chacune un concept spécial:

  • Les Turbo-questions: on répond à un maximum de questions sur 15 en 60 secondes en choisissant le thème parmi ceux proposés
  • Le Face-à-Face: épreuve classique de Questions pour un champion, le concept est le même mais ici, on ne gagne pas les points mais les fait perdre à l’adversaire. Les équipes étant 3 et non pas deux, cela induit des stratégies aux points qui sont intéressantes
  • Final Streak: Suite de questions avec difficulté croissante, choix du thème parmi 2 et bonus uniques par personne. Similaire à un Qui veut gagner des millions? à la sauce internet

Sur cette première édition, j’ai personnelement organisé tout le projet, géré les personnes qui travaillaient avec moi, produit un grand nombre de questions et animé le jeu lors de la soirée. Nous avons énormément travaillé en tandem avec Benjamin Beaud qui a codé un bot discord spécialement pour l’occasion puisque nous avions besoin de buzzers et d’un système de face-à-face intégré directement dans discord. Ce projet n’aurait clairement pas été faisable sans lui qui a également géré tout l’aspect technique du discord lors du live. Jérémy Guillon a été avec moi une figure du stream que nous co-animions, moi plus concentré sur le jeu et le déroulé de la soirée et lui plus concentré sur les spectateurs et l’ambiance générale. Sur ma demande, Elias Bina nous a préparé des vidéos et Fabien Vermeulen mixé une musique de timer dans l’ambiance médiévale du thème.

Ce travail d’équipe a très clairement été une expérience très formatrice dans ma capacité à gérer un projet et vendre mes idées.

Fond Qui veut quérir des écus?

Christmas Quizz

Si la première édition avait été préparée en 3 mois (écrire des questions c’est extrêmement long) et en vacances, cette deuxième édition a été faite en 4 semaines dans le mois le plus chargé en termes de projets: le mois de novembre, celui du second confinement. J’ai décidé de prendre pour thème Noël et de mettre en place ce quiz pour la fin novembre car nous avions nos partiels début décembre et qu’il aurait été compliqué d’imaginer gérer le tout en même temps.

Mais il était hors de question de reprendre tout tel qu’il avait été fait. Nous voulions reprendre les axes d’amélioration et proposer une expérience différente. Le principal problème que nous avions à la première édition était que la grande majorité des participants n’avait pu jouer qu’à une moitié de la soirée. Toutefois, au niveau du live comme des joueurs, c’est bien la deuxième qui avait le plus plu car rafraichissante et proposant une véritable expérience intéressante malgré le contexte sanitaire.

J’ai donc eu l’idée de mettre en place un tournoi avec 4 poules et des repéchages. Cela impliquait de ne visualiser qu’une poule en live et de former 3 autres personnes à gérer complètement leur poule sur toute la soirée comme je le ferais moi. Considérant que par la réussite du premier quiz, il était possible que le nombre de personnes souhaitant participer soit bien plus important qu’à la première édition, j’ai choisi de conserver le système de QCM sur la première manche afin de séparer les participants dans les 4 poules principales et celle de repéchages.

Les 4 poules principales ont ainsi pu jouer les 2 manches suivantes:

  • Le Tour du Monde de Noël: Trouver ce que représente une image. Les points dépendant de la vitesset et de la position. Le 1er à répondre à un gain multiplicateur x2, le 2ème x1.8, le 3ème x1.6, le 4ème x1.4, le 5ème 1.2 et les autres 1
  • 5 points gagnants: Inspiré du 9 points gagnants de Questions pour un champion, ici la valeur de la question dépend de combien de personnes restent en jeu

A chacune de ces manches, les perdants partaient en rattrapage avec les autres. Cette poule spéciale en elle-même proposait des activités différentes car limitées par le grand nombre non-défini de personnes. Ainsi, eurent lieu 3 jeux dont les points s’accumulaient:

  • Tour du Monde de Noël: Trouver ce que représente une image. Les points dépendant de la vitesset et de la position. Le 1er à répondre à un gain multiplicateur x2, le 2ème x1.8, le 3ème x1.6, le 4ème x1.4, le 5ème 1.2 et les autres 1
  • Painta Claus: à la façon d’un skribble.io, il faut deviner ce que dessine le présentateur
  • Soundta Claus: même chose que le Painta Claus mais avec des sons

A l’issue de ces rattrapages étaient gardées 3 personnes pour la phase finale: la meilleure éliminée dès le début, la meilleure éliminée suite au Tour du Monde de Noël et la meilleure éliminée suite au 5 points gagnants.

Reprenant le concept de la première édition mais en plus court, la phase finale fait s’affronter les 12 participants sur les Turbo-questions de façon individuelle et les 4 gagnants sont gardés, mis en duos et s’affrontent au Face-à-Face.

Dans l’ensemble, cette édition a été une telle réussite qu’on nous a instantanément demandé d’en faire une 3ème édition qui ne s’est pas faite pour des raisons de santé. C’était une expérience très enrichissante qui a demandé une organisation démentielle. Pour les questions, nous avions cette fois-ci eu la confiance des autres membres du bureau et avons pu les exploiter pour en trouver un grand nombre dans un temps record (nous en avions plus de 500 pour la première édition et en avons produit 350 de plus pour la seconde). En ce qui concerne le bot Discord fait par Benjamin Beaud, il a dû encore une fois travailler dans des temps records pour modifier ce qu’il avait de la première édition et produire de quoi réaliser le Painta Claus et le Soundta Claus. De plus, se posait ici une contrainte horrible à gérer: celle d’avoir un bot qui devait interagir avec 5 poules de façon simultannée.

Fond Christmas Quiz

Conclusion

Je considère vraiment avoir eu une chance formidable de travailler avec des personnes aussi investies et talentueuses et si notre mandat BDA a été clairement gâché par le contexte sanitaire, je n’en ressors personnelement par frustré car je me suis adapté et j’ai donné toute ma créativité pour que les premières années puissent s’amuser malgré tout.

PS: Bannières d’évènements faites par Louise Lallemand.

AFG

La Faluche

Vincent LAMBERT 2020-03-01

Qu’est-ce que cette association?

L’Association des Faluchards Grenoblois (AFG) est une structure qui permet aux faluchards et faluchardes de s’organiser entre eux et de prévoir des évènements ouverts à toutes et tous ou restreints aux personnes porteuses du chapeau à pins.

Notre rôle consiste à organiser des réunions au sein de la ville, maintenir des méthodes de communication numérique aisément archivables, réaliser des commandes “en gros” pour réduire les coûts individuels, organiser des soirées tout au long de l’année et un week-end estudiantin au mois de mars/avril.

Logo AFG

Qu’est-ce qu’une faluche?

La faluche est la coiffe traditionnelle des étudiantes et étudiants de France. Elle est née le 20 décembre 1888 au théâtre Baumarchais à Paris suite à l’initiative d’étudiants ayant été en contact avec d’autres coiffes et traditions européennes lors des fêtes du huitième centenaire de l’université de Bologne. Elle se présente sous la forme d’un béret de velours noir surmonté de rubans et d’insignes représentants la vie de l’étudiant qui la porte.

Cette tradition, incluait initialement tous les étudiants mais suite aux nombreux évènements et restrictions subies au cours du XXème siècle, son usage a grandement réduit et se maintient aujourd’hui sous la forme d’un folklore estudiantin dans toutes les grandes villes de France.

Elle partage avec d’autres mouvements nationaux de nombreuses similitudes (chants, signification des insignes, etc…) et entretient avec eux des discussions et échanges en continu.

Quel y est mon rôle?

Je suis l’actuel président de l’association (mandat 2021-2022 entamé le 22 septembre) et j’y suis également responsable partenariats. Mon rôle est d’organiser l’activité, présider les réunions, gérer les plannings et être force de proposition. Sur la fin 2021, j’ai également été gestionnaire logistique et géré les tâches qui n’étaient associées à personne. Comme ma trésorière et moi avons été extrèmement limites dans notre vie personnelle du fait de notre investissement, nous avons fait le choix de nous réorganiser en recrutant, passant de 4 membres de bureau restreint à 7.

Quelles activités avons nous pu organiser?

Jusqu’à présent, nous n’avons pu organiser qu’un évènement, une soirée le 4 décembre, en raison du contexte de covid. En effet, il nous a fallu un mois pour prendre en main l’association, un mois pour préparer la soirée et depuis, nous sommes dans une vague continue d’omicron et nous avons fait le choix responsable de ne plus rien organiser tant que la situation ne se sera pas calmée.

Nous préparons le week-end AFG qui aura lieu en avril et prévoyons deux soirées à la mi-mars, période à laquelle nous estimons que la situation sera plus calme. Si ce n’est pas le cas, nous évaluerons bien sûr un report.

En parallèle, nous avons lancé un groupe de travail pour une nouvelle édition du bréviaire grenoblois, la dernière édition datant de 2016. C’est un projet dans lequel je me suis énormément investi personnelement, réalisant une véritable usine à gaz en LaTeX.

Organisation bréviaire

Puls'Art

Liste BDA Ensimag

Vincent LAMBERT 2019-11-01

Qu’est-ce que cette association?

Le Bureau Des Arts (BDA) de l’Ensimag est une association qui a pour but de promouvoir des activités culturelles auprès des étudiants et étudiantes de l’école, d’organiser des soirées et de leurs proposer des partenariats intéressants. Afin de récupérer la direction de l’association lors de notre deuxième année, des campagnes sont organisées en première année entre deux listes d’environ 25 personnes. La mienne a choisi pour thème l’espace et se faisait appeler Puls’Art bien que son nom officiel soit Liste BDA Ensimag 1 2019-2020.

Quel y a été mon rôle?

J’ai pris le rôle de vice-trésorier et me suis principalement occupé de la gestion des budgets prévisionnels là où ma trésorière se concentrait sur les flux de trésorerie en eux-mêmes. J’ai produit une suite de documents google sheet permettant de simplifier les échanges avec les différents responsables d’évènement et notre facilité à faie les comptes et changer d’avis en cours de route. Cela m’a demandé un travail conséquent que j’ai conservé et dont j’ai pu me servir pour produire d’autres évènements ultérieurs.

Qu’a-t-on pu organiser?

Nous avions 2 échéances principales: la déclaration (début janvier) et les campagnes (début février).

Pour cette première échéance, il nous a fallu préparer une chorégraphie et un teaser alors que pour la seconde, il s’agissait d’une semaine complète d’évènements où nous avons organisé une après-midi créative (divers ateliers), un Petit Dej’ (de la nourriture gratuite sur toute une journée et à volonté), des SOS (livraisons de nourritures et autres gages parmi une liste que nous proposions) et une MINP (soirée à thème de 200 personnes). Avec la liste adverse, nous avons également dû préparer une MINP commune qu’il a fallu co-organiser.



projets

Créer un personnage avec JavaFx

Meilleure idée

Vincent LAMBERT 2020-08-01

Quel est le projet?

L’idée principale consiste à produire la version 2.0 du créateur de personnage fait précédemment sous TKinter. Entamé 2 ans et demi après le premier projet, celui-ci est arrivé après une moitié d’école d’ingé faite et une bien meilleure maîtrise de l’informatique et ses usages. Concrètement, j’ai souhaité produire une application permettant de créer son personnage de par une interface graphique. J’ai conçu ce projet de façon à ce qu’il soit évolutif et que je puisse ajouter des fonctionnalités petit à petit. Ainsi, de façon fonctionnelle, j’ai décidé de permettre d’ajouter, supprimer et modifier des entrées dans une base de données ainsi que de créer son propre personnage de niveau 1 avec les éléments intégrés dans cette base.

Menu principal

Quelle démarche a été mise en place?

Afin de produire un projet maintenable, j’ai fait le choix de commencer par imaginer la structure de ma base de données. En partant de mes contraintes techniques, j’ai défini très proprement mon graphe et annoté mes raisonnements dans une documentation dédiée afin de pouvoir aisément revenir sur une décision tout en en gardant une trace si jamais.

J’ai décidé de fonctionner avec Java car c’est un langage que je maîtrise et qui est adapté à la création d’applications. J’aurai également pu utiliser le C++ mais étant moins à l’aise avec, j’ai préféré le laisser de côté afin de me concentrer sur l’apprentissage des autres techniques et sur la structuration du projet en lui-même.

Ayant fait quelques recherches préalables et grâce à l’expérience acquise par Tkinter, je me suis intéressé à JavaFx et ai décidé de l’utiliser à travers l’interface graphique Scenebuilder qui me permets de modifier aisément mes visuels et d’avoir un retour direct, sans compilation de l’application (ce que j’avais dû faire pour le premier projet sous python).

Pour le système de gestion de données, j’ai choisi d’utiliser MariaDB puisque c’est un standard assez largement utilisé et documenté. Utilisant Manjaro, j’ai découvert DBeaver pour gérer mes tables et j’apprécie beaucoup son interface que je trouve ergonomique (ce qui n’est pas habituel pour un logiciel gratuit). Pour les premières versions du logiciel, j’ai décidé de conserver la base de données en local sur ma machine car je souhaitais me concentrer sur l’interface graphique et l’aspect fonctionnel sur mon pc avant tout.

Graphe de la base de données

Quel est l’état du projet?

Le projet est fonctionnel sur mon ordinateur portable s’il est lancé depuis maven mais je ne suis pas parvenu à intégrer javafx au package jar pour des raisons inconnues. Cela me bloque donc dans la création d’un exécutable et j’ai pour le moment mis le projet en pause pour me concentrer sur mes études et d’autres projets associatifs.

Interface de choix de race

Apprenti conlanger

Imaginer l'elfique

Vincent LAMBERT 2018-06-06

Qu’est-ce qu’un conlanger?

On appelle conlanger les personnes créant des langues apportant de la profondeur à un univers littéraire ou cinamétographique. Le plus connu de tous est bien évidemment JRR Tolkien, linguiste de formation, qui a créé la Terre du Milieu et ses langues bien avant d’y écrire ses histoires. On retient aujourd’hui majoritairement son travail sur l’elfique.

Créer un autre elfique, pourquoi?

Dans le cadre du lore (histoire évolutive du monde) de mon JDR, les elfes ont une histoire récente et ont eux-même créé leur système d’écriture alors qu’initialement ils n’en avaient pas. De fait, il n’aurait pas fait sens de récupérer le travail de quelqun d’autre, surtout quand celui-ci ne s’adapte pas du tout dans sa construction avec mon univers. J’ai développé pour projet de créer et définir des langues et systèmes pour l’ensemble des Mondes Jumeaux mais choisi de commencer par celui qui se voulait devenir la langue lithugique afin de positionner des bases communes relativement simples.

Quel procédé utiliser?

J’ai choisi de me baser sur quelque chose de simple, créer une cohérence en alphabet latin en définissant tout d’abord la grammaire, puis un vocabulaire minimum de 3000 mots et enfin un système d’écriture qui s’émancipe de l’aphabet latin.

Afin d’établir ce que je souhaitais conserver pour la grammaire, j’avais une contrainte: le mot “Naruundinn” qui signifie “Royaume des Elfes”. C’est autour de cette contrainte que j’ai défini la construction des affixes pour laquelle j’ai repris le concept de déclinaison qui m’étais familier de par mes 6 années de latin. J’ai d’ailleurs fait le choix d’y mêler certaines sonorités qui m’étaient familières.

Pour les temps, j’ai voulu proposer un système très mathématique, où la caractérisation d’un temps à décrire une action en cours ou un bilan que l’on peut retrouver dans nos langues ne se retrouve pas là. C’est à la fois une intention de simplification mais également de cohérence avec l’histoire. En effet, les Premiers Elfes sont pensés comme étant des personnes très rigoureuses, profondément pieuses et scientifiques. Par conséquent, l’hyper-correction et une énorme réforme de la langue aboutissent à des dérives linguistiques que l’on retrouve ici dans la représentation temporelle.

La gestion du vocabulaire

Pour gérer le vocabulaire, j’ai tout d’abord réfléchi aux quelques 3000 mots et je les ai notés dans un carnet. Bien évidemment, je me suis rapidement rendu compte des limitations que cela implique et ai entrepris de numériser le tout. Pour ce faire, il m’a fallu commencer par faire une fonte pour le nouveau système d’écriture (voir plus bas) et j’ai ensuite pu utiliser le logiciel gratuit PolyGlot afin de définir et exporter plus facilement les différents mots de l’elfique.

La création de fonte

Comment créer une fonte? Quelles en sont les bases? Comment faire quand on n’a aucune compétence graphique? J’ai tout d’abord décidé sur un brouillon d’un symbôle pour chaque son. C’est un système très simple, bien loin du français et ses [insérer ici un nombre haut] façons d’écrire le son [o] mais qui trouve encore une fois sa logique dans le fait que ma langue elfique a un système d’écriture créé pour elle-même et qui ne dépend alors plus d’une écriture adapté à une autre langue.

S’il existe un bon nombre d’outils, j’ai là encore fait le choix de m’orienter vers la gratuité et choisi FontForge. Difficile à aborder au début, il reste très bien fait et m’a aidé à rapidement obtenir le résultat que je souhaitais.

Créer un personnage avec TKinter

Mauvaise idée

Vincent LAMBERT 2017-09-24

Quel est le projet?

Le projet consiste à créer un logiciel permettant de créer son personnage de façon interactive pour mon JDR. L’idée naît de l’envie de simplifier la création de personnage et de la rendre plus visuelle.

Des problèmes dès la génèse

Toutefois, lorsque je me lance dans ce projet, j’ai commencé à coder il y a 1 mois et demi (à l’entrée en prépa) et je n’ai aucune idée de la complexité de la chose. Je choisis python par défaut puisque c’est le seul langage que je “connais” et je mets bien ici des guillemets puisque je ne connaissais pas le concept de classe et n’ait ainsi utilisé qu’une unique classe Application en reprennant un template trouvé sur internet. Le peu de temps libre que j’avais à ma disposition, je voulais le passer à coder activement le projet et pas finir une journée de cours en faisant de nouveau un autre cours mais sur le python cette fois-ci.

Si je comprends tout à fait mon état d’esprit à ce moment là, il faut avouer que c’est plutôt une énorme erreur puisque je me suis lancé à corps perdu dans le code d’une application graphique en mélangeant tout les concepts dans un unique fichier illisible et stockant mes données dans d’énormes dictionnaires sauvegardés comme des variables globales (j’étais jeune et inconscient).

Réussite ou échec?

Le fichier final fait plus de 2000 lignes et le tout m’aura pris une semaine de vacances complète à ne faire que ça. J’ai pu en sortir avec une application absolument impossible à maintenir mais qui faisait ce que je souhaitais. Chacun pouvait créer son personnage, lui associer une race (équivalent d’espèce dans un JDR), une façon de se battre, des compétences, des caractéristiques et des facultés particulières.

C’est donc en soit une réussite.

Quels apports en tirer?

Ce projet m’aura beaucoup appris puisque j’y ai fait toutes les erreurs du débutant. Ne pas lire les logs, ne pas chercher sur internet et bloquer plusieurs heures car on veut réinventer la roue, utiliser Tkinter pour faire un projet pour lequel il n’est pas adapté, ne pas s’intéresser à apprendre des techniques (typiquement les classes) et produire un projet impossible à maintenir.

Toutes ces erreurs faites, ne l’ont pas été par la suite et dans la version 2.0 de ce projet, refait entièrement en Java, ces erreurs ont pu être évitées.

Mondes Jumeaux

JDR amateur

Vincent LAMBERT 2015-08-24

Qu’est-ce que le JDR?

Un jeu de rôle (JDR) papier (par opposition avec les jeux-vidéo) est une forme de jeu de société particulière où chacune des personnes autour de la table hérite d’un personnage avec des caractéristiques, une histoire et un caractère unique qu’il se doit d’interpréter dans un monde mis en action par le maître du jeu (MJ). Ce dernier fait réagir l’environnement aux actions des joueurs et apporte une maîtrise des enjeux et des dynamiques d’une session de jeu. Bien souvent, la même équipe se retrouve de façon régulière afin de faire vivre une campagne, une succession d’histoires cohérentes.

Parmi les plus connus, on peut citer Donjons&Dragons ou Pathfinder.

Pourquoi faire mon propre JDR?

L’envie de créer mon propre univers provient de 3 choses. Tout d’abord, j’ai toujours aimé raconter des histoires et faire les choses à ma façon, les réinventer. Ensuite, j’ai découvert le JDR avec Aventures, émission à l’époque hebdomadaire. Enfin, j’ai pu faire une partie de Pathfinder qui m’avait énormément déçu puisque le système de règle y est extrêmement rigide et j’ai ressenti l’envie de tout effacer pour tout recréer. Après des discussions avec mon meilleur ami de l’époque, nous avons posé les première briques de ce que l’on souhaitait y voir autant en termes d’histoire que de système de règles.

Carte des langues

La base du projet

Si j’ai pris le projet à mon compte très rapidement, je garde de ces moments l’idée majeure du jeu: une liberté et simplicité totale. Nous souhaitions pouvoir prendre n’importe quel personnage de n’importe quel univers et le jouer dans notre JDR. De plus, il fallait conserver au maximum une clarté et une simplicité dans les règles et leur application.

Sur le principe d’un menu à volonté, il est possible de “composer” son personnage avec des briques élémentaires: race (ou espèce, race étant le terme usité dans le JDR), type de combat, compétences spécifiques, etc…

Les Mondes Jumeaux

Les Mondes Jumeaux constituent l’univers dans lequel évoluent les joueurs. On y retrouve un monde des vivants et un monde des morts, complémentaires au même titre que les Entités, ces dieux et démons qui veillent sur les Mondes Jumeaux depuis le Rift, une dimension immatérielle source de la magie. Les origines de la magie, des Entités, les histoires et organisations politiques des différents continents, tout ce qui est imaginable est écrit et défini.

Où en est le projet actuellement?

Après 7 ans de développement par saccades, le projet est toujours en cours. Je l’ai toujours abordé comme un projet de vie qui me suivra et me permet de m’exprimer sans contraintes. J’ai pour ambition de le faire publier un jour mais il n’est pour le moment pas prêt, Isylgräm, le monde de la vie n’a pas encore fini d’être décrit puisque les 169 maisons nobles d’un seul des continents prennent du temps à être décrites (j’ai actuellement un roman rien qu’avec cette partie) et Jukingräm n’est pour le moment décrit que comme une ébauche. Si les concepts magiques ont tous été décrits et que les systèmes de règles ont pu être changé de nombreuses fois jusqu’à atteindre un équilibre, il manque toutefois d’une certaine clarté entre ce qui doit être défini pour le MJ qui connait le monde et les joueurs qui n’ont pas conscience d’aspects “cachés” que leurs personnages n’ont aucun moyen de connaître.

Fiche personnage

Ma toute première hack-rom!

Fin'hackement

Vincent LAMBERT 2015-08-04

Qu’est-ce que le ROM hacking?

Il s’agit de l’art de modifier le fichier ROM d’un jeu pour en faire un jeu différent, que les différences soient minces ou complètement énormes. Par nature, cette pratique est aux frontières de la légalité puisque l’on s’approprie et modifie la propriété intellectuelle d’une entreprise tierce. Toutefois, le ROM hacking est toléré dans le cas où l’on possède le jeu d’origine. En effet, la même pratique est alors illégale si l’on modifie le fichier ROM du jeu sans l’avoir nous-même ou bien que l’on distribue notre version hackée que ce soit gratuitement ou non.

Dans mon cas, aucune distribution n’a été faite et je disposais bien du jeu d’origine par conséquent, ma pratique rentre dans le cadre légal.

Comment cela fonctionne?

Une ROM est un fichier machine. En l’ouvrant, on se retrouve avec de l’hexadécimal mais aucune facilité de modification. Toutefois, selon le jeu que l’on souhaite modifier, la communauté a mis en place des interfaces logicielles pour simplifier le ROM hacking. Sans ces facilités, il faut alors analyser la mémoire, retrouver les offsets (adresses) des données qui nous intéressent, les décoder et enfin les modifier. Ces manoeuvres sont évidemment périlleuses et la moindre fausse manipulation peut aboutir à la corruption de la ROM.

Editeur hexadécimal

En quoi a consisté mon projet?

Les jeux pour lesquels il existe le plus de ces facilités logicielles sont les jeux Pokémon. Ce sont d’ailleurs eux qui m’ont emmené à m’y intéresser. Je me suis formé pendant un an en continu à travers le site Pokémon Trash et j’ai fait mon propre jeu en repensant complètement l’histoire et les monstres que l’on pouvait rencontrer en partant d’une ROM de Pokémon version Emeraude. Chacun a été modifié au niveau des sprites (images en 2D), caractéristiques, évolutions et types afin de créer de tout nouveaux personnages. Les PNG (personnages non-joueurs) que l’on peut rencontrer le long de l’aventure ont également été radicalement changés.

Les limites du projet

Si le travail abattu était titanesque, j’ai été limité par le fait d’apprendre en même temps que j’avançais. En effet, à cause de mes compétences initiales, j’ai dû me résoudre à ne pas pouvoir modifier la carte générale du monde et m’en tenir à modifier l’apparence des routes et leur sens de parcours mais pas leur tracé. Toutefois cela m’a servi de base à mon histoire, se plaçant dans la même région de Hoenn ravagée par des cataclysmes.

Suite à de mauvaises manipulations et aux limitations de l’émulation, j’ai dû laisser de côté le gameplay relatif aux Pokéblocs et me suis retrouvé avec des villes innateignables par Vol (seul vrai GROS point noir à mon sens). A ces défauts, s’ajoutent mes grosses difficultés à changer les empreintes et les cris des monstres.

Conclusion

Ce projet a été mené à bien mais laisse un arrière goût amer dans la bouche et une soif de revanche, l’envie d’aboutir à un projet réellement finalisé.



Contact

N’hésitez pas à me contacter pour toute question!