Commit 0b93968b authored by ynerant's avatar ynerant

Merge branch 'docs' into 'beta'

More and more documentation

See merge request !156
parents 2793fee5 97375ef6
Pipeline #6043 passed with stages
in 9 minutes and 21 seconds
......@@ -10,7 +10,6 @@ DJANGO_SECRET_KEY=CHANGE_ME
DJANGO_SETTINGS_MODULE=note_kfet.settings
CONTACT_EMAIL=tresorerie.bde@localhost
NOTE_URL=localhost
DOMAIN=localhost
# Config for mails. Only used in production
NOTE_MAIL=notekfet@localhost
......
......@@ -279,7 +279,8 @@ Le cahier des charges initial est disponible [sur le Wiki Crans](https://wiki.cr
La documentation des classes et fonctions est directement dans le code et est explorable à partir de la partie documentation de l'interface d'administration de Django.
**Commentez votre code !**
La documentation plus haut niveau sur le développement est disponible sur [le Wiki associé au dépôt Git](https://gitlab.crans.org/bde/nk20/-/wikis/home).
La documentation plus haut niveau sur le développement et sur l'utilisation
est disponible sur <https://note.crans.org/doc> et également dans le dossier `docs`.
## FAQ
......
Subproject commit cf8b05d20a431fca634aff22f82777317c22c082
Subproject commit 0c7070aea177e12fae099488e2ea6f8146b97e4d
......@@ -114,7 +114,7 @@ Les filtres disponibles sont indiqués sur chacune des pages de documentation.
Le résultat est déjà par défaut filtré par droits : seuls les éléments que l'utilisateur à le droit de voir sont affichés.
Cela est possible grâce à la structure des permissions, générant justement des filtres de requêtes de base de données.
Une requête à l'adresse ``/api/<model>/pk/`` affiche directement les informations du modèle demandé au format JSON.
Une requête à l'adresse ``/api/<model>/<pk>/`` affiche directement les informations du modèle demandé au format JSON.
POST
~~~~
......
......@@ -74,7 +74,7 @@ ne dépende pas de cette application, on procède de cette manière.
Graphe
~~~~~~
.. image:: /_static/img/graphs/activity.svg
.. image:: ../_static/img/graphs/activity.svg
:alt: Graphe de l'application activités
UI
......
......@@ -46,7 +46,7 @@ Applications indispensables
Applications packagées
----------------------
* ``polymorphic``
Utiliser pour la création de models polymorphiques (``Note`` et ``Transaction`` notamment) cf [Note](Note).
Utiliser pour la création de models polymorphiques (``Note`` et ``Transaction`` notamment) cf `Note <note>`_.
L'utilisation des models polymorphiques est détaillé sur la documentation du package:
`<https://django-polymorphic.readthedocs.io/en/stable/>`_
......
......@@ -48,3 +48,10 @@ Exemple de Changelog, pour la création d'une transaction de 42424242 centimes d
S'il est préférable de passer en console Postgresql pour parcourir les logs, ils sont trouvables via l'API dans
``/api/logs``, sous réserve d'avoir les droits suffisants (ie. être respo info).
Graphe
~~~~~~
.. image:: ../_static/img/graphs/logs.svg
:alt: Logs graphe
......@@ -93,7 +93,7 @@ génère en effet automatiquement une transaction de l'utilisateur vers le club
Graphe
------
.. image:: /_static/img/graphs/member.svg
.. image:: ../_static/img/graphs/member.svg
:alt: Graphe de l'application member
Adhésions
......@@ -109,15 +109,15 @@ de fin d'adhésion.
On peut ajouter une adhésion à un utilisateur dans un club à tout non adhérent de ce club. La personne en charge
d'adhérer quelqu'un choisit l'utilisateur, les rôles au sein du club et la date de début d'adhésion. Cette date de
début d'adhésion doit se situer entre les champs ``club``.``membership_start`` et ``club``.``membership_end``,
si ces champs sont non nuls. Si ``club``.``parent_club`` n'est pas nul, l'utilisateur doit être membre de ce club.
Le montant de la cotisation est fixé en fonction du statut normalien de l'utilisateur (``club``.``membership_fee_paid``
centimes pour les élèves et ``club``.``membership_fee_unpaid`` centimes pour les étudiants). La date de fin est calculée
début d'adhésion doit se situer entre les champs ``club.membership_start`` et ``club.membership_end``,
si ces champs sont non nuls. Si ``club.parent_club`` n'est pas nul, l'utilisateur doit être membre de ce club.
Le montant de la cotisation est fixé en fonction du statut normalien de l'utilisateur (``club.membership_fee_paid``
centimes pour les élèves et ``club.membership_fee_unpaid`` centimes pour les étudiants). La date de fin est calculée
comme ce qui suit :
* Si ``club``.``membership_duration`` est non nul, alors ``date_end`` = ``date_start`` + ``club.membership_duration``
* Si ``club.membership_duration`` est non nul, alors ``date_end`` = ``date_start`` + ``club.membership_duration``
* Sinon ``club``, ``date_end`` = ``date_start`` + 424242 jours (suffisant pour tenir au moins une vie)
* Si ``club``.``membership_end`` est non nul, alors ``date_end`` = min(``date_end``, ``club``.``membership_end``)
* Si ``club.membership_end`` est non nul, alors ``date_end`` = min(``date_end``, ``club.membership_end``)
Si l'utilisateur n'est pas membre du club ``Kfet``, l'adhésion n'est pas possible si le solde disponible sur sa note est
insuffisant. Une fois toute ces contraintes vérifiées, l'adhésion est créée. Une transaction de type
......@@ -127,13 +127,14 @@ Réadhésions
~~~~~~~~~~~
Pour les clubs nécessitant des adhésions (de durée limitée), il est possible de réadhérer au bout d'un an. Dès lors
que le jour actuel est après ``club``.``membership_start`` + 1 an, ``club``.``membership_start`` et
``club``.membership_end`` sont incrémentés d'un an.
que le jour actuel est après ``club.membership_start`` + 1 an, ``club.membership_start`` et
``club.membership_end`` sont incrémentés d'un an.
Il est possible de réadhérer si :
* ``membership``.``date_start`` <= ``today`` <= ``membership``.``date_end`` (l'adhésion en cours est valide)
* ``membership``.``date_start`` < ``club``.``membership_start`` (si la date de début d'adhésion du club est postérieure à la date de début d'adhésion, qui a donc été mise à jour, on a changé d'année)
* Il n'y a pas encore de réadhésion (pas d'adhésion au même club vérifiant ``new_membership``.``date_start`` >= ``club``.``membership_start``)
* ``membership.date_start`` <= ``today`` <= ``membership.date_end`` (l'adhésion en cours est valide)
* ``membership.date_start`` < ``club.membership_start`` (si la date de début d'adhésion du club est postérieure à la date de début d'adhésion, qui a donc été mise à jour, on a changé d'année)
* Il n'y a pas encore de réadhésion (pas d'adhésion au même club vérifiant ``new_membership.date_start`` >= ``club.membership_start``)
Un bouton ``Réadhérer`` apparaît dans la liste des adhésions si le droit est permis et si ces contraintes sont vérifiées.
En réadhérant, une nouvelle adhésion est créée pour l'utilisateur avec les mêmes rôles, commençant le lendemain de la
......
......@@ -9,7 +9,8 @@ Elle est disponible à l'adresse ``/note/consos/``, et l'onglet n'est visible qu
moins un bouton. L'affichage, comme tout le reste de la page, est géré avec Boostrap 4.
Les boutons que l'utilisateur a le droit de voir sont triés par catégorie.
## Sélection des consommations
Sélection des consommations
---------------------------
Lorsque l'utilisateur commence à taper un nom de note, un appel à l'API sur la page ``/api/note/alias`` est fait,
récupérant les 20 premiers aliases en accord avec la requête. Quand l'utilisateur survole un alias, un appel à la page
......
......@@ -19,5 +19,6 @@ transferts/dons entre notes est détaillé sur la page `Transferts <transactions
Graphe
------
.. image:: /_static/img/graphs/note.svg
.. image:: ../../_static/img/graphs/note.svg
:width: 960
:alt: Graphe de l'application note
......@@ -19,8 +19,8 @@ Une permission est un Model Django dont les principaux attributs sont :
* ``model`` : Le model sur lequel cette permission va s'appliquer
* ``type`` : Les différents types d'interaction sont : voir (``view``), modifier (``change``), ajouter (``add``)
et supprimer (``delete``).
* ``query`` : Requete sur la cible, encodé en JSON, traduit en un Q object (cf [Query](#compilation-de-la-query)
* ``field`` : le champ cible qui pourra etre modifié. (tous les champs si vide)
* ``query`` : Requête sur la cible, encodé en JSON, traduit en un Q object (cf `Query <#compilation-de-la-query>`_)
* ``field`` : le champ cible qui pourra être modifié. (tous les champs si vide)
Pour savoir si un utilisateur a le droit sur un modèle ou non, la requête est compilée (voir ci-dessous) en un filtre
de requête dans la base de données, un objet de la classe ``Q`` (En SQL l'objet Q s'interprete comme tout ce qui suit
......@@ -147,5 +147,5 @@ modifiés en comparant l'ancienne et la nouvele instance.
Graphe des modèles
------------------
.. image:: /_static/img/graphs/permission.svg
.. image:: ../_static/img/graphs/permission.svg
:alt: Graphe de l'application permission
......@@ -217,5 +217,6 @@ Exemple de validation de crédit Société générale d'un étudiant non payé "
Diagramme des modèles
---------------------
.. image:: /_static/img/graphs/treasury.svg
:alt: Graphe de l'application trésorerie
\ No newline at end of file
.. image:: ../_static/img/graphs/treasury.svg
:width: 960
:alt: Graphe de l'application trésorerie
......@@ -113,7 +113,8 @@ Graphe des modèles
Pour une meilleure compréhension, le graphe des modèles de l'application ``member`` ont été ajoutés au schéma.
.. image:: /_static/img/graphs/wei.svg
.. image:: ../_static/img/graphs/wei.svg
:width: 960
:alt: Graphe des modèles de l'application WEI
Fonctionnement
......
......@@ -18,7 +18,7 @@
# -- Project information -----------------------------------------------------
project = 'Note Kfet 2020'
copyright = '2020, BDE ENS Paris-Saclay'
copyright = '2020-2021, BDE ENS Paris-Saclay'
author = 'BDE ENS Paris-Saclay'
# The full version, including alpha/beta/rc tags
......
Documentation
=============
La documentation est gérée grâce à Sphinx. Le thème est le thème officiel de
ReadTheDocs ``sphinx-rtd-theme``.
Générer localement la documentation
-----------------------------------
On commence par se rendre au bon endroit et installer les bonnes dépendances :
.. code:: bash
cd docs
pip install -r requirements.txt
La documentation se génère à partir d'appels à ``make``, selon le type de
documentation voulue.
Par exemple, ``make dirhtml`` construit la documentation web,
``make latexpdf`` construit un livre PDF avec cette documentation.
Documentation automatique
-------------------------
Ansible compile et déploie automatiquement la documentation du projet, dans
le rôle ``8-docs``. Le rôle installe dans le bon environnement les dépendances
nécessaires, puis appelle sphinx pour placer la documentation compilée dans
``/var/www/documentation`` :
.. code:: bash
/var/www/note_kfet/env/bin/sphinx-build -b dirhtml /var/www/note_kfet/docs/ /var/www/documentation/
Ce dossier est exposé par ``nginx`` sur le chemin
`/doc <https://note.crans.org/doc>`_.
Foire aux questions
===================
Des transactions anormales sont apparues sur mon compte.
--------------------------------------------------------
.. note::
Tu dois immédiatement contacter les trésoriers du BDE (voir ci-dessous) pour
signaler l'incident. Précise bien ton nom de note, l'heure de la transaction
ainsi que l'alias utilisé pour faire la transaction (en plaçant ta souris sur
ton pseudo sur la ligne de transaction, l'alias utilisé apparaît). La raison
la plus courante est que tu as un alias qui est trop proche d'un autre d'une
autre personne. Même si la Note Kfet 2020 essaie d'éviter ça, tu es invité⋅e
à supprimer l'alias problématique, ou tout du moins t'assurer que la confusion
ne puisse plus arriver.
Je souhaite consommer mais le solde de ma note est insuffisant
--------------------------------------------------------------
.. note::
Le BDE ne fait pas crédit à ses adhérents. Il est de ton devoir de t'assurer
d'avoir en permanence un solde positif sur ta note. Les permanenciers à la
Kfet ont la possibilité de refuser une consommation qui fait passer en négatif,
et ont obligation de refuser si la consommation est alcoolisée, en accord avec
la règlementation en vigueur.
Les trésoriers connaissent la liste des personnes en situation irrégulière et
n'hésiteront pas à faire des rappels pour recharger la note.
Comment recharger ma note ?
---------------------------
.. note::
Le solde de la note peut être rechargé soit par espèces, par chèque à l'ordre
de l'amicale des élèves de l'ENS Cachan, par carte bancaire via un terminal
de paiement électronique ou encore par virement bancaire, dont les coordonnées
sont à demander auprès des trésoriers BDE.
Les trois premières options sont à faire directement dans la Kfet.
Je pars en stage / en vacances. Puis-je bloquer ma note ?
---------------------------------------------------------
.. note::
Bien sûr : il te suffit de te rendre sur ton compte et de cliquer sur le bouton
dédié. Ta note ne sera plus affichée par les autres personnes et les transferts
seront impossibles, sauf pour les trésoriers BDE et respo info.
Il est toutefois de ton devoir de rembourser tout ce que tu dois.
Quelle est la limite maximale au nombre d'alias d'une note ?
------------------------------------------------------------
.. note::
Certains parlent d'une dizaine d'alias par note.
Sois conscient⋅e qu'ajouter des alias ne peut qu'augmenter la probabilité de
collisions avec une autre note, et peut aussi retarder la livraison de ta
commande lors d'un perm bouffe.
Je suis trésorier d'un club, qu'ai-je le droit de faire ?
---------------------------------------------------------
.. note::
Être trésorier d'un club donne la responsabilité de gérer la trésorerie du
club, et donc de gérer sa note. Vous obtenez donc le droit d'effectuer
n'importe quelle transaction via la note en provenance ou à destination de
la note de votre club. Vous pouvez également gérer les adhésions de votre club,
en permettant à n'importe quel adhérent BDE de rejoindre votre club, en prélevant
d'éventuels frais d'adhésion. Les paramètres du club peuvent être également modifiés.
.. danger::
Avoir des droits sur la Note Kfet ne signifie pas que vous devez les utiliser.
Chaque opération nécessitant des droits doit être fait pour une bonne raison,
et doit avoir un lien avec votre club. Vous n'avez par exemple pas le droit
d'aller récupérer des informations personnelles d'adhérents pour une raison
personnelle. En revanche, faire le lien entre nom/prénom et nom de note est
bien sûr permis pour faciliter des transferts. Tout abus de droits constaté
pourra mener à des sanctions prises par le bureau du BDE.
.. warning::
Une fonctionnalité pour permettre de gérer plus proprement les remboursements
entre amis est en cours de développement. Temporairement et pour des raisons
de confort, les trésoriers de clubs ont le droit de prélever n'importe quelle
adhérente vers n'importe quelle autre note adhérente, tant que la source ne
descend pas sous ``- 50 €``. Ces droits seront retirés d'ici quelques semaines.
Je suis trésorier d'un club, je n'arrive pas à voir le solde du club / faire des transactions
---------------------------------------------------------------------------------------------------
.. note::
As-tu bien vérifié que tu t'es connecté⋅e initialement avec tous tes droits ?
Sinon, si tes droits sont tout récents, tu dois te déconnecter et te reconnecter
pour que tes droits soient bien pris en compte.
La Note permet de se connecter avec différents filtres de permission afin de
pouvoir prêter son ordinateur avec une session ouverte pour faire quelques
opérations en empêchant l'accès à des opérations trop sensibles.
Je suis trésorier d'un club. Puis-je créer un bouton ?
------------------------------------------------------
.. note::
Oui bien sûr ! Tant qu'il redirige bien vers la note de ton club.
Pour cela, rends-toi à la page `</note/buttons/>`_ pour afficher la liste des
boutons, puis tu auras accès à l'interface pour créer un bouton. Une fois le
bouton créé, il apparaîtra dans l'onglet ``Consommations``.
Il faut noter que tant qu'il n'y a pas de boutons visibles pour ton club, tu
n'auras pas accès à l'interface de consommations, et tu devras nécessairement
cliquer sur le lien ci-dessus pour accéder à l'interface d'édition des boutons.
Une fois qu'un bouton pour ton club est visible, l'interface consommations
devient accessible.
Après passation, je suis trésorier d'un club. Comment récupérer mes droits note ?
---------------------------------------------------------------------------------
.. note::
Tu dois pour cela contacter les trésoriers BDE (voir ci-dessous). Ils vous
expliqueront en détails vos droits et vos interdits et vous donneront les
droits requis.
Je souhaite contacter un trésorier
----------------------------------
.. note::
Pour contacter un trésorier, il te suffit d'envoyer un mail à l'adresse
`tresorerie.bde@lists.crans.org <tresorerie.bde@lists.crans.org>`_. Pense bien
à donner ton nom de note, voire à envoyer un scan de ta carte d'identité si ta
demande concerne un virement entre le compte du BDE et ton propre compte.
J'ai trouvé un bug, comment le signaler ?
-----------------------------------------
.. note::
La Note Kfet est développée bénévolement par des membres du BDE. Malgré tous nos
efforts pour fournir une plateforme sans erreur et la plus ergonomique possible.
Toutefois, il n'est évidemment pas exclu que des bugs soient présents :)
Pour nous soumettre un bug, tu peux envoyer un mail à
`notekfet2020@lists.crans.org <notekfet2020@lists.crans.org>`_
Tu peux sinon ouvrir une issue sur `Gitlab <https://gitlab.crans.org/bde/nk20>`_.
N'hésite pas à venir en discuter avec nous à la Kfet, ou bien sur
`l'IRC du Crans <https://irc.crans.org/web>`_ sur le canal ``#note`` !
Le même processus s'applique en cas de demande de fonctionnalités.
Je souhaite contribuer
----------------------
.. note::
La Note Kfet est essentiellement développée par des responsables informatiques du
BDE de l'ENS Paris-Saclay. Toutefois, si vous souhaitez contribuer, vous pouvez
bien sûr le faire en accord avec la licence GPLv3 avec laquelle la Note Kfet est
distribuée. Pour cela, si vous êtes adhérent Crans, vous pouvez proposer une
demande de fusion de votre code. Si ce n'est pas le cas, vous pouvez envoyer un
mail à `notekfet2020@lists.crans.org <notekfet2020@lists.crans.org>`_.
Dans les deux cas, merci de rejoindre le canal ``#note`` sur IRC :)
Contributeurs
-------------
.. note::
La version 2020 de la Note Kfet a été développée sous le mandat de la
Saper[list]popette. Son développement a commencé à l'été 2019. Après un mois de beta
à l'été 2020, son déploiement en production s'est fait le samedi 5 septembre 2020.
Elle succède à presque 6 années de la
`Note Kfet 2015 <https://wiki.crans.org/NoteKfet/NoteKfet2015>`_, alors en production
depuis le 6 octobre 2014.
Liste des contributeurs majeurs, par ordre alphabétique :
* Pierre-André « PAC » COMBY
* Yohann « ÿnérant » D'ANELLO
* Benjamin « esum » GRAILLOT
* Alexandre « erdnaxe » IOOSS
Hébergement
-----------
.. note::
En accord entre de l'ENS Paris-Saclay et le Crans, l'instance de production présente
sur `<https://note.crans.org/>`_ est hébergée sur l'un des serveurs du Crans.
Les données sont hébergées à l'adresse :
.. code::
Association Crans
ENS Paris-Saclay
4 Avenue des Sciences
91190 Gif-sur-Yvette
La note, c'est quoi ?
=====================
La Note Kfet est un porte-monnaie virtuel proposé gratuitement à tous les adhérents BDE.
C'est le moyen de paiement privilégié au sein du campus, que ce soit pour payer des
activités du BDE, ou bien pour faire des remboursements entre amis. La note contient
également la base d'adhérents du BDE et contient de nombreux outils facilitant la vie
des différents bureaux de clubs, en particulier les trésoriers et surtout les trésoriers
BDE.
La Note Kfet est accessible à l'adresse `<https://note.crans.org>`_. La version actuelle
a été développée par le BDE 2020-2021, et est maintenue par les respos infos du BDE de
l'ENS Paris-Saclay.
Fonctionnement général de la note
---------------------------------
C'est quoi une note ?
~~~~~~~~~~~~~~~~~~~~~
Chaque adhérent⋅e BDE dispose d'un compte appelé « note », créé lors de son adhésion.
Une note est associée à un solde en euros, et à un pseudo appelé « nom de note ».
Le solde associé à la note correspond au solde de l'adhérent⋅e, avec lequel il est
possible de payer tout ce qui est en lien avec le BDE. Le nom de note suffit à
identifier une personne, et il suffit par exemple de donner ce nom à un permanencier
à la Kfet pour acheter un produit.
Faire une transaction
~~~~~~~~~~~~~~~~~~~~~
Tout⋅e adhérent⋅e peut faire une transaction de sa note vers n'importe quelle note
d'un⋅e autre adhérent⋅e, pourvu que le montant de la transaction n'excède pas son
propre solde. Pour cela, il suffit d'aller sur la page de transferts, qui est la
page par défaut après connexion : `<https://note.crans.org/note/transfer/>`_
Le formulaire pour effectuer un transfert apparaît alors. En cliquant sur le bouton
« Je suis l'émetteur », le champ « Émetteurs » est directement complété avec votre
propre note. Il vous suffit alors de remplir le champ « Destinataires » avec le ou
les noms de note que vous voulez créditer, de spécifier le montant et la raison de
votre transfert, puis de cliquer sur le bouton « Virement ». Après quelques secondes,
si votre solde est suffisant et que la transaction est acceptée, un message de
confirmation apparaîtra et la transaction apparaîtra dans l'historique ci-dessous.
.. image:: _static/img/create_transaction.png
:alt: Créer une transaction
Consulter ses données personnelles
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
La Note Kfet sert non seulement à faire des transactions d'argent virtuel au sein
du BDE, mais aussi à permettre au BDE et à ses clubs de gérer leurs adhérents.
À cet effet, diverses informations personnelles sont collectées par la Note.
Pour accéder à votre compte, une fois connecté⋅e, rendez-vous dans le menu en haut
à droite où se trouve votre pseudo. Votre solde est par ailleurs affiché à côté
de votre pseudo.
L'interface est divisée en trois parties :
* Vos données personnelles dans la partie de gauche
* Vos adhésions actives (si existantes) dans la partie haute
* Vos transactions récentes dans la partie basse
Vous pouvez modifier vos données personnelles que la Note possède sur vous en
cliquant à tout moment sur le bouton « Modifier le profil ». Les informations
présentes sont :
* Nom
* Prénom
* Pseudo
* Adresse e-mail
* Numéro de téléphone
* Section
* Département
* Promotion
* Adresse
* Élève/étudiant
* Inscription aux listes de diffusion du BDE, du BDA et du BDS
Les trois premières informations sont obligatoires pour pouvoir vous contacter
et pouvoir tenir un registre d'adhérent.
Le numéro de téléphone et l'adresse ne sont utilisés uniquement en cas d'urgence,
notamment en cas de WEI, et ne sont pas des champs obligatoires. De plus,
promotion, département et section ne sont utilisés sérieusement que en cas
de WEI, et ne sont pas utilisés sinon.
La distinction élève/étudiant permet de distinguer les achats qui peuvent avoir
des prix différents pour les élèves et pour les étudiants, notamment en cas de
transferts d'argent, de WEI ou d'adhésion à certains clubs.
Hormis le pseudo, toutes ces informations ont un caractère confidentiel qui les
rend privées et inaccessible aux utilisateurs. Les trésoriers BDE et les respos
info ont accès à toutes les informations (en cas de besoin uniquement, le cas
contraire est considéré comme de l'abus de droit qui est punissable), et les
trésoriers de club ont accès au nom et au prénom afin de faciliter l'association
à un nom de note.
Dans la partie informations personnelles, il est également possible de modifier
la liste de ses alias (voir la section sur les alias), et de voir son propre
solde. Il est enfin possible de modifier l'image associée à la note, qui n'a
quant à elle pas de caractère privée puisqu'elle est affichée à chaque recherche
de nom de note.
Le tableau des adhésions actives sur la partie du haut contient l'ensemble des
clubs auxquels vous êtes adhérent⋅es, avec les dates de début, de fin, votre
rôle au sein du club (généralement simple membre, mais cela peut également
être trésorier⋅ère par exemple) ainsi que la cotisation que vous avez éventuellement
payée au club.
L'historique des transactions contient l'ensemble des transactions qui ont fait
intervenir votre note, triées par date décroissante. Il est possible en cliquant
sur le lien « Historique des transactions » d'avoir un meilleur aperçu, notamment
pour pouvoir filtrer des transactions.
......@@ -2,8 +2,9 @@ Documentation de la Note Kfet 2020
==================================
Bienvenue sur le Wiki de la NoteKfet2020. Ce wiki est plutot orienté vers un public de développeur, qui souhaitent
contribuer au développement, mais expliquent également aux plus curieux comment fonctionne la NoteKfet2020 sous le capot.
Bienvenue sur la documentation de la Note Kfet 2020. Cette documentation est à la fois
destinée aux adhérents BDE pour découvrir le fonctionnement de la note, mais aussi aux
respos info qui souhaitent découvrir comment fonctionne la note sous le capot.
Des informations complémentaires sont également disponibles sur le `Wiki Crans <https://wiki.crans.org/NoteKfet/NoteKfet2020/>`_.
......@@ -11,5 +12,11 @@ Des informations complémentaires sont également disponibles sur le `Wiki Crans
:maxdepth: 2
:caption: Développement de la NK20
getting_started
apps/index
install-dev
install
documentation
scripts
faq
external_services/index
Installer la Note Kfet sur sa propre machine
============================================
Jamais en production tu ne coderas.
Pour pouvoir développer sur la Note, il est donc essentiel de pouvoir installer
localement une instance de la note, avec une base de données vierge et indépendante
de celle utilisée en production.
Toutes les dépendances Python seront installées dans un environnement virtuel,
afin de ne pas polluer sa machine de dépendances de la note.
Dépendances de base
-------------------
On a néanmoins besoin de dépendances de base.
Sur un Ubuntu/Debian :
.. code:: bash
$ sudo apt update
$ sudo apt install --no-install-recommends -y \
python3-setuptools python3-venv python3-dev \
texlive-xetex gettext libjs-bootstrap4 fonts-font-awesome git
Pour Arch Linux :
.. code:: bash
$ sudo pacman -Sy python-setuptools python-virtualenv \
texlive-most gettext git
Bootstrap 4 n'est pas dans les paquets officiels de Arch Linux, mais peut-être
trouvé dans l'AUR grâce au paquet ``bootstrap``. Néanmoins, il faut pour l'instant
penser à créer un lien symbolique :
``sudo ln -s /usr/share/javascript/bootstrap /usr/share/javascript/bootstrap4``.
Néanmoins, font-awesome n'est pas disponible dans les paquets Arch Linux, mais non
essentiel en développement (n'ajoute que les symbole à côté des boutons).
À noter que bootstrap et texlive sont optionnels également selon vos besoins.
Téléchargement de la note
-------------------------
On récupère le dépôt Git de la note :
.. code:: bash
$ git clone git@gitlab.crans.org:bde/nk20.git
Clonage dans 'nk20'...
remote: Enumerating objects: 203, done.
remote: Counting objects: 100% (203/203), done.
remote: Compressing objects: 100% (125/125), done.
remote: Total 13438 (delta 98), reused 170 (delta 74), pack-reused 13235
Réception d\'objets: 100% (13438/13438), 9.39 Mio | 5.50 Mio/s, fait.
Résolution des deltas: 100% (9028/9028), fait.
$ cd nk20
.. note::
Pour apprendre à utiliser Git, on peut regarder la page wiki dédiée :
`<https://wiki.crans.org/WikiInformatique/HowToGit>`_,
ou bien regarder les séminaires Crans dédiés :
`<https://wiki.crans.org/CransTechnique/CransApprentis/SeminairesTechniques>`_
Création d'un environnement virtuel Python
------------------------------------------