New documentation, first draft. WIP.

This commit is contained in:
John Livingston 2021-11-04 13:57:37 +01:00
parent 217b473d83
commit 729f95c5eb
No known key found for this signature in database
GPG Key ID: B17B5640CE66CDBC
15 changed files with 316 additions and 33 deletions

View File

@ -1,6 +1,10 @@
# Changelog
## v???
## v??? (not published yet)
### Features
* Brand new documentation, in french and english. (Work in Progress)
### Minor changes and fixes

130
CODE_OF_CONDUCT.fr.md Normal file
View File

@ -0,0 +1,130 @@
# Code de conduite _Contributor Covenant_
## Notre engagement
En tant que membres, contributeur·trice·s et dirigeant·e·s, nous nous
engageons à faire de la participation à notre communauté
une expérience sans harcèlement, quel que soit l'âge,
la taille corporelle, le handicap visible ou invisible, l'appartenance ethnique,
les caractéristiques sexuelles, l'identité et l'expression de genre,
le niveau d'expérience, l'éducation, le statut socio-économique,
la nationalité, l'apparence personnelle, la race, la religion,
ou l'identité et l'orientation sexuelle.
Nous nous engageons à agir et interagir de manière à contribuer à une communauté
ouverte, accueillante, diversifiée, inclusive et saine.
## Nos critères
Exemples de comportements qui contribuent à créer un environnement positif :
* Faire preuve d'empathie et de bienveillance envers les autres
* Être respectueux des opinions, points de vue et expériences divergents
* Donner et recevoir avec grâce les critiques constructives
* Assumer ses responsabilités et s'excuser auprès des personnes affectées par nos erreurs et apprendre de ces expériences
* Se concentrer sur ce qui est le meilleur non pas uniquement pour nous en tant qu'individu, mais aussi pour l'ensemble de la communauté
Exemples de comportements inacceptables :
* L'utilisation de langage ou d'images sexualisés et d'attentions ou d'avances sexuelles de toute nature
* Le _trolling_, les commentaires insultants ou désobligeants et les attaques
personnelles ou d'ordre politique
* Le harcèlement en public ou en privé
* La publication d'informations privées d'autrui, telle qu'une
adresse postale ou une adresse électronique, sans leur autorisation explicite
* Toute autre conduite qui pourrait raisonnablement être considérée comme inappropriée
dans un cadre professionnel
## Responsabilités d'application
Les dirigeant·e·s de la communauté sont chargé·e·s de clarifier et de faire respecter nos normes de
comportements acceptables et prendront des mesures correctives appropriées et équitables en
réponse à tout comportement qu'ils ou elles jugent inapproprié, menaçant, offensant ou nuisible.
Les dirigeant·e·s de la communauté ont le droit et la responsabilité de supprimer, modifier ou rejeter
les commentaires, les contributions, le code, les modifications de wikis, les rapports d'incidents ou de bogues et autres contributions qui
ne sont pas alignés sur ce code de conduite, et communiqueront les raisons des décisions de modération
le cas échéant.
## Portée d'application
Ce code de conduite s'applique à la fois au sein des espaces du projet ainsi que
dans les espaces publics lorsqu'un individu représente officiellement le projet ou sa
communauté. Font parties des exemples de représentation d'un projet ou d'une
communauté l'utilisation d'une adresse électronique officielle, la publication sur
les réseaux sociaux à l'aide d'un compte officiel ou le fait d'agir en tant que représentant·e désigné·e
lors d'un événement en ligne ou hors-ligne.
## Application
Les cas de comportements abusifs, harcelants ou tout autre comportement
inacceptables peuvent être signalés aux dirigeant·e·s de la communauté responsables de l'application du code de conduite à git.[at].john-livingston.fr.
Toutes les plaintes seront examinées et feront l'objet d'une enquête rapide et équitable.
Tou·te·s les dirigeant·e·s de la communauté sont tenu·e·s de respecter la vie privée et la sécurité des
personnes ayant signalé un incident.
## Directives d'application
Les dirigeant·e·s de communauté suivront ces directives d'application sur l'impact communautaire afin de déterminer
les conséquences de toute action qu'ils jugent contraire au présent code de conduite :
### 1. Correction
**Impact communautaire** : utilisation d'un langage inapproprié ou tout autre comportement jugé
non professionnel ou indésirable dans la communauté.
**Conséquence** : un avertissement écrit et privé de la part des dirigeant·e·s de la communauté, clarifiant
la nature du non-respect et expliquant pourquoi
le comportement était inapproprié. Des excuses publiques peuvent être demandées.
### 2. Avertissement
**Impact communautaire** : un non-respect par un seul incident ou une série d'actions.
**Conséquence** : un avertissement avec des conséquences dû à la poursuite du comportement.
Aucune interaction avec les personnes concernées, y compris l'interaction non sollicitée avec
celles et ceux qui sont chargé·e·s de l'application de ce code de conduite, pendant une période déterminée.
Cela comprend le fait d'éviter les interactions dans les espaces communautaires ainsi que sur les canaux externes
comme les médias sociaux. Le non-respect de ces conditions peut entraîner
un bannissement temporaire ou permanent.
### 3. Bannissement temporaire
**Impact communautaire** : un non-respect grave des normes communautaires, notamment
un comportement inapproprié soutenu.
**Conséquence** : un bannissement temporaire de toutes formes d'interactions ou de
communications avec la communauté pendant une période déterminée. Aucune interaction publique ou
privée avec les personnes concernées, y compris les interactions non sollicitées
avec celles et ceux qui appliquent ce code de conduite, n'est autorisée pendant cette période.
Le non-respect de ces conditions peut entraîner un bannissement permanent.
### 4. Bannissement permanent
**Impact communautaire** : démontrer un schéma récurrent de non-respect des normes de la
communauté y compris un comportement inapproprié soutenu, le harcèlement d'un individu
ainsi que l'agression ou le dénigrement de catégories d'individus.
**Conséquence** : un bannissement permanent de toutes formes d'interactions publiques au sein de
la communauté.
## Attributions
Ce code de conduite est adapté du
[Contributor Covenant](https://www.contributor-covenant.org), version 2.0,
disponible à
[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
Les Directives d'application ont été inspirées par le
[Code of conduct enforcement ladder][Mozilla CoC] de Mozilla.
Pour obtenir des réponses aux questions courantes sur ce code de conduite, consultez la FAQ à
[https://www.contributor-covenant.org/faq][FAQ]. Les traductions sont disponibles
sur [https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations

48
CONTRIBUTING.fr.md Normal file
View File

@ -0,0 +1,48 @@
# Bienvenu sur le guide de contribution pour le plugin peertube-plugin-livechat
Intéressé⋅e pour contribuer ? Super !
## Code de conduite
Merci de lire le [code de conduite](CODE_OF_CONDUCT.fr.md) (ou la version [anglaise](CODE_OF_CONDUCT.md)).
## Traduction
Vous pouvez nous aider à traduire ce plugin Peertube en créant ou modifiant des fichiers de traduction dans le dossier `languages`.
Merci de travailler sur la branche `develop`, et de faire vos _pull request_ sur cette branche.
Si la langue dans laquelle vous souhaitez traduire n'existe pas encore, créez un fichier `code.json` dans le dossier `languages`, où `code` est le code langue.
Le code langue doit être dans le même format que les codes langues de Peertube (voir la [documentation Peertube](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/translation.md)).
Ensuite, ajoutez le fichier de langue dans le fichier [package.json](package.json), sous la clé `translations`.
Les traductions sont sous la forme suivante dans le fichier de langue :
- les fichiers sont au [format JSON](https://www.json.org)
- les clés JSON sont le texte en anglais (voir les clés existantes dans [le fichier de traduction français](languages/fr.json), qui fait référence)
- la valeur JSON est la traduction
- NB: il n'y a pas de fichier de traduction pour l'anglais (c'est la façon de fonctionner de Peertube)
## Donnez vos retours
Vous n'avez pas besoin de coder pour commencer à contribuer à ce plugin !
Les autres formes de contributions sont également précieuses, parmis lesquelles : vous pouvez tester le plugin et remonter les bugs que vous rencontrez, partager vos retours d'expérience, proposer des fonctionnalités qui vous intéressent, remonter vos remarques sur l'interface, le design, etc.
## Développer et proposer des modifications de code
Toujours annoncer les fonctionnalités sur lesquelles vous voulez travailler en créant un ticket ou en commentant un ticket existant, avant de commencer à travailler dessus. Et annoncez clairement à la communauté que vous commencez à travailler dessus. Ceci afin d'éviter que plusieurs personnes travaillent sur la même chose et entrent en conflit.
Merci d'utiliser la branche `develop`. La branche `main` est réservée aux versions publiées, pour que la documentation affichée reste synchronisée avec la version publiée du plugin.
Quand vous êtes prêt⋅e à montrer votre code pour avoir un retour, soumettez une Pull Request *draft*.
Quand vous êtes prêt⋅e pour une relecture de code avant merge, soumettez une Pull Request. Dans tous les cas, merci de lier votre Pull Request au ticket concerné en utilisant la syntax de GitHub : «fixes #issue_number».
Le code du front-end est dans le dossier `client`. Le code backend dans `server`. Il y a du code partagé entre les deux dans `shared`.
Pour les instructions génériques concernant le développement de plugins (building, installation, ...), merci de vous référer à la [documentation Peertube](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).
Vous pouvez *builder* le plugin avec des infos de debug supplémentaires en utilisant :
```bash
NODE_ENV=dev npm run build
```

View File

@ -2,29 +2,33 @@
Interested in contributing? Awesome!
## Code of conduct
Please read the [CODE_OF_CONDUCT](CODE_OF_CONDUCT.md).
## Translate
You can help us to translate this PeerTube plugin by creating or modifying translation files in the `languages` folder.
Please work on the `develop` branch, and do your commits and pull request on this branch.
If the language you are interesting in does not exist yet, create a file `language_code.json` in the `languages` folder.
The language code must be the same as the Peertube's langage code (see [peertube documentation](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/translation.md)).
If the language you are interesting in does not exist yet, create a file `code.json` in the `languages` folder, where `code` is the language code.
The language code must be the same as the Peertube's langage code (see [Peertube documentation](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/translation.md)).
Then add the language file in the [package.json](package.json) file, under the key `translations`.
Translation strings are set in the language file as follow:
- files are in [json format](https://www.json.org)
- the key is the english string (see existing keys in the [french translation file](languages/fr.json)).
- the value is the translating string
- files are in [JSON format](https://www.json.org)
- the JSON key is the english string (see existing keys in the [french translation file](languages/fr.json)).
- the JSON value is the translating string
- NB: there is no english translation file (this is how translation works for peertube's plugins)
## Give your feedback
You don't need to know how to code to start contributing to this plugin! Other
contributions are very valuable too, among which: you can test the software and
report bugs, you can give feedback on potential bugs, features that you are
interested in, user interface, design, decentralized architecture...
report bugs, you can give feedback, features that you are
interested in, user interface, design, ...
## Develop

View File

@ -1,11 +1,21 @@
# peertube-plugin-livechat
This Peertube plugin is published under the «GNU AFFERO GENERAL PUBLIC LICENSE version 3» license.
Please see [the LICENSE file](./LICENSE).
3rd party dependencies comes with their respective licenses.
Please see [the LICENSE file](LICENSE).
Copyright holders:
* John Livingston (https://www.john-livingston.fr/)
* Code Lutin SASPO (https://www.codelutin.com/)
## 3rd party
3rd party dependencies comes with their respective licenses.
Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).
Some material icons downloaded from this website where used for icons: [Material.io](https://material.io/resources/icons).
Some Prosody Modules in the `prosody-modules` folder are under MIT license. Please refer to README files in each subfolder, and to the [COPYING](./prosody-modules/COPYING) file. For more informations, here is [the official Prosody Modules website](https://modules.prosody.im).
NPM modules dependencies have their license files in their repective `node_modules` directory.

47
README.fr.md Normal file
View File

@ -0,0 +1,47 @@
# PeerTube plugin livechat 🇫🇷
🇬🇧 English version [here](./README.md).
Ce plugin pour [Peertube](https://joinpeertube.org/) permet d'intégrer un système de «chat» (clavardage) à coté des vidéos.
![Chat screenshot](documentation/screenshots/chat.png)
**IMPORTANT :** ce plugin ne fonctionne malheureusement pas (encore) tout seul, il doit se reposer sur des outils externes. Merci de consulter la [documentation d'installation](documentation/installation.fr.md).
**Avant de mettre à jour vers une nouvelle version majeure, merci de lire les notes de version, et la liste des éventuelless modifications non rétro-compatibles : [CHANGELOG](CHANGELOG.md).**
## Documentation
* [Documentation d'installation](documentation/installation.fr.md)
* [Documentation utilisateur⋅rice](documentation/user.fr.md)
* [Documentation d'administration](documentation/admin.fr.md)
## Évolutions / suivi des bugs
Si vous avez des demandes de nouvelles fonctionnalités, des bugs, ou des difficultés à installer et utiliser le plugin, vous pouvez utiliser l'outils [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues). Si possible, merci d'y écrire en anglais ; mais le français sera accepté.
Pour la liste des fonctionnalités à venir, vous pouvez vous référer à la feuille de route (en anglais): [ROADMAP](ROADMAP.md).
Si vous êtes webdesigner ou expert⋅e ConverseJS/Prosody/XMPP et souhaitez participer à l'évolution de ce plugin, n'hésitez pas à me contacter.
## Me contacter
Si vous avez des questions ou souhaitez parler de ce plugin, vous pouvez rejoindre ce salon XMPP avec n'importe quel client Jabber : [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join).
Si vous souhaitez supporter le projet financièrement, vous pouvez me contacter par mail à l'adresse git.[arobase].john-livingston.fr, ou passer par mon [profil Liberapay](https://liberapay.com/JohnLivingston/).
## Contribuer
Merci de vous référer à la page [CONTRIBUTING.fr.md](CONTRIBUTING.fr.md).
## Crédits
Les fichiers [package.json](package.json), [COPYRIGHT](COPYRIGHT.md) et [LICENSE](LICENSE) contiennent les informations sur la licence du présent logiciel (en anglais).
Merci à David Revoy pour son travail sur la mascotte de Peertube, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).
Merci à [Framasoft](https://framasoft.org) pour avoir rendu [Peertube](https://joinpeertube.org/) possible, et pour le support financier.
Merci à [ritimo](https://www.ritimo.org/) pour le support financier.
Merci à [Code Lutin](https://www.codelutin.com/) pour le support financier.

View File

@ -1,17 +1,20 @@
# PeerTube plugin livechat
# PeerTube plugin livechat 🇬🇧
This plugin is meant to provide web chat for Peertube videos.
🇫🇷 Version française [ici](README.fr.md).
**For release notes and breaking changes list, please see the [CHANGELOG](CHANGELOG.md) before updating the plugin.**
This [Peertube](https://joinpeertube.org/) plugin is meant to provide chat system for Peertube videos.
The plugin has to rely on an external tool as web chat backend. There are multiple ways to provide such functionality:
**IMPORTANT:** unfortunately this plugin does not (yet) work by itself, it must rely on external tools. Please read the [installation guide](documentation/installation.md).
* **Prosody server controlled by Peertube (recommended):** this plugin can launch a [Prosody](https://prosody.im) process and auto-configure it. [Documentation](documentation/prosody.md). **This is the recommanded setup, and is almost automatic to setup**.
* **Connect to an existing XMPP server with ConverseJS:** you can use an external Jabber/XMPP server. This server has to provide BOSH or Websocket API, accept anonymous loggin, and accept room creation. [Documentation](documentation/conversejs.md)
* **Use an external web chat tool:** you can use any external web chat tool, that can be included in an iframe. [Documentation](documentation/external.md)
**Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](CHANGELOG.md)**.
For the two first solutions, the connection to the XMPP server is made with the [converseJS](https://conversejs.org/) Javascript library.
XMPP is a protocol for chat applications. It is sometime known has Jabber.
## Documentation
* [installation guide](documentation/installation.md)
* [user guide](documentation/user.md)
* [administrator guide](documentation/admin.md)
## New features requests / Bug tracking
If you have new feature requests, bugs, or difficulties to setup the plugin, you can use the [Github issue tracker](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues).
@ -25,15 +28,9 @@ If you have any question, or if you want to talk about this plugin, you can join
If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [liberapay profile](https://liberapay.com/JohnLivingston/).
## Settings
## Contribute
For the chat mode, and related settings, please refer to the corresponding documentation:
* [Prosody server controlled by Peertube (recommended)](documentation/prosody.md). **This is the recommanded setup**.
* [Connect to an existing XMPP server with ConverseJS](documentation/conversejs.md)
* [Use an external web chat tool](documentation/external.md)
There are several common settings. Please see the documentation here: [common settings documentation](documentation/common.md).
Please refer to [CONTRIBUTING.md](CONTRIBUTING.md).
## Contribute
@ -41,13 +38,11 @@ Please refer to the page [CONTRIBUTING.md](CONTRIBUTING.md).
## Credits
[package.json](package.json), [COPYRIGHT](COPYRIGHT.md) and [LICENSE](LICENSE) files contain the license information for this software and its dependencies.
Thanks to David Revoy for his work on Peertube's mascot, [Sepia](https://www.davidrevoy.com/index.php?tag/peertube).
Some material icons downloaded from this website where used for icons: [Material.io](https://material.io/resources/icons)
Some Prosody Modules in the `prosody-modules` folder are under MIT license. Please refer to README files in each subfolder, and to the [COPYING](./prosody-modules/COPYING) file. For more informations, here is [the official Prosody Modules website](https://modules.prosody.im).
Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, and for the support.
Thanks to [Framasoft](https://framasoft.org) for making [Peertube](https://joinpeertube.org/) possible, and for the financial support.
Thanks to [ritimo](https://www.ritimo.org/) for the financial support.

View File

@ -0,0 +1 @@
Cette documentation n'est malheureusement pas encore prête.

1
documentation/admin.md Normal file
View File

@ -0,0 +1 @@
TODO: this documentation is not ready for now.

View File

@ -0,0 +1,19 @@
# Installation du plugin peertube-plugin-livechat 🇫🇷
🇬🇧 English version [here](./installation.md).
**IMPORTANT :** ce plugin ne fonctionne malheureusement pas (encore) tout seul, il doit se reposer sur des outils externes.
**Avant de mettre à jour vers une nouvelle version majeure, merci de lire les notes de version, et la liste des éventuelles modifications non rétro-compatibles : [CHANGELOG](../CHANGELOG.md).**
Ce plugin peut être utilisé de plusieurs manières différentes :
| Mode | Description | Documentation
---|---|---
**Serveur Prosody controllé par Peertube (recommandé)** | Ce plugin peut lancer un processus [Prosody](https://prosody.im) et l'auto-configurer. | [Documentation](./prosody.md). **C'est le mode recommandé**
**Se connecter à un serveur XMPP existant avec ConverseJS** | Vous pouvez utiliser un serveur Jabber/XMPP externe. Ce serveur doit pouvoir utiliser le protocole BOSH ou Websocket, accepter les connexions anonymes, et accepter la création de salons de discussion. |[Documentation](./conversejs.md)
** Utiliser un outil de chat externe :** | Vous pouvez utiliser un outils de chat externe, si celui-ci peut être inclu dans une iframe. | [Documentation](./external.md)
Pour les deux premiers modes, la connexion vers le serveur XMPP est faite via la bibliothèque javascript [ConverseJS](https://conversejs.org/).
Il y a de la documentation pour des paramètres communs aux différents modes ici : [common settings documentation](./common.md).

View File

@ -0,0 +1,20 @@
# Plugin peertube-plugin-livechat installation guide 🇬🇧
🇫🇷 Version française [ici](./installation.fr.md)
**IMPORTANT:** unfortunately this plugin does not (yet) work by itself, it must rely on external tools.
**Before updating to a major release, please read the release notes and breaking changes list : [CHANGELOG](../CHANGELOG.md)**.
This plugin can be used in different ways:
| Mode | Description | Documentation
---|---|---
**Prosody server controlled by Peertube (recommended):** | This plugin can launch a [Prosody](https://prosody.im) process and auto-configure it | [Documentation](./prosody.md). **This is the recommanded setup, and is almost automatic to setup**
**Connect to an existing XMPP server with ConverseJS:** | You can use an external Jabber/XMPP server. This server has to provide BOSH or Websocket API, accept anonymous loggin, and accept room creation. | [Documentation](./conversejs.md)
**Use an external web chat tool:** | You can use any external web chat tool, that can be included in an iframe. | [Documentation](./external.md)
For the two first solutions, the connection to the XMPP server is made with the [converseJS](https://conversejs.org/) Javascript library.
XMPP is a protocol for chat applications. It is sometime known has Jabber.
There are some documentation for common settings here: [common settings documentation](./common.md).

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

View File

@ -1,5 +1,7 @@
# Tutorial: quick setup for Prosody XMPP server on your Peertube's instance
**IMPORTANT NOTE:** This tutorial is not the best way to use this plugin. If you want to use the recommanded Prosody setup, please refer to [this](../installation.md) and [this](../prosody.md).
## Abstract
This tutorial is meant to help you configure [Prosody](https://prosody.im)

1
documentation/user.fr.md Normal file
View File

@ -0,0 +1 @@
Cette documentation n'est malheureusement pas encore prête.

1
documentation/user.md Normal file
View File

@ -0,0 +1 @@
TODO: this documentation is not ready for now.