Support du langage UON sous vscode

En 2018, le professeur Yves Chevallier a imaginé un nouveau format de sérialisation proche de YAML et JSON nommé Unified Object Notation (UON). UON vise à rassembler toutes les caractéristiques utiles des formats de sérialisation les plus utilisés sur internet (XML, YAML et JSON), en un seul format qui les englobe. Cela dans le but de le rendre adapté à la communication Machine to machine (m2m) pour des dispositifs embarqués de faibles puissances, jusqu'aux plateformes haut de gamme basées sur le Cloud.

Ce travail de bachelor avait pour objectif de permettre l'utilisation du langage UON dans l'éditeur de code VS Code, en créant une extension disponible depuis le Marketplace de Visual Studio Code. Cette extension offre à l'utilisateur, le support de langage permettant une meilleure rédaction d'un fichier UON.

Le support est fourni sur une implémentation de la grammaire issue de la spécification UON. L'API de VS Code est directement contactée pour implémenter les fonctionnalités. ANTLR est le générateur de parser qui a été choisi. Le moteur de complétion antlr4-c3 est utilisé comme source principale des suggestions pour l'autocomplétion.

Au terme de ce projet, les points attendus du cahier des charges ont été effectués. Il s'agit de :

  • Disposer d'une grammaire du langage UON utilisable ;
  • Implémenter une intégration continue ;
  • Implémenter une coloration syntaxique ;
  • Implémenter de l'autocomplétion ;
  • Implémenter une outline view ;
  • Implémenter l'affichage des informations au survol de la souris (Hover Information) ;
  • Implémenter un Linter simple pour signaler des erreurs.

Les perspectives concernant ce sujet sont vastes, mais des améliorations possibles à ce projet sont les suivantes :

  • Implémenter les points du CDC dans la partie "si le temps le permet" ;
  • Utiliser un langage serveur au lieu de l'API VS Code ;
  • Continuer à améliorer la grammaire et adapter les fonctionnalités en conséquence.

Etudiant: Vitor Vaz Afonso

Année: 2022

Département: TIC

Filière: Informatique et systèmes de communication (anciennement Informatique) avec orientation en Logiciel

Type de formation: Plein temps

Enseignant responsable: Yves Chevallier

Téléchargements:
- Télécharger l'affiche
- Télécharger le rapport