Migration de bootstrap 4 vers 5

Les sujets de cette catégorie concernent le développement du logiciel MedshakeEHR.
marsante
Messages : 184
Inscription : 25 juil. 2020, 18:42

Migration de bootstrap 4 vers 5

Message non lu par marsante »

Bonjour à tous,

Tentative de migration de bootstrap 4 vers 5 de ma part en cours.

Les ajouts pour le moment :
https://github.com/MedShake/MedShakeEHR ... bootstrap5

Par rapport à la doc de migration, j'ai changé quasiment tous les mots qui cassent.
Il reste des bugs pour les popups d'erreur, je n'ai pas encore trouvé ce qu'il faut changer.
J'ai un doute sur le fichier SCSS personnalisé sur la nouvelle intégration des couleurs.

Fullcalendar devrait être mise à jour vers une version qui supporte le thème. La version 5 est la minimale pour Boostrap 5, le passage de la version 3 à 4 apporte des changements qui cassent. Je n'ai pas encore attaqué cette partie-là.

Les dépendances comme Fullcalendar ne se compilent plus à partir d'une certaine version avec composer à partir d'un dépôt github, il faudrait passer par npm. J'ai cependant trouvé le projet asset-packagist.org qui empaquète des paquets npm en paquets composer.
Ça donne ça pour le fichier composer

Code : Tout sélectionner

]
    "config": {
      "vendor-dir":"thirdparty",
      "allow-plugins": {
            "robloach/component-installer": true,
            "composer/installers": true,
            "oomphinc/composer-installers-extender": true
        }
    },
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "fr33z00/panzoom",
                "version": "v3.2.2.1+1Touch",
                "source": {
                    "url": "https://github.com/fr33z00/jquery.panzoom.git",
                    "type": "git",
                    "reference": "v3.2.2.1+1Touch"
                }
            }
        },
        {
            "type": "composer",
            "url": "https://asset-packagist.org"
        }
    ],

"require": {
    "npm-asset/jquery-touchswipe": "1.6.19",
    "npm-asset/bootstrap": "^5.3.3",
    "npm-asset/eonasdan--tempus-dominus": "6.9.11",
    "dimsemenov/magnific-popup": "1.1.0",
    "npm-asset/jquery.typewatch": "3.0.2",
    "tinymce/tinymce": "^7.6.1",
    "npm-asset/jquery": "^3.7.1",
    "npm-asset/dm-file-uploader": "1.0.2",
    "brinley/jsignature": "2.1.3",
    "npm-asset/fullcalendar": "3.10.5",
    "npm-asset/moment": "^2.10",
    "npm-asset/jquery-contextmenu": "2.9.2",
    "npm-asset/kjua": "^0.10.0",
    "npm-asset/jquery-mousewheel": "3.1.13",
    "npm-asset/stupid-table-plugin": "1.1.3",
    "thebingservices/codemirror": "v5.10.0",
    "fortawesome/font-awesome": "^5.13",
    "fr33z00/panzoom": "v3.2.2.1+1Touch"
},

"require-dev": {
    "npm-asset/chai": "1.9.0",
    "npm-asset/mocha": "3.0.0"
}
}

J'ai laissé les paquets qui n'ont pas de dépendances hors des paquets npm. Bootstrap pourrait être remis en paquet composer, mais tempusdominus (anciennement datapicker) a une dépendance avec.
Cette modification de la gestion par composer des dépendances permet d'enlever le message d'alerte sur le paquet robloach/component-installer compatible uniquement avec composer 1. Ça permet aussi d'enlever la dépendance à oomphinc/composer-installers-extender qui n'est plus maintenu depuis 2020 (je n'ai pas encore testé d'enlever les autorisations de plugin). J'en ai profité également pour isoler les paquets qui semblent être là seulement dans un contexte de développement. C'est un commit que je peux pousser à part pour la version actuelle d'ailleurs si besoin.

Concernant cette branche, est-ce qu'il serait pertinent d'en créer une sur le projet pour pousser au fur et à mesure les modifications ou je reste sur ma branche en attendant quelque chose de stable ?

Avatar de l’utilisateur
Bertrand
Messages : 187
Inscription : 21 juil. 2020, 18:08
Localisation : Dans le grand bain
Contact :

Re: Migration de bootstrap 4 vers 5

Message non lu par Bertrand »

Salut,

Désolé, pas passé ici depuis un moment faute de temps.
Gros gros gros sujet ... le problème principal dans cette histoire, c'est de gérer aussi tous les modules ...
Je m'étais déjà posé la question, la réponse a été à l'époque : qu'est ce que cela va apporter de plus ?
Est-ce qu'il y a de vrais enjeux techniques ou de sécurité ?

Compliqué, je n'ai plus le temps ... :-(

B.

MedShakeEHR : Le Logiciel Médical Modulaire Libre
http://www.medshake.app/

MedShake : communauté médicale bien fraîche (et un peu secouée) !
https://www.medshake.net/

marsante
Messages : 184
Inscription : 25 juil. 2020, 18:42

Re: Migration de bootstrap 4 vers 5

Message non lu par marsante »

Salut,

Je n'avais pas eu le temps de m'y replonger. Pour le moment aucun enjeux techniques ni de sécurités. La seule CVE qui touche la version 4 concerne les carrousels, à priori ce n'est pas utilisé dans MedShakeEHR. C'est plus en prévision d'une future faille qui toucherait fullcalendar ou boostrap et également pour apprendre :) de mon côté donc clairement aucun enjeu. Si par contre le travail effectué peut servir le jour où il y en aura besoin tant mieux.

La branche full calendar au passage https://github.com/marsante/MedShakeEHR ... -migration je me suis complétement écrasé sur le agenda.js pour le moment :oops:

Répondre