Plusieurs utilisateurs se sont parfois proposés pour enrichir la documentation ou corriger des fautes dans Diacamma.
Étant donnée que Diacamma est un logiciel libre, l'ensemble du code source est disponible ainsi que les manuels et les textes.
Ce petit article explique comment vous pouvez proposer une correction que ce soit sur un élément textuel ou sur une évolution fonctionnel du logiciel.
Un logiciel libre? Mais c'est quoi exactement ?
Diacamma est un logiciel libre, c'est à dire qu'il respecte ces 4 critères de libertés :
- La liberté d'exécuter le programme comme vous le souhaitez, et à toute fin (liberté 0);
- La liberté d'étudier le fonctionnement du programme, et le modifier comme vous le souhaitez pour votre ordinateur (liberté 1);
- La liberté de redistribuer les copies que vous avez reçues (liberté 2);
- La liberté de distribuer des copies de vos versions modifiées pour donner à toute la communauté une chance de profiter de vos modifications (liberté 3).
Diacamma est-il vraiment étudiable et modifiable librement ?
Ce logiciel est réalisé via 2 principales technologie:
- Le langage Python pour la partie "serveur"
- Le langage JavaScript pour la partie "client", dans votre navigateur web
Étant donnée que ces 2 langages sont des langages scriptés et non compilés, avec l'installation du logiciel vous recevez également l'ensemble du source code afin qu'il s’exécute sur votre ordinateur.
Ayant les sources, les 3 premières libertés vous sont alors assurées.
Pour la dernière liberté, cela nécessite de pouvoir proposer nos corrections dans un espace qui servira à enrichir la prochaine mise à jour et donc pour l'ensemble de la communauté Diacamma.
Pour ce faire, nous diffusons le code source sur la plate-forme spécialisée github
Plus particulièrement, nous avons créé 2 espaces de stockage:
- https://github.com/Lucterios2
Ici, nous retrouvons différent module générique, indépendant d'une logique métier Diacamma- CORE
- contacts
- documents
- https://github.com/Diacamma2
Ici, ce retrouve les modules plus spécifique à Diacamma- financier
- asso
- syndic
Vous êtes donc déjà libre d'étudier ce que font ces différents modules directement depuis l'interface de github, sans même installer le logiciel.
C'est un grand avantage de transparence pour savoir exactement ce que l'outil fait avec vos données.
Même si vous même n'avez pas les compétences pour comprendre vraiment ce code, il est au moins disponible publiquement, à la vu de tous.
Et si vous voulez proposer une correction ou une amélioration, c'est assez simple:
- Créez un compte "github"
- Sélectionnez le module à modifier
- Cliquez sur "fork" pour dupliquer le projet dans votre espace personnel
- Depuis votre espace, vous pouvez réaliser toutes les modifications que vous voulez
- Une fois vos corrections prête, cliquez sur "New pull request" pour soumettre vos corrections dans l'espace d'origine
- Nous pourrons alors intégrer vos propositions et les proposer à tous pour un mise à jour suivante.
Si vous voulez en savoir plus sur l'utilisation de github, voilà quelque tutoriel:
Je ne suis pas développeur, je veux juste corriger une erreur dans un texte, c'est possible?
Tout le monde n'a pas de compétence de développeur pour proposer des améliorations.
Par contre, vous avez peut-être rencontré une faute d'orthographe ou une phrase mal écrite et vous voudrez juste proposer une petit correction de ce genre.
Heureusement, vous n'aurez pas à parcourir l'ensemble du code source pour trouver votre phrase.
En effet, l'ensemble des phrases sont rassemblés dans des fichiers django.po utilisés pour réaliser des traductions (Diacamma se veux par défaut en français et en anglais)
Et donc, pour chacun des modules de Diacamma et de Lucterios, vous retrouvez ces fichiers où dedans se cache votre petite phrase "à corriger"
- Diacamma Asso
https://github.com/Diacamma2/asso/tree/master/diacamma/asso/locale/fr/LC_MESSAGES - Diacamma Syndic
https://github.com/Diacamma2/syndic/tree/master/diacamma/syndic/locale/fr/LC_MESSAGES/ - Lucterios contacts
https://github.com/Lucterios2/contacts/tree/master/lucterios/contacts/locale/fr/LC_MESSAGES/ - Lucterios documents
https://github.com/Lucterios2/documents/tree/master/lucterios/documents/locale/fr/LC_MESSAGES/ - Lucterios courier
https://github.com/Lucterios2/contacts/tree/master/lucterios/mailing/locale/fr/LC_MESSAGES/ - Diacamma adhérent
https://github.com/Diacamma2/asso/tree/master/diacamma/member/locale/fr/LC_MESSAGES/ - Diacamma comptabilité
https://github.com/Diacamma2/financial/tree/master/diacamma/accounting/locale/fr/LC_MESSAGES/ - Facturier Diacamma
https://github.com/Diacamma2/financial/tree/master/diacamma/invoice/locale/fr/LC_MESSAGES/ - Diacamma réglement
https://github.com/Diacamma2/financial/tree/master/diacamma/payoff/locale/fr/LC_MESSAGES/ - Diacamma copropriété
https://github.com/Diacamma2/syndic/tree/master/diacamma/condominium/locale/fr/LC_MESSAGES/ - Coeur Lucterios
https://github.com/Lucterios2/core/tree/master/lucterios/CORE/locale/fr/LC_MESSAGES/
Ces fichiers textes comporte à chaque fois 3 lignes comme le montre ce petit extrait:
#: editors.py:281
msgid "Add a entry line"
msgstr "Ajouter une ligne d'écriture"
#: editors.py:343 editors.py:349 models.py:57 models.py:162 models.py:170
#: models.py:1002 models.py:1240
msgid "third"
msgstr "tiers"
La première ligne, précédé par un # donne pour indication dans quel fichier de source est utilisé ce texte.
La deuxième ligne correspond à un identifiant, présent dans le code, de la chaine de texte à utiliser. Le plus souvent saisi en anglais, cette ligne ne doit pas être modifiée.
La troisième linge correspond donc au texte qui sera alors afficher à l'utilisateur, c'est là que vous pouvez apporter vos corrections.
Notez que vous pouvez trouver des notations avec des %s, %d, %f ... dans le texte utilisateur et ces notations sont alors remplacées par une valeur à l'affichage: il faut donc bien les laisse dans votre correction.
Une fois que vous avez identifier le module que vous voulez corriger, vous n'avez qu'à réaliser la manipulation expliquée précédement (fork, correction, pull request) pour proposer la correction de votre texte.
Et le manuel, peut-on aussi proposer des améliorations sur la documentation ?
Un petit manuel en ligne est disponible dans Diacamma, vous le trouver en cliquant sur le bouton "Aide", en haut à gauche du logiciel.
Et bien sur, ce manuel se trouve également dans les sources et sous github.
Comme pour les phrases traduites, vous trouverez un petit répertoire de documentation pour chaque module.
- Diacamma Asso
https://github.com/Diacamma2/asso/tree/master/diacamma/asso/docs/fr - Diacamma Syndic
https://github.com/Diacamma2/syndic/tree/master/diacamma/syndic/docs/fr/ - Lucterios contacts
https://github.com/Lucterios2/contacts/tree/master/lucterios/contacts/docs/fr/ - Lucterios documents
https://github.com/Lucterios2/documents/tree/master/lucterios/documents/docs/fr/ - Lucterios courier
https://github.com/Lucterios2/contacts/tree/master/lucterios/mailing/docs/fr/ - Diacamma adhérent
https://github.com/Diacamma2/asso/tree/master/diacamma/member/docs/fr/ - Diacamma comptabilité
https://github.com/Diacamma2/financial/tree/master/diacamma/accounting/docs/fr/ - Facturier Diacamma
https://github.com/Diacamma2/financial/tree/master/diacamma/invoice/docs/fr/ - Diacamma réglement
https://github.com/Diacamma2/financial/tree/master/diacamma/payoff/docs/fr/ - Diacamma copropriété
https://github.com/Diacamma2/syndic/tree/master/diacamma/condominium/docs/fr/ - Coeur Lucterios
https://github.com/Lucterios2/core/tree/master/lucterios/CORE/docs/fr/
Cette documentation est réalisé en reStructuredText un formatage très utilisé dans des wiki et certain forum.
Github lui même adapte son éditeur de texte pour vous aider à écrire dans ce type de fichier.
Vous pouvez dans chaque fichier rst, ajouter des images et formater votre explication.
Comment contribuer autrement ?
Si vous voulez contribuer autrement à l'avenir de Diacamma, plein de chose sont possible bien sur:
- en étant actif sur le forum
- en parlant de Diacamma dans votre entourage: réseaux sociaux, réseaux associatifs, ...
- en proposant des nouvelles idées d'évolutions ou améliorations
En tout cas, vous pouvez également nous contacter à Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. si vous avez de chouette proposition à nous faire.