Logo Khaganat
Traductions de cette page?:

Ceci est une ancienne révision du document !


Khaganat web

Khaganat web est une application web développée en Python/Django ayant pour vocation de devenir le prochain site vitrine du projet.

Fonctionnalités

Pages statiques 
Permet la réalisation de pages statiques depuis l'interface d'administration.
(100% ) 100%Priority: 1

Gestion des utilisateurs 
Inscription, connexion, déconnexion, suppression, réinitialisation du mot de passe, gestion du profil.
(100% ) 100%Priority: 1

Barre de navigation 
Barre de navigation éditable depuis l'interface d'administration.
(70% ) 70%70%Priority: 1

Journaux de conversation 
Affichage des journaux de conversation du projet.
(95% ) 95%95%Priority: 2

Gestion du contenu sensible 
Possibilité d'indiquer du contenu comme sensible afin d'obtenir l'accord explicite des utilisateurs avant affichage.
(100% ) 100%Priority: 2

Pastebin 
Intégration d'un outil permettant de poster des extraits de code source.
(100% ) 100%Priority: 3

Partage de mots de passe 
Intégration d'un outil de partage de mots de passe.
(0% ) 0%Priority: 3

Webchat 
Intégration d'un webchat XMPP.
(0% ) 0%Priority: 3

Générateur de noms 
Intégration d'un générateur de noms.
(0% ) 0%Priority: 3

Intégration de dokuwiki 
Lier le docuwiki existant au site web.
(0% ) 0%Priority: 4

Intégration de NextCloud 
Lier le NextCloud existant au site web.
(0% ) 0%Priority: 4

Forum 
Intégration d'un moteur de forum.
(0% ) 0%Priority: 5

Contribuer

Rapports de bug

Le premier moyen de contribution possible est d'utiliser la version de test et de signaler les bugs.

Éditer le code

Comme pour tout projet, vous pouvez directement contribuer au code source en soumettant des pull request sur le dépôt GitLab.

Il vous faudra probablement installer le site en version locale (sur votre propre serveur, sur une VM) afin de tester vos modifications. Pour cela, la page Installer Django et le site web Khaganat vous sera probablement utile.

Pour les traducteurs

Afin d'améliorer les traduction, vous pouvez éditer les fichiers .po situés dans les répertoires <module>/locale/<langue>/LC_MESSAGES/. Toutes les informations sur le fonctionnement des traductions est disponible dans la documentation de Django.

Pour les graphistes

Django

Django divise le site web final en différents modules initialement autonomes. Bien que cette autonomie est bien souvent remise en question par la nécessité de faire dépendre certains modules d'autres modules, il faut garder à l'esprit que cet état d'esprit. À ce titre, chaque module comporte un sous-dossier static contenant tous les fichiers devant être accessible (images, css, javascript, etc). Ceci impose certains comportements :

  1. bien étudier la portée du fichier que l'on utilise (est-il propre à un module ou non ?) ;
  2. faire attention à ne pas créer de doublons entre deux modules (utilisation de sous-dossiers portant le nom du module afin de créer des espaces de noms).

Les fichiers module1/static/toto.jpg et module2/static/toto.jpg entreront en conflit. Afin d'éviter que l'un ne soit perdu, il faut les déplacer en tant que module1/static/module1/toto.jpg et module2/static/module2/toto.jpg.

Afin de générer les pages HTML, Django utilise des gabarits. Tout comme les fichiers statiques, les gabarits sont répartis dans les différents modules en fonction de leur rôle, dans un sous-dossier nommé templates. Il convient de prendre le mêmes précautions qu'avec les fichiers statiques.

Le module khaganat est utilisé pour les fichiers statiques et gabarits globaux.

Le chemin vers les fichiers statiques est susceptible de changer en fonction de la configuration. Vous ne devez donc surtout pas mettre le chemin « en dur » mais, à la place, utiliser la balise static. Il en va de même pour les liens internes au site pour lesquels il faut utiliser la balise url.

Afin d'éditer les gabarits de Django, vous aurez besoin de la documentation sur le langage de gabarit ainsi que de la liste des balises et filtres de gabarit intégrés.

Les développeurs Python peuvent ajouter de nouvelles balises et filtres. Par exemple, c'est ainsi que la barre de navigation est ajoutée dans le gabarit global.

Bulma

Le projet utilise un framework CSS : Bulma. N'hésitez pas à consulter sa documentation.

Afin de personaliser Bulma, il est possible de définir des variables Sass. Afin de mettre en place un environnement de développement sass, nous allons tout d'abord installer les outils de compilation sass (nécessite npm) : pipenv run ./manage.py bulma install. Ensuite, nous pouvons, au choix, utiliser pipenv run ./manage.py bulma build pour compiler les fichiers sass ou bien utiliser pipenv run ./manage.py bulma start pour lancer un processus qui compilera les fichiers sass à chaque modification.

Le fichier sass à éditer est static_extra/bulma/sass/style.sass.

CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/khaganat_web.1541708184.txt.gz · Dernière modification : 2021/12/03 19:18 (modification externe)

Licences Mentions légales Accueil du site Contact