Skip to content
Julien Castiaux edited this page Feb 11, 2021 · 2 revisions

rtd-bin-server

Ce document est un compte rendu de réunion, il reprend un ordre du jour et acte des différentes décisions prises.

Ordre du jour : choix des fonctionnalités de rtd/bin
Date : Mardi 27 octobre 2020
Membres présents : Aakodal, Aca., AntoineJT, Dr Lazor, Milenien, Noé, Override, TeIA, tim54k, wyxo et x0rld
Lien unique : https://docs.drlazor.be/rfc/002_rtd_bin.md

Résumé

La réunion a concerné le choix des fonctionnalités à implémenter dans le service de pastebin développé pour la communauté Read the Docs.
Chaque fonctionnalité a été esquissé techniquement.
Quelques décisions relatives à l'organisation du projet ont également été prises.

Choix des fonctionnalités

la coloration syntaxique du code source

Proposition retenue, une droplist listera les formats supportés sur le formulaire HTML, le backend ajoutera l'extension correspondate à l'url unique, le frontend utilisera cette extension pour coloriser le code source.

la numérotation des lignes de code

Proposition retenue, à la marge à gauche, alignée à droite.

la persistance des snippets

Le choix s'est porté sur la base de donnée Redis, le snippet et les meta-data seront sauvegardés dans un HASH, la clé sera l'identifiant unique du snippet.

la longévité des snippets

Il a été décidé de limiter la taille de la base de donnée de redis et d'utiliser son mécanisme LRU pour évincer les snippets peu lus lorsque toute la mémoire allouée a été utilisée. Les snippets pourront aussi être auto détruits après un certain temps ou après qu'ils aient été affiché un certain nombre de fois.

un système de versionning

Proposition retenue, il a été décidé de lier chaque snippet à son parent. Les limitations techniques de redis font qu'il sera difficile de lister les révisions (enfants) d'un snippet existant et ne sera pas implémenté dans un premier temps.

avoir la possibilité de sauvegarder son snippet en public ou en privé

Proposition rejetée, les snippets seront uniquement privés.

avoir la possibilité de sauvegarder plusieurs fichiers sous un seul même lien

Proposition gelée, aucune solution technique faisant l'unanimité n'a été trouvée.

pouvoir limiter l'accès à un snippet par un mot de passe

Proposition rejetée, les snippets sont privés par défaut, l'identifiant étant aléatoire il constitue déjà un secret en soit.

pouvoir modérer le contenu comme supprimer des bins problématiques

Proposition gelée, aucune solution technique faisant l’unanimité n'a été trouvée.

ajouter une ancre pour lier une ligne précise

Proposition retenue

Tableau récapitulatif

Proposition Décision
Coloration Retenu
Numérotation Retenu
Persistance Redis
Longévité Retenu
Versionning Retenu
Public Rejeté
Dossier Gelé
Mot de pass Rejeté
Modération Gelé
Ancre Retenu

Sitemap

Le service sera hébergé sous l'url https://bin.readthedocs.fr.

Verbe URI Description
GET / Accéder au formulaire HTML pour publier un nouveau snippet
POST /new Publier un nouveau snippet
GET /<id>[.<ext>] Afficher un snippet au format html avec coloration syntaxique
GET /raw/<id>[.<ext>] Afficher un snippet au format texte

Développement

Le groupe de travail s'est entendu pour développer l'application en utilisant les langages de programmation Python 3, ECMAScript 2018, HTML5 et CSS3.
Le groupe de travail s'est aussi entendu pour collaborer via l'outil git et la plateforme en ligne GitHub à l'url https://github.com/readthedocs-fr/bin/.

Julien (Dr Lazor) Castiaux et Antoine (AntoineJT) Tournepiche ont été désignés comme administrateurs pour faciliter la collaboration sur GitHub.
Les membres du groupe de travail ont reçu les permissions d'écriture et se sont entendus pour collaborer au moyen de pull requests et de systématiquement faire valider leurs soumissions de code par un pair.

Clone this wiki locally