DevCamp Lyon 2023 hiver: Difference between revisions

mNo edit summary
Tag: 2017 source edit
 
(20 intermediate revisions by 5 users not shown)
Line 1: Line 1:
==Prise de notes lors des différentes tables ronde==
=Prise de notes lors des différentes tables rondes=
===Facture de situation===
Réalisé par Progiseize
Validation des tests de la migration des données vers le nouveau modèle de données
Propositions :


===FACTURE DE SITUATION===
*Ajouter une étape de contrôle d'intégrité post-migration des données (Action Easya Solutions)
Ajouter une étape de contrôle d'intégrité post migration des données (Action Easya Solutions)
*Réaliser PR Dolibarr pour intégration v20
Réaliser PR Dolibarr pour intégration v20
 
===Gestion des interfaces UI/UX===
Réalisé par Code42
Proposition de hiérarchie et charte de nommage associé (@Code 42 : Pourrais-tu envoyer ta présentation)
llx_headers à faire évoluer pour permettre l'usage de classe CSS optimisées en fonction de l'endroit où l'on se situe dans le body.
 
Réaliser un plan de nommage standardisée


===Proposition de compte rendu pour la table ronde UI/UX===
CODE 42 : Proposition de hiérarchie et charte de nommage associé
@Code 42 : Pourrais-tu envoyer ta présentation
llx_headers construction de classe optimiser en fonction de l'endroit où l'on se situe dans le body.
Réaliser un plan de nommage standardisé
Suivi du projet :
Suivi du projet :
  Issue liste top-priority
    Travail en petite communauté
    Définition d'un GIFF


John : Proposition autour de JS et de l'interaction entre module externe @johnbotella
*Issue liste top-priority
Proposition de partager du JS entre module externe
*Travail en petite communauté
Heberger et standardiser les interfaces UI/UX (A priori dans public/test) afin qu'elles soient visibles de tous (comme la documentation de Onsen.ui (https://onsen.io/theme-roller/) fontawesome, etc...
*Définition d'un GIFF
Code 42 : Propose la possibilité d'utiliser des outils comme figma
 
https://www.figma.com/
Propositions autour de JS et de l'interaction entre module externe @johnbotella
Il faudrait faire  intervenir un spécialiste externe UI/UX
 
Proposition de partager du JS entre modules externes
 
Proposition Eoxia :
Héberger et standardiser les interfaces UI/UX (A priori ce type d'interface existe en prototype dans le dossier dolibarr natif "public/test") afin qu'elles soient visibles de tous (comme la documentation de Onsen.ui (https://onsen.io/theme-roller/) fontawesome, etc...
 
Proposition de travailler sur 2 axes :
 
*1 axe Expert IHM
*1 axe de nettoyage, préparation du code permettant d'accueillir les évolutions à venir


Eoxia : Nous étudions des possibilités de réaliser des sites simples sans aucune maintenance avec des outils comme ceux tester ci-dessous (dont Figma)
Échanges :
https://www.eoxia.com/comparaison-doutils-pour-creer-un-onepage-html/
Code 42 : Propose la possibilité d'utiliser des outils comme figma https://www.figma.com/
Proposition de travailler sur 2 axes
Faire intervenir un spécialiste externe UI/UX afin d'attaquer le sujet par la fin
1 axe Expert IHM
1 axe de nettoyage, preparation du code permettant d'accueillir les évolutions à venir


Iouston : Intégration de composant natifs déjà pensé et stabilisé
Eoxia : Nous étudions des possibilités de réaliser des sites simples sans aucune maintenance avec des outils comme ceux testé ci-dessous (dont Figma). Il existe de nombreux autres outils, nous avons commencé un comparatif ici : https://www.eoxia.com/comparaison-doutils-pour-creer-un-onepage-html/
Proposition d'intégration en natif d'autres framework
 
Tailwind (https://tailwindcss.com/)
Iouston : Intégration de composants natifs déjà pensés et stabilisés
Onsen.io https://onsen.io/
Proposition d'intégration en natif d'autres framework comme
Bootstrap https://getbootstrap.com/
 
Bulma https://bulma.io/
*Tailwind (https://tailwindcss.com/)
*Onsen.io https://onsen.io/
*Bootstrap https://getbootstrap.com/
*Bulma https://bulma.io/


CapREL
CapREL
Proposition de travailler en itératif par petite étape
Proposition de travailler en itératif par petite étape, l'illustration du passage à de nouvelles versions PHP, l'évolution, c'est fait petit à petit. Cette méthode permet d'avoir des résultats rapides très complémentaires à une approche globale qui vise uniquement le résultat final souhaité.
Illustration du passage a de nouvelles version php, l'évolution c'est fait petit à petit


UI
UI
Code 42 :
Code 42 : Intégration dans le Builder des nouvelles fonctions d'IHM
Intégration dans le Bulder des nouvelles fonctions d'IHM


>> Nouveau GIFF à créer !
'''>> Nouveau GIFF à créer !'''


===Suite Table ronde ui/ux===
====Suite Table ronde ui/ux====


Participants:
Participants :
- Amine Labghali (BigData Consulting - anexys) : amine@anexys.fr
- Amine Labghali (BigData Consulting - anexys) : amine@anexys.fr
- John Botella (ATM) :: john.botella@atm-consulting.fr
- John Botella (ATM) :: john.botella@atm-consulting.fr
- Clémence Cros :: c.cros@totemnumerique.com
- Clémence Cros :: c.cros@totemnumerique.com
- Reaux Kevin - hello@krikrak.fr
- Reaux Kevin - hello@krikrak.fr
- Champlon Remi - r.champlon@vold.lv
- Champlon Remi - r.champlon@vold.lu
- Clarisse Thomas - t.clarisse@vold.lv
- Clarisse Thomas - t.clarisse@vold.lu
- Anthony Damhet  - a.damhet@progiseieze.fr
- Anthony Damhet  - a.damhet@progiseieze.fr


Line 60: Line 71:
- L'ajout de classes CSS à Dolibarr:
- L'ajout de classes CSS à Dolibarr:
         -> classes enfants class --subclass
         -> classes enfants class --subclass
         -> Definition d'un id html avec les objets (class=thirdparty id=thirdparty-211)
         -> Définition d'un id html avec les objets (class=thirdparty id=thirdparty-211)
         - class avec le nom de la classe du descripteur du module
         - class avec le nom de la classe du descripteur du module
         - .mod_nommodule .page_list
         - .mod_nommodule .page_list
         - --------------- .page_card
         - --------------- .page_card
         - --------------- .page_dashboard
         - --------------- .page_dashboard
         - Différencer les pages d'edition, de création et de vue niveau de la fiche
         - Différencier les pages d'édition, de création et de vue (MVC) au niveau de chaque fiche basée sur le CRUD
        - se baser sur le CRUD -> create - edit - delete


- Modification du hook "change_help_url" en llxHeader
- Modification du hook "change_help_url" en llxHeader
         -> Passer plus de paramètres en réference ($parameters = array('head' => &head))
         -> Passer plus de paramètres en référence ($parameters = array('head' => &head))
         -> Avantage: + rapide pour passer les maj dans la prochaine version Dolibarr
         -> Avantage: + Rapide pour passer les mises à jour dans la version suivante Dolibarr


- Navigation
- Navigation
         - Menu: manque de structure pour savoir ou on est
         - Menu: manque de structure pour savoir où on est
         - Breadcrumb ? Fil d'arianne ? Ou je me situe par rapport ou j'etais avant. Usernav history
         - Breadcrumb ? Fil d'ariane ? Ou je me situe par rapport ou j'étais avant. Usernav history


- Faire les modifications dont on a besoin dans le module Builder pour integration future
- Faire les modifications dont on a besoin dans le module Builder pour intégration future
- liste -> 1 identité
- Liste -> 1 identité
- Nomenclature / Accessibilité (data-attribute)
- Nomenclature / Accessibilité (data-attribute)
- Fonction wrapper des listes
- Fonction wrapper des listes


===APPLICATIONS MOBILES===
===Applications mobiles et Progressives Web Applications PWA===
Eric (CAP-REL)  
Réalisé par Eric (CAP-REL)  
 
Les besoins identifiés suite à la réalisation d'application PWA :
Besoin d'un token par utilisateur permettant de délimiter les fonctions accessibles parmi celles possibles pour l'utilisateur  
 
*Besoin d'un token par utilisateur permettant de délimiter les fonctions accessibles parmi celles possibles pour l'utilisateur.
Besoin d'un service Worker -> https://developer.mozilla.org/fr/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Offline_Service_workers  
*Besoin d'un service Worker -> https://developer.mozilla.org/fr/docs/Web/Progressive_web_apps/Tutorials/js13kGames/Offline_Service_workers
 
*Intégration à Module Builder.
Intégration à Module Builder.  


Big Data Consulting (Anexys) : Réalisation d'une application hybride en React Native (déjà en PROD)  
Big Data Consulting (Anexys) : Réalisation d'une application hybride en React Native (déjà en PROD)  
Line 94: Line 103:
VOLD : Réalisation d'une application mobile en mode déconnecté  
VOLD : Réalisation d'une application mobile en mode déconnecté  


4 PR
4 Pull Request à lancer


Token utilisateur  
*Token utilisateur
*Evolution Module builder
*Worker
*Exemple implémentation appli mobile


Evolution Module builder
Problématique IOS est contraint Apple Store


Worker
*Obligation d'avoir 2 Iphones (1 test, 1 production)
*1 mac pour compiler avec les bonnes versions de logiciel
*Le risque de se voir retirer facilement son application du store


Exemple implémentation appli mobile
Il existe de nombreux avantages :


Problématique iOS est contraint Apple Store
*Pas de restriction par rapport au pilotage du matériel du smartphone
 
*Pas de dépendances des stores
Obligation d'avoir 2 Iphone, 1 mac pour compiler avec les bonnes versions de logiciel
*Simple à mettre en place
 
*Accessibilité au HardWare
PWA :
 
Pas de restriction par rapport au pilotage du matériel du smartphone
 
Https requis


'''>> Nouveau GIFF à créer !'''
'''>> Nouveau GIFF à créer !'''
Eoxia : Le GIFF est déjà existant ici : voir [[GIFF - Socle Technique Mobile]] reste à établir les participants, le budget, les délais & objectifs etc.
===Facture X===


===FACTURE X===
Eoxia : Est-ce que nous avons des contacts au sein du ministère ou de la commission normative des factures afin d'être informé des évolutions et y participer ?   
Eoxia : Est-ce que nous avons des contacts au sein du ministère ou de la commission normative des factures afin d'être informé des évolutions et y participer ?   


CAP REL - (Alexis De Lattre - Odoo ? - https://www.linkedin.com/in/alexisdelattre/)
CAP REL Propose de contacter Alexis De Lattre - Odoo ? -> https://www.linkedin.com/in/alexisdelattre/


Voir https://fnfe-mpe.org/
Voir le groupe de travail https://fnfe-mpe.org/ et proposition que l'association Dolibarr y adhère ?


Page des spécifications
Page des spécifications
Line 129: Line 139:
John et Nicolas : Proposer une priorisation des Hooks afin de permettre la gestion des priorités d'actions
John et Nicolas : Proposer une priorisation des Hooks afin de permettre la gestion des priorités d'actions


<br />
=== '''Communication''' ===
Réalisé par Eoxia : Amélioration de la communication externe pour les salons. Explication du fonctionnement d'autres projets notamment comme la communauté WordPress
* Pour les salons : Proposition de mettre en place un village Dolibarr avec la participation des Entreprises/personnes au sein de ce village
* Pour les DevCamp :  Proposition de faire une journée utilisateur devant le DevCamp
* Pour soutenir les évènements proposition de faire intervenir des sponsors de matériel, d'hébergement, etc...
Il a été soulevé par les permanents de l'association un besoin de ressource qui permettrait de réaliser les actions internes nécessaires au bon fonctionnement de l'association.
Il y a eu de nombreux échanges autour de ces points : La communication doit être professionnelle
La création d'une commission concernant la communication serait un bon point de départ afin de faire des propositions à l'association.
<br />
===DOLIBARR LTS===
===DOLIBARR LTS===


Retour expérience EASYA-SOLUTIONS  
Retours expériences EASYA-SOLUTIONS  
v2020 basé sur DOLI10 - v2022 basé sur DOLI14 - v2024 basé sur DOLI18
v2020 basé sur DOLI10 - v2022 basé sur DOLI14 - v2024 basé sur DOLI18


Grace à cela, il assure un MCO / SOFTWARE ASSURANCE sur leurs environnements. Ils font des backport sur DOLIv14 . Des mises à jours/ PR, sont encore intégrées / validés dans Doliv10.
Grâce à cela, il assure un MCO / SOFTWARE ASSURANCE sur leurs environnements. Ils font des backports sur DOLIv14 . Des mises à jour/ PR, sont encore intégrées / validés dans Doliv10.


Des évolutions sont aussi apportées dans EASYA2022. Par ex. Dans la v2022, la GPAO v17 est intégrée + la compatibilité DOLIBARR v20.
Des évolutions sont aussi apportées dans EASYA2022. Par ex. Dans la v2022, la GPAO v17 est intégrée + la compatibilité DOLIBARR v20.


Le discours officiel de DOLIBARR : support seulement de 3 versions : N, N-1, N-2
Le discours officiel de DOLIBARR : Il est recommandé d'intégrer les bug fix jusqu'à N-2 (car simplifie la vie du développeur de ne pas remonter trop loin), mais tout bug fix, soumis dans une version même très ancienne de Dolibarr est intégré. Toutes les versions de Dolibarr font donc déjà l'objet d'un processus LTS. Par contre, dans les faits, peu de développeurs soumettent des correctifs sur des versions au delà de N-2.
 
Objectifs :


Objectif : Inciter à la publication de FIX avec une équipe LTS
*Inciter à la publication de FIX avec une équipe LTS
Accompagnement/Formation à la réalisation de PR
*Accompagnement/Formation à la réalisation de PR


Définition de la notion de LTS
Définition de la notion de LTS


* Rythme : Une LTS tous les 2 ans
*Rythme : Une LTS tous les 2 ans
* Durée : 5 ans
*Durée : 5 ans
* Publication de release sur le dépôt principal Dolibarr Doliwamp, package, sourceforge : non maintenu par l'équipe LTS
*Publication de releases sur le dépôt principal Dolibarr
* Version Min/Max PHP à préciser sur chaque LTS
**Note: Doliwamp, packages, sourceforge : non maintenu par l'équipe LTS
* 3 périodes sur les 5 ans
*Version Min/Max PHP à préciser sur chaque LTS
** A, A+1  FIX + (NEW type évolutions Module Builder)
*3 périodes sur les 5 ans
** A+2 FIX sécurité et fonctionnels et FIX compatibilité modules
**A, A+1  FIX + (NEW type évolutions Module Builder)
** A+3 à A+5 FIX sécurité et fonctionnels
**A+2 FIX sécurité et fonctionnels et FIX compatibilité modules
**A+3 à A+5 FIX sécurité et fonctionnels


Numérotation des versions LTS
Proposition de numérotation des versions LTS


* Version majeure : inchangé
*Version majeure : inchangée
* Version intermédiaire : Tous les 6 mois incément de +1
*Version intermédiaire : Tous les 6 mois incrément de +1
* Version corrective si CVE ou bug fonctionnel grave
*Version corrective si CVE ou bug fonctionnel grave


Charte mainteneur ( à établir)  
Charte du mainteneur (à établir)  


Outils de maintenance associés aux versions LTS : upgrade du core automatique ?  
Outils de maintenance associés aux versions LTS : Upgrade du core automatique ?  


Sortie de la LTS 6 mois après la sortie de la version N  
Sortie de la LTS 6 mois après la sortie de la version N  


Exemple : v18.1 LTS sort lors de la publication de la V19  
Exemple :
 
*v18.0.0 sort à la date x
*v18.0.1 ... v18.0.x sortent comme d'habitude
*v18.1.0 LTS sort lors de la publication de la V19.0.0
*v18.1.1 publié lorsqu'un fix sécu/important est mergé sur la branche 18
*v18.1.2...v18.1.x au gré des fixs
*6 mois après v18.1.0 publication de la v18.2.0
*v18.1.1....v18.1.x au gré des fix
*6 mois plus tard v18.3.0
*etc.
 
=> Remarque de LDR post-réunion: Pourquoi si compliqué ? Cela va à l'encontre de toutes les bonnes pratiques de verisonneent. Pourquoi tout simplement pas 18.0.1 puis 18.0.2 puis 18.0.3 etc... et ce simplement durant une durée allongée ? Une LTS par défnition est une version de maintenance donc avec du bug fix uniquement, donc seul le chiffre en rapport avec le bugfix (3eme chiffre) devrait bouger. Le 2eme chiffre (évolution fonctionnelle mineure) pourrait être amené à bouger dans des cas rare, comme dans le cas d'une évolution fonctionnelle réglementaire obligatoire mais uniquement ce cas. 
 
Visuel peut-être un petit peu plus parlant:
 
[[File:Proposition de version LTS.png|thumb|Proposition de ce que pourrait être la roadmap dolibarr avec version LTS - résultat du groupe de travail "LTS" du devcamp Lyon 2023]]
 
Pour chaque branche,
 
*1 mainteneur principal porté par un intégrateur (Jedi + Padawan)
*1 mainteneur en backup d'un autre intégrateur.
 
=> Remarque de LDR post-réunion: Ces postes, pour maintenir les versions n-1, n-2 et n-x sont ouverts depuis plusieurs années déjà (Ils ont été nommé "Jedi", voir la page ([[Projet_Dolibarr#D.C3.A9veloppeur_grade_Jedi_.28Release_manager_versions_de_maintenance.29]]). Etre Jedi nécessite des compétences en matière de merges et de résolutions de conflit GIT, une bonne connaissance générale de l'application, et savoir aussi orienter la correction du code au strict minimum du Fix. Quelques développeurs se sont essayés par le passé, mais hélas la motivation n'a pas durée. Les postes sont donc toujours ouvert...


Pour chaque branche, 1 mainteneur principal porté par un intégrateur + padawn backup d'un autre intégrateur
=Session To Merge or Not To merge=
Faute de temps, la session "To Merge or Not To Merge" visant à initier au métier de "Mergeur" via un jeu basé sur des cas réels sur lesquels se prononcer, suivi de l'explication de la réponse qui a été retenu n'a pu se faire (A la fois faute de temps pour assurer la session mais aussi sa préparation qui n'était pas complètement terminée). Cette session est donc remise au prochain devcamp...

Latest revision as of 00:15, 2 February 2025

Prise de notes lors des différentes tables rondes

Facture de situation

Réalisé par Progiseize Validation des tests de la migration des données vers le nouveau modèle de données Propositions :

  • Ajouter une étape de contrôle d'intégrité post-migration des données (Action Easya Solutions)
  • Réaliser PR Dolibarr pour intégration v20

Gestion des interfaces UI/UX

Réalisé par Code42 Proposition de hiérarchie et charte de nommage associé (@Code 42 : Pourrais-tu envoyer ta présentation)

llx_headers à faire évoluer pour permettre l'usage de classe CSS optimisées en fonction de l'endroit où l'on se situe dans le body.

Réaliser un plan de nommage standardisée

Suivi du projet :

  • Issue liste top-priority
  • Travail en petite communauté
  • Définition d'un GIFF

Propositions autour de JS et de l'interaction entre module externe @johnbotella

Proposition de partager du JS entre modules externes

Proposition Eoxia : Héberger et standardiser les interfaces UI/UX (A priori ce type d'interface existe en prototype dans le dossier dolibarr natif "public/test") afin qu'elles soient visibles de tous (comme la documentation de Onsen.ui (https://onsen.io/theme-roller/) fontawesome, etc...

Proposition de travailler sur 2 axes :

  • 1 axe Expert IHM
  • 1 axe de nettoyage, préparation du code permettant d'accueillir les évolutions à venir

Échanges : Code 42 : Propose la possibilité d'utiliser des outils comme figma https://www.figma.com/ Faire intervenir un spécialiste externe UI/UX afin d'attaquer le sujet par la fin

Eoxia : Nous étudions des possibilités de réaliser des sites simples sans aucune maintenance avec des outils comme ceux testé ci-dessous (dont Figma). Il existe de nombreux autres outils, nous avons commencé un comparatif ici : https://www.eoxia.com/comparaison-doutils-pour-creer-un-onepage-html/

Iouston : Intégration de composants natifs déjà pensés et stabilisés Proposition d'intégration en natif d'autres framework comme

CapREL Proposition de travailler en itératif par petite étape, l'illustration du passage à de nouvelles versions PHP, l'évolution, c'est fait petit à petit. Cette méthode permet d'avoir des résultats rapides très complémentaires à une approche globale qui vise uniquement le résultat final souhaité.

UI Code 42 : Intégration dans le Builder des nouvelles fonctions d'IHM

>> Nouveau GIFF à créer !

Suite Table ronde ui/ux

Participants : - Amine Labghali (BigData Consulting - anexys) : amine@anexys.fr - John Botella (ATM) :: john.botella@atm-consulting.fr - Clémence Cros :: c.cros@totemnumerique.com - Reaux Kevin - hello@krikrak.fr - Champlon Remi - r.champlon@vold.lu - Clarisse Thomas - t.clarisse@vold.lu - Anthony Damhet - a.damhet@progiseieze.fr

Les sujets abordés sont :

- L'ajout de classes CSS à Dolibarr:

       -> classes enfants class --subclass
       -> Définition d'un id html avec les objets (class=thirdparty id=thirdparty-211)
       - class avec le nom de la classe du descripteur du module
       - .mod_nommodule .page_list
       - --------------- .page_card
       - --------------- .page_dashboard
       - Différencier les pages d'édition, de création et de vue (MVC) au niveau de chaque fiche basée sur le CRUD

- Modification du hook "change_help_url" en llxHeader

       -> Passer plus de paramètres en référence ($parameters = array('head' => &head))
       -> Avantage: + Rapide pour passer les mises à jour dans la version suivante Dolibarr

- Navigation

       - Menu: manque de structure pour savoir où on est
       - Breadcrumb ? Fil d'ariane ? Ou je me situe par rapport ou j'étais avant. Usernav history

- Faire les modifications dont on a besoin dans le module Builder pour intégration future - Liste -> 1 identité - Nomenclature / Accessibilité (data-attribute) - Fonction wrapper des listes

Applications mobiles et Progressives Web Applications PWA

Réalisé par Eric (CAP-REL) Les besoins identifiés suite à la réalisation d'application PWA :

Big Data Consulting (Anexys) : Réalisation d'une application hybride en React Native (déjà en PROD)

VOLD : Réalisation d'une application mobile en mode déconnecté

4 Pull Request à lancer

  • Token utilisateur
  • Evolution Module builder
  • Worker
  • Exemple implémentation appli mobile

Problématique IOS est contraint Apple Store

  • Obligation d'avoir 2 Iphones (1 test, 1 production)
  • 1 mac pour compiler avec les bonnes versions de logiciel
  • Le risque de se voir retirer facilement son application du store

Il existe de nombreux avantages :

  • Pas de restriction par rapport au pilotage du matériel du smartphone
  • Pas de dépendances des stores
  • Simple à mettre en place
  • Accessibilité au HardWare

>> Nouveau GIFF à créer ! Eoxia : Le GIFF est déjà existant ici : voir GIFF - Socle Technique Mobile reste à établir les participants, le budget, les délais & objectifs etc.

Facture X

Eoxia : Est-ce que nous avons des contacts au sein du ministère ou de la commission normative des factures afin d'être informé des évolutions et y participer ?

CAP REL Propose de contacter Alexis De Lattre - Odoo ? -> https://www.linkedin.com/in/alexisdelattre/

Voir le groupe de travail https://fnfe-mpe.org/ et proposition que l'association Dolibarr y adhère ?

Page des spécifications

https://www.impots.gouv.fr/specifications-externes-b2b

John et Nicolas : Proposer une priorisation des Hooks afin de permettre la gestion des priorités d'actions


Communication

Réalisé par Eoxia : Amélioration de la communication externe pour les salons. Explication du fonctionnement d'autres projets notamment comme la communauté WordPress

  • Pour les salons : Proposition de mettre en place un village Dolibarr avec la participation des Entreprises/personnes au sein de ce village
  • Pour les DevCamp : Proposition de faire une journée utilisateur devant le DevCamp
  • Pour soutenir les évènements proposition de faire intervenir des sponsors de matériel, d'hébergement, etc...

Il a été soulevé par les permanents de l'association un besoin de ressource qui permettrait de réaliser les actions internes nécessaires au bon fonctionnement de l'association.

Il y a eu de nombreux échanges autour de ces points : La communication doit être professionnelle

La création d'une commission concernant la communication serait un bon point de départ afin de faire des propositions à l'association.

DOLIBARR LTS

Retours expériences EASYA-SOLUTIONS v2020 basé sur DOLI10 - v2022 basé sur DOLI14 - v2024 basé sur DOLI18

Grâce à cela, il assure un MCO / SOFTWARE ASSURANCE sur leurs environnements. Ils font des backports sur DOLIv14 . Des mises à jour/ PR, sont encore intégrées / validés dans Doliv10.

Des évolutions sont aussi apportées dans EASYA2022. Par ex. Dans la v2022, la GPAO v17 est intégrée + la compatibilité DOLIBARR v20.

Le discours officiel de DOLIBARR : Il est recommandé d'intégrer les bug fix jusqu'à N-2 (car simplifie la vie du développeur de ne pas remonter trop loin), mais tout bug fix, soumis dans une version même très ancienne de Dolibarr est intégré. Toutes les versions de Dolibarr font donc déjà l'objet d'un processus LTS. Par contre, dans les faits, peu de développeurs soumettent des correctifs sur des versions au delà de N-2.

Objectifs :

  • Inciter à la publication de FIX avec une équipe LTS
  • Accompagnement/Formation à la réalisation de PR

Définition de la notion de LTS

  • Rythme : Une LTS tous les 2 ans
  • Durée : 5 ans
  • Publication de releases sur le dépôt principal Dolibarr
    • Note: Doliwamp, packages, sourceforge : non maintenu par l'équipe LTS
  • Version Min/Max PHP à préciser sur chaque LTS
  • 3 périodes sur les 5 ans
    • A, A+1 FIX + (NEW type évolutions Module Builder)
    • A+2 FIX sécurité et fonctionnels et FIX compatibilité modules
    • A+3 à A+5 FIX sécurité et fonctionnels

Proposition de numérotation des versions LTS

  • Version majeure : inchangée
  • Version intermédiaire : Tous les 6 mois incrément de +1
  • Version corrective si CVE ou bug fonctionnel grave

Charte du mainteneur (à établir)

Outils de maintenance associés aux versions LTS : Upgrade du core automatique ?

Sortie de la LTS 6 mois après la sortie de la version N

Exemple :

  • v18.0.0 sort à la date x
  • v18.0.1 ... v18.0.x sortent comme d'habitude
  • v18.1.0 LTS sort lors de la publication de la V19.0.0
  • v18.1.1 publié lorsqu'un fix sécu/important est mergé sur la branche 18
  • v18.1.2...v18.1.x au gré des fixs
  • 6 mois après v18.1.0 publication de la v18.2.0
  • v18.1.1....v18.1.x au gré des fix
  • 6 mois plus tard v18.3.0
  • etc.

=> Remarque de LDR post-réunion: Pourquoi si compliqué ? Cela va à l'encontre de toutes les bonnes pratiques de verisonneent. Pourquoi tout simplement pas 18.0.1 puis 18.0.2 puis 18.0.3 etc... et ce simplement durant une durée allongée ? Une LTS par défnition est une version de maintenance donc avec du bug fix uniquement, donc seul le chiffre en rapport avec le bugfix (3eme chiffre) devrait bouger. Le 2eme chiffre (évolution fonctionnelle mineure) pourrait être amené à bouger dans des cas rare, comme dans le cas d'une évolution fonctionnelle réglementaire obligatoire mais uniquement ce cas.

Visuel peut-être un petit peu plus parlant:

 
Proposition de ce que pourrait être la roadmap dolibarr avec version LTS - résultat du groupe de travail "LTS" du devcamp Lyon 2023

Pour chaque branche,

  • 1 mainteneur principal porté par un intégrateur (Jedi + Padawan)
  • 1 mainteneur en backup d'un autre intégrateur.

=> Remarque de LDR post-réunion: Ces postes, pour maintenir les versions n-1, n-2 et n-x sont ouverts depuis plusieurs années déjà (Ils ont été nommé "Jedi", voir la page (Projet_Dolibarr#D.C3.A9veloppeur_grade_Jedi_.28Release_manager_versions_de_maintenance.29). Etre Jedi nécessite des compétences en matière de merges et de résolutions de conflit GIT, une bonne connaissance générale de l'application, et savoir aussi orienter la correction du code au strict minimum du Fix. Quelques développeurs se sont essayés par le passé, mais hélas la motivation n'a pas durée. Les postes sont donc toujours ouvert...

Session To Merge or Not To merge

Faute de temps, la session "To Merge or Not To Merge" visant à initier au métier de "Mergeur" via un jeu basé sur des cas réels sur lesquels se prononcer, suivi de l'explication de la réponse qui a été retenu n'a pu se faire (A la fois faute de temps pour assurer la session mais aussi sa préparation qui n'était pas complètement terminée). Cette session est donc remise au prochain devcamp...