-
Notifications
You must be signed in to change notification settings - Fork 15
RFC 2
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
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.
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
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 |
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 |
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.