Logo Khaganat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:khaganat_web [2018/11/08 21:16] – [Fonctionnalités] Tycho Brahefr:khaganat_web [2021/12/03 19:19] (Version actuelle) – modification externe 127.0.0.1
Ligne 2: Ligne 2:
  
 Khaganat web est une application web développée en Python/Django ayant pour vocation de devenir le prochain site vitrine du projet. Khaganat web est une application web développée en Python/Django ayant pour vocation de devenir le prochain site vitrine du projet.
 +
 +
 +===== Tests et mise en production =====
 +
 +La version disponible sur [[https://cipra.khaganat.net/|Cipra]] est un environnement servant à préparer la future mise en production du site. Vous êtes invités à vous y inscrire et à tester les différents éléments. Cependant, certains éléments actuellement sur Cipra seront sauvegardés et directement transférés en production, il convient donc de ne pas y toucher afin de ne pas perturber les opérations.
 +
 +<WRAP center round important>Une adresse email valide est nécessaire pour s'inscrire car il y sera envoyé un lien d'activation du compte.</WRAP>
 +
 +==== Éléments allant en production à ne pas toucher ====
 +
 +La liste est exhaustive.
 +
 +  * pages statiques
 +  * barre de navigation
 +
 +
 +==== Éléments de test pouvant être modifiés à loisir ====
 +
 +La liste **n'est pas** exhaustive.
 +
 +  * utilisateurs
 +  * droits d'accès
 +  * pastebin
 +  * journaux de conversation
 +  * mots de passe partagés
 +  * etc
 +
  
 ===== Fonctionnalités ===== ===== Fonctionnalités =====
Ligne 29: Ligne 56:
 TITLE: Journaux de conversation TITLE: Journaux de conversation
 PRIORITY: 2 PRIORITY: 2
-PROGRESS: 95%+PROGRESS: 50%
 DESCRIPTION: Affichage des journaux de conversation du projet. DESCRIPTION: Affichage des journaux de conversation du projet.
 </task> </task>
Ligne 52: Ligne 79:
 TITLE: Partage de mots de passe TITLE: Partage de mots de passe
 PRIORITY: 3 PRIORITY: 3
-PROGRESS: 0%+PROGRESS: 100%
 DESCRIPTION: Intégration d'un outil de partage de mots de passe. DESCRIPTION: Intégration d'un outil de partage de mots de passe.
 </task> </task>
Ligne 60: Ligne 87:
 TITLE: Webchat TITLE: Webchat
 PRIORITY: 3 PRIORITY: 3
-PROGRESS: 0%+PROGRESS: 90%
 DESCRIPTION: Intégration d'un webchat XMPP. DESCRIPTION: Intégration d'un webchat XMPP.
 </task> </task>
Ligne 94: Ligne 121:
 DESCRIPTION: Intégration d'un moteur de forum. DESCRIPTION: Intégration d'un moteur de forum.
 </task> </task>
 +
 +
 +===== Administrer =====
 +
 +
 +==== Les paramètres globaux ====
 +
 +Il est possible de définir de nombreux paramètres globaux à l'aide de variables d'environnement. Le plus simple pour définir des variables d'environnement est de les définir dans le fichier ''.env'', elles seront automatiquement chargées par pipenv. La liste des variables pouvant ainsi influer sur le déploiement se trouve dans le README.
 +
 +
 +==== Pastebin ====
 +
 +Afin de supprimer les pastes périmés, il est important de lancer régulièrement la commande suivante :
 +
 +<code>pipenv run ./manage.py npb_purge_pastes</code>
 +
 +Par défaut, les pastes périmés ne sont pas affichés, il n'y a donc pas un besoin absolu de faire cette purge en permanence. En fonction de la charge, la lancer chaque semaine ou chaque mois peut être suffisant. Il est bien entendu recommandé d'automatiser cette tâche.
 +
 +
 +==== Changement de clé secrète ====
 +
 +Si l'on pense que la clé secrète a pu être compromise, il faut immédiatement en changer. Tout ce qui repose sur cette clé (sessions utilisateurs, mots de passes partagés, etc) ne sera donc plus valide. Si pour les sessions utilisateur il suffit que ces derniers se reconnectent, pour les mots de passe partagés c'est plus compliqué car il faut tous les déchiffrer avec l'ancienne clé puis les chiffrer à nouveau avec la nouvelle. Afin de faire ceci simplement, la procédure de changement de clé secrète est la suivante :
 +
 +  - Lire l'ensemble de la procédure et s'assurer que l'on a compris à quoi sert chaque étape.
 +  - Sauvegarder l'ancienne clé (il y en aura besoin dans la suite de la procédure).
 +  - Générer une nouvelle clé à l'aide de la commande ''<nowiki>pipenv run python -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())'</nowiki>'' (en une seule ligne).
 +  - Dans l'environnement de production, remplacer l'ancienne clé par la nouvelle.
 +  - Dans l'environnement de production, lancer la commande ''pipenv run ./manage.py pwdb_rotate_secret_key <ancienne_clé>''.
 +  - Redémarrer le service WSGI.
  
  
Ligne 115: Ligne 171:
  
 ==== Pour les graphistes ==== ==== Pour les graphistes ====
 +
 +Avant toute chose, vous devriez consulter la page [[taf>fr:taf:web:ergonomie:cipra|CSS de Django (Cipra)]].
  
 === Django === === Django ===
Ligne 140: Ligne 198:
 Le projet utilise un framework CSS : [[https://bulma.io/|Bulma]]. N'hésitez pas à consulter sa [[https://bulma.io/documentation/|documentation]]. Le projet utilise un framework CSS : [[https://bulma.io/|Bulma]]. N'hésitez pas à consulter sa [[https://bulma.io/documentation/|documentation]].
  
-Afin de personaliser Bulma, il est possible de définir des [[https://bulma.io/documentation/overview/variables/|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.+Afin de personaliser Bulma, il est possible de définir des [[https://bulma.io/documentation/overview/variables/|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) : pour lancer un processus qui compilera les fichiers sass à chaque modification. 
 + 
 +<code> 
 +git clone https://git.khaganat.net/khaganat/web/khaganat_web_css.git 
 +cd khaganat_web_css 
 +npm install bulma 
 +npm install node-sass 
 +cp bulma.sass node_modules/bulma/bulma.sass 
 +cd node_modules/bulma
 +npm run build-sass 
 +cp css/bulma.css khaganat-web/khaganat/static/khaganat/css/style.css 
 +</code> 
 + 
 +Le fichier css est à copier dans ''khaganat-web/khaganat/static/khaganat/css/style.css''. 
  
-Le fichier sass à éditer est ''static_extra/bulma/sass/style.sass''. 
  
 {{tag>Serveur Web}} {{tag>Serveur Web}}
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