Mon sheet c'est moi : suite et déploiement

Tags :
  • POK
  • 2022-2023
  • temps 2
  • web
Auteurs :
  • Léonard Barbotteau
  • Nathan Gissler

Mon sheet c'est moi, suite du développement du site et déploiement sur un serveur distant (POK-Temps 2)

1.1 Objectifs primordiaux du POK

1.2 Objectifs optionnels du POK

Ces objectifs seront réalisés si nous avons le temps après avoir fini les objectifs précédents.

2.1 Tâches du premier sprint à réaliser d'ici le mercredi 07/12.

2.2 Réalisations du premier sprint.

Nous avons pu à l'aide des premières connaissances acquises par nos MON commencé à améliorer le site et le pousser sur un serveur distant. Nous avons comme prévu déployé le site sur le serveur et commencé à travailler avec Express et SQLite, mais le temps nécessaire pour acquérir des connaissances au fur et à mesure a fait que nous n'avons pas encore pu beaucoup avancer.

Déploiement du site sur le serveur ovh

Le site est déployé sur l'herbe de Provence de Nathan (Thym), on peut y accéder à cette adresse : http://thym.ovh1.ec-m.fr/mon-sheet-cest-moi/static/index.html, sans express pour le moment.

Nous avons rencontré quelques difficultés avec l'installation de xz (qui permet de compresser des archives avec la méthode Lzma), nous avons donc pour l'instant envoyé sur le serveur l'archive contenant le site directement.

Express

Nous avons commencé à utiliser Express : gestion des routes et accès au site en local. Les fichiers du site sont mieux structurés (notamment avec le dossier static) et un fichier index.js nous permet de controler le back-end.

Base de données

En ce qui concerne la base de données, nous avons un tableau pour les utilisateurs et un tableau pour les partitions enregistrées. Chaque partition appartient à un utilisateur (que l'on retrouve avec son ID) et possède un élément JSON qui correspond aux notes de la partition. Il reste à pouvoir alimenter la base de données en utilisant le back-end.

Tâches du deuxième sprint

2.2 Réalisations du second sprint.

A l'aide de nos MON mais également des cours nous avons pu continuer à travailler et faire avancer le site. Nous avons bien avancé mais ne sommes pas au bout de nos peines, si tant est que nous soyions amenés à poursuivre le projet.

La base de données

Nous étions parti pour réaliser la base de données avec le modules sqlite3, cependant sur avis de M.Brucker nous avons décidé de partir sur l'utilisation de sequelize, avec MySQL. Nous avons mieux organisé les fichiers du site afin de créer des routes claires pour associer le front, le back et la BDD de la meilleure manière possible. Nous nous sommes inspiré d'une architecture déjà existante, d'un utlisateur github utilisant sequelize et Express, dont le projet est ici : Un exemple Github utilisant Sequelize avec Express. Nous avons également apprécié les explications de Hugo Guillaume, ingénieur diplomé de Centrale Marseille. Le site ne fonctionne pas encore à cause d'erreurs sur la base de données lorsque l'on tente d'envoyer des requêtes au back depuis le front, mais on peut voir la lumière au bout du tunnel.

Meteor

J'ai trouvé un exemple d'utilisation de Meteor pour créer un éditeur de texte collaboratif. Le cas de l'éditeur de texte est beaucoup plus classique que le nôtre mais j'ai décidé de commencer par reproduire cet exemple pour comprendre le fonctionnement du framework.

Cependant, j'ai été confronté à des difficultés lors de l'installation de Meteor. Une version de Node inférieure à 14 est requise alors que la version 16 est installée chez moi. J'ai donc entrepris d'installer nvm (Node version manager) afin de pouvoir changer de version de Node plus facilement. J'ai réussi à l'installer mais je ne suis pas parvenu à changer la version de Node, ce qui m'a bloqué pour l'utilisation de Meteor.

Express sur ovh

En parallèle, j'avais comme objectif de faire fonctionner la gestion des routes sur ovh avec Express (ce qui fonctionnait déjà en local). J'ai également été bloqué, cette fois par le transfert de fichiers sur ovh. Le désarchivage du fichier tar avec la commande tar -xvf mon-sheet-cest-moi.tar ne faisait plus apparaître le dossier désarchivé, que ce soit localement ou sur ovh.