Related pages: 🇬🇧 Support
1. Approche générale
Les problèmes et demandes d'améliorations doivent être soumises dans le tracker public sur Github. Faîtes attention à ne pas exposer de données sensibles.
Parce que le code source de Pwic.wiki peut être étendu à des endroits précis, si vos besoins se gèrent avec quelques lignes spécifiques à ces endroits, elles ne réintègreront pas le code public. Il est possible de discuter de nouvelles fonctionnalités si elles peuvent intéresser d'autres utilisateurs.
À date, nous n'offrons aucun service d'écriture de code pour des extensions ou des bots. Mais nous pouvons discuter pour estimer leur faisabilité. Si tel n'était pas le cas, le code public pourra être modifié pour offrir les points d'extension nécessaires.
2. Tutoriaux en vidéo
Les vidéos de la chaîne YouTube sont sous-titrées en anglais.
- #1 Configuration technique
- #2 Créez votre première page
- #3 Écrivez votre premier article
- #4 DĂ©finissez les options
3. FAQ technique
3.1. Comment puis-je vérifier si Pwic.wiki contient la fonctionnalité dont j'ai besoin ?
Les fonctionnalités sont listées sur ce site. Vous pouvez aussi les comparer sur le site WikiMatrix.org.
3.2. Est-ce que Pwic.wiki est stable et sûr à utiliser ?
Pwic.wiki propose une version stable 1.0
depuis juillet 2022, mais aussi une version de développement via le dépôt Git. Vous choisissez la version de votre choix. Mais pour ce site web, il s'agira toujours de la dernière version de développement pour illustrer comment elle performe. Le cycle de développement interne privilégie toujours la résolution des bugs connus à l'ajout de nouvelles fonctionnalités.
3.3. Quelle est la structure des fichiers ?
pwic.py
est le code principal qui ne doit pas être modifié.pwic_lib.py
inclut les fonctions partagées et quelques options modifiables.pwic_admin.py
est un script d'administration de l'application Ă travers un terminal.pwic_extension.py
est le code modifiable pour changer le comportement de l'application.pwic_importer.py
,pwic_exporter.py
etpwic_md.py
sont des convertisseurs de Markdown qui ne doivent pas être modifiés.
3.4. Comment vous assurez-vous de la qualité du code ?
Les deux outils flake8
et mypy
sont principalement utilisés pour vérifier la syntaxe et le typage des variables au sein des appels de fonctions. Ces contrôles sont statiques mais permettent d'anticiper les problèmes courants. Le code est testé dynamiquement à l'usage, car il sert notamment pour le site web officiel. Récemment, la validation a été étendue de façon discrétionnaire à CodeFactor.io qui regroupe des outils tiers comme pylint
, stylelint
ou bandit
.
3.5. Quelles sont les possibilités de personnalisation de Pwic.wiki?
Vous pouvez :
- Structurer vos données par projet,
- DĂ©finir des options flexibles,
- DĂ©finir des options statiques dans le code,
- Écrire du code dans les points d'extension prévus,
- Créer des bots utilisant l'API,
- Un récapitulatif des codes d'erreur est disponible ici
- Modifier directement le logiciel (non recommandé),
- Ajouter des traductions.
3.6. Est-ce que le site actuel utilise du code spécifique ?
Tout à fait et en accord avec la conception de Pwic.wiki. Ce site utilise l'exacte version que vous pouvez télécharger.
Les changements implémentés limitent certains abus dans la gestion de l'espace de démonstration. Alors si vous ne pouvez pas vous connecter, vous pourrez le faire en installant votre instance du logiciel.
3.7. Pourquoi certaines pages sont délivrées par nginx sur ce site ?
Le reverse proxy nginx est utilisé pour servir les fichiers statiques comme cela est recommandé dans la documentation d'aiohttp. Ce n'est pas obligatoire mais c'est mieux pour réduire la charge de calcul et les temps de chargement. Dans notre cas, c'est aussi un élément obligatoire pour partager le port 80 principal avec d'autres logiciels privés et sites web (comme musique.pwic.wiki).
3.8. Est-ce que Pwic.wiki fonctionne sur un Raspberry Pi 5 ?
Le logiciel en version 1.2
est validé pour fonctionner avec Raspberry OS dérivé de Debian Bookworm 12.2. Vous êtes actuellement connecté sur cette machine qui supporte l'IPv4 et IPv6 à la fois :
3.9. Est-ce que Pwic.wiki fonctionne avec Docker ?
Oui, la procédure indicative est décrite ici.
3.10. Est-ce que Pwic.wiki peut utiliser HTTPS avec Let's Encrypt ?
Oui, la procédure est décrite ici. Vous aurez a minima besoin d'acheter un nom de domaine.
3.11. Quelle est l'empreinte mémoire brute de Pwic.wiki ?
Voici un extrait du processus Pwic.wiki tout juste lancé à vide dans une machine virtuelle dotée de 2 Go de mémoire :
User | PID | %CPU | %Mem | VSZ | RSS | TTY | Stat | Start | Time | Command |
---|---|---|---|---|---|---|---|---|---|---|
pwic | 979 | 0.4 | 1.9 | 62500 | 39288 | pts/0 | S | 23:23 | 0:00 | python3 pwic.py |
Après 1 mois de fonctionnement dans une machine réelle avec 8 Go de mémoire :
User | PID | %CPU | %Mem | VSZ | RSS | TTY | Stat | Start | Time | Command |
---|---|---|---|---|---|---|---|---|---|---|
pwic | 859 | 0.0 | 1.0 | 247392 | 85792 | ? | S1 | Nov04 | 0:23 | python3 pwic.py |
3.12. Comment puis-je utiliser plusieurs processeurs Ă la fois ?
Si vous avez des besoins accrus en calcul, vous devez suivre cette procédure. L'idée est de lancer plusieurs instances de Pwic.wiki sur des ports internes différents et derrière un reverse proxy. Si vous n'utilisez pas l'option keep_sessions
, chaque nœud aura sa propre authentification et vous ne pourrez pas basculer sur un autre nœud.
L'instance Pwic.wiki de notre serveur n'utilise qu'un seul CPU.
3.13. Comment résoudre la lenteur de la base de données ?
Par conception de l'API, chaque appel correspond à une transaction, c'est-à -dire à un ensemble de mises à jour annulables jusqu'à ce qu'elles soient sauvegardées sur la surface du disque dur. La vérification que les données sont bien physiquement sauvegardées prend du temps, d'autant plus que les appels à l'API sont répétés. Cela explique pourquoi il n'est pas possible de faire plus de 20 mises à jour par seconde. Ce comportement est documenté, normal et sûr.
La seule façon de faire une mise à jour en masse consiste à écrire dans la base de données directement avec un script, mais ce n'est pas recommandé, car cela court-circuite toutes les protections. Vous devez utiliser l'API mais vous ne souhaitez pas être limité pour autant. Pour libérer la base de données et éviter les ralentissements du disque dur, vous devez activer le mode asynchrone via l'option db_async
. Des milliers d'ajouts peuvent alors être faits chaque seconde, mais vos modifications peuvent cependant être perdues si le serveur n'a plus d'alimentation électrique. Cette option doit être utilisée si votre site a une forte activité.
3.14. Quelles sont les métriques de Pwic.wiki ?
Au 28 avril 2024 avec l'aide de AlDanial/cloc v1.92 et après quelques ajustements :
Langage | Fichiers | Blancs | Commentaires | Code |
---|---|---|---|---|
Python | 9 | 1340 | 4303 | 8682 |
HTML | 25 | 309 | 6 | 2704 |
PO File | 2 | 648 | 56 | 1324 |
JavaScript | 14 | 126 | 63 | 1275 |
Sass | 2 | 224 | 63 | 803 |
XML | 2 | 0 | 4 | 202 |
Markdown | 1 | 38 | 0 | 132 |
CSS | 1 | 1 | 0 | 8 |
Bourne Shell | 1 | 1 | 1 | 8 |
DOS Batch | 1 | 1 | 1 | 8 |
Somme : | 58 | 2688 | 4497 | 15146 |
3.15. Quel standard Markdown est supporté ?
L’implémentation réalisée par la dépendance python-markdown2
s'appuie sur CommonMark et est compatible avec Github dans les grandes lignes.
3.16. Quel standard OpenDocument est supporté ?
L'intégration avec OpenDocument Text (ODT) se réfère à la spécification "Open Document Format for Office Applications (OpenDocument) Version 1.2" publiée en 2011.
3.17. Où est la liste des colorateurs syntaxiques supportés ?
Si vous installez la dépendance optionnelle pygments
, vous pouvez colorer vos codes source. Par simple hasard, l'exemple suivant utilise le colorateur abap
:
REPORT zlexers.
START-OF-SELECTION.
WRITE 'Référez-vous aux <short names> à ce lien: https://pygments.org/docs/lexers/'.
WRITE 'Téléchargez cette page au format MD pour voir la syntaxe autour de ```'.
3.18. Est-ce que vous développerez un outil de suivi de bogues rapide et efficace basé sur Pwic.wiki ?
En raison des temps et coûts requis, ce n'est pas à l'ordre du jour mais fondamentalement souhaité.
3.19. Puis-je contacter votre équipe en privé ?
Si vous découvrez un problème critique que vous ne souhaitez pas divulguer, prenez contact par courriel à "support pwic.wiki" (devinez le caractère manquant). Sinon, veuillez utiliser le tracker public dont le lien est donné tout en haut.
Revision #1 was last modified by gitbra
on 2024-11-30 at 00:00:00 — ddb25b3193ffa51b