Sortie de Tryton 6.6

18
9
jan.
2023
Bureautique

Le 31 octobre 2022 sortait la version 6.6 de Tryton. Cette version apporte une série de correctifs et d’améliorations et voit l’ajout de dix nouveaux modules dont une consolidation comptable, l’authentification via SAML, le support de contrat cadre pour l’achat et la vente et un système de recommandation de produit basé sur des règle d'association, ainsi que l’ajout de l’ukrainien parmi les langues supportées. Comme d’habitude, la montée de version est prise en charge entièrement (et cette fois-ci sans intervention manuelle).

Tryton

Tryton est un progiciel de gestion intégré modulaire et multiplateforme. Tryton se concentre sur la stabilité et les modules essentiels de gestion, qui sont très aboutis. Des tierces parties développent des modules spécifiques à certaines activités ou permettant l’intégration à d’autres outils. C’est notamment le cas du projet GNU Health qui s’appuie sur Tryton depuis 2008.

Tryton est utilisable à travers un client desktop, un client web responsive et un client en ligne de commande. Tous ces clients sont légers et multiplateformes (Linux, BSD, Windows et macOS).

Nouveautés principales

Voici une liste non-exhaustive des nouveautés qu’apporte cette version 6.6 (voir l’annonce officielle pour une liste plus complète).

Flatpack

Cette version est la première à publier un client bureau pré-compilé pour Linux via Flatpak.
Desktop client

Messages d’erreur

Les messages d’erreur de validation générique ont été revus pour fournir plus d’informations à l’utilisateur comme le nom de l’enregistrement et la valeur du champ causant le problème. Ceci devrait permettre à l’utilisateur de corriger son erreur plus facilement.

Délégation de dette

Un assistant permet de déléguer une dette à un tiers. Quand cette dette vient d’une facture, le nouveau bénéficiaire est enregistré sur celle-ci. Il est même possible de le remplir avant de valider la facture pour déléguer directement.

Pays, organisations et régions

Le module country vient maintenant avec deux nouveaux concepts : les organisations et les régions.
Par défaut Tryton crée les organisations les plus fréquemment utilisées comme l’Europe, le Benelux, NAFTA, Mercosur, etc.
Formulaire de l’Union européenne
Notez l’affichage des drapeaux de chaque pays qui est aussi une nouvelle fonctionnalité.

Les régions sont basées sur l'UN M49 qui regroupe les pays par régions géographiques, principalement pour faire du reporting. Les rapports sur les ventes l’utilisent entre autres.

Régions

Index

Tryton utilise maintenant une nouvelle syntaxe pour déclarer les besoins d’index. Le mécanisme de mise à jour de la base de données s’assure de créer, mettre à jour ou supprimer les index. En déclarant le besoin uniquement, Tryton peut choisir le meilleur type d’index à créer en fonction des possibilités de la base de données. Il est prévu dans une future version d’avoir en plus une détection d’index redondant.
L’ORM définit par défaut les index dont il a besoin sans intervention du développeur.

Voici l’exemple de la vente qui définit le besoin :

  • un index pour rechercher « Full-Text » sur le champ reference
  • un autre sur party (qui contient une clé étrangère) pour les jointures
  • un index partiel sur state uniquement pour certains états (utilisé pour afficher le nombre de ventes en cours)
  • etc.
    @classmethod                                    
    def __setup__(cls):                                      
        cls.number.search_unaccented = False
        cls.reference.search_unaccented = False       
        super(Sale, cls).__setup__()                
        t = cls.__table__()                
        cls._sql_indexes.update({
                Index(t, (t.reference, Index.Similarity())),
                Index(t, (t.party, Index.Equality())),
                Index(   
                    t,                                          
                    (t.state, Index.Equality()),
                    where=t.state.in_([
                            'draft', 'quotation', 'confirmed', 'processing'])),
                Index(                 
                    t,     
                    (t.invoice_state, Index.Equality()),
                    where=t.state.in_(['none', 'waiting', 'exception'])),
                Index(         
                    t,             
                    (t.shipment_state, Index.Equality()),
                    where=t.state.in_(['none', 'waiting', 'exception'])),
                })

Migration sur Heptapod (GitLab)

Un autre point marquant de cette fin d’année pour le projet est sa migration sur la plateforme Heptapod (une version de GitLab adaptée pour Mercurial).

  • Le code source réparti dans plusieurs dépôts a été fusionné dans un mono-dépôt (sans réécriture).
  • Les issues de l'ancien bug tracker ont été migrées sur Heptapod en gardant le même identifiant.
  • L'intégration continue a été déplacée de drone vers GitLab CI/CD et elle est maintenant exécutée aussi sur les merge requests.

Fondation

La fondation Tryton a pour but d’aider le développement et de supporter les activités autour du projet. Elle maintient aussi les infrastructures nécessaires au projet (site web, forum, chat, etc.). Elle est gérée par un conseil d’administration dont les membres sont cooptés depuis la communauté. Celui-ci a été renouvelé cette année après les cinq ans maximums de service du précédent conseil.

Aller plus loin

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.