Ticket #5056 Premiers pas Composer #5057

Merged
b_b merged 21 commits from issue_5056_composer_road into master 6 months ago
marcimat commented 1 year ago
Owner

On charge ici l’autoloader de Composer (vendor/autoload.php), ainsi que des petites dépendances (polyfill php 8.0 8.1 et mbstring).

On fait évoluer le code

  • sur certains strpos() en passant.
  • sur la présence de mb_*
On charge ici l’autoloader de Composer (vendor/autoload.php), ainsi que des petites dépendances (polyfill php 8.0 8.1 et mbstring). On fait évoluer le code - sur certains strpos() en passant. - sur la présence de mb_*
marcimat added 4 commits 1 year ago
528b8fddd4 On charge l’autoloader de composer.json aux 3 points d’entrées de SPIP
f702a0e3e4 On charge et utilise le polyfill-mbstring. Les fonctions mb_ sont donc toujours disponibles.
JamesRezo added 6 commits 1 year ago
JamesRezo added 1 commit 1 year ago
JamesRezo added 1 commit 1 year ago
b_b commented 1 year ago
Owner

@JamesRezo je vois un double /plugins/ export-ignore dans 53c982a2d4 ;)

@JamesRezo je vois un double `/plugins/ export-ignore` dans 53c982a2d4f3d7b04b2e4c2c6c9285aa67c20f55 ;)
Poster
Owner

Je me questionne aussi sur le /config/ vu qu’on a un fichier ecran_securite.php dedans pour le moment ?

Je me questionne aussi sur le `/config/` vu qu’on a un fichier `ecran_securite.php` dedans pour le moment ?
JamesRezo added 1 commit 1 year ago
Owner

@JamesRezo je vois un double /plugins/ export-ignore dans 53c982a2d4 ;)

bien vu ! c'est corrigé, merci :-)

> @JamesRezo je vois un double `/plugins/ export-ignore` dans 53c982a2d4f3d7b04b2e4c2c6c9285aa67c20f55 ;) bien vu ! c'est corrigé, merci :-)
Owner

Je me questionne aussi sur le /config/ vu qu’on a un fichier ecran_securite.php dedans pour le moment ?

C'est bon comme ça : .gitattributes exclut /config et composer.json archive.exclude le réintègre

> Je me questionne aussi sur le `/config/` vu qu’on a un fichier `ecran_securite.php` dedans pour le moment ? > C'est bon comme ça : .gitattributes exclut /config et composer.json archive.exclude le réintègre
JamesRezo added 1 commit 1 year ago
marcimat added 1 commit 1 year ago
marcimat added 15 commits 1 year ago
2532e9770b On charge l’autoloader de composer.json aux 3 points d’entrées de SPIP
fbdd3c3e7e On charge et utilise le polyfill-mbstring. Les fonctions mb_ sont donc toujours disponibles.
marcimat added 15 commits 1 year ago
63c3e2d188 On charge l’autoloader de composer.json aux 3 points d’entrées de SPIP
30fd65dfec On charge et utilise le polyfill-mbstring. Les fonctions mb_ sont donc toujours disponibles.
marcimat added 1 commit 1 year ago
JamesRezo added 1 commit 1 year ago
JamesRezo added 3 commits 1 year ago
JamesRezo added 1 commit 1 year ago
JamesRezo added 1 commit 1 year ago
marcimat added 22 commits 1 year ago
a7d4d77cd8 On charge l’autoloader de composer.json aux 3 points d’entrées de SPIP
fc84ff2723 On charge et utilise le polyfill-mbstring. Les fonctions mb_ sont donc toujours disponibles.
rastapopoulos approved these changes 11 months ago
rastapopoulos left a comment
Owner

ah je me rappelle, j'avais rien relu ni approuvé car la page de ce diff avait fait exploser mon navigateur (et bon là j'ai pas tout pu lire vu la quantité et même ya pas tout "Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff")

ah je me rappelle, j'avais rien relu ni approuvé car la page de ce diff avait fait exploser mon navigateur (et bon là j'ai pas tout pu lire vu la quantité et même ya pas tout "Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff")
b_b approved these changes 11 months ago
b_b left a comment
Owner

Même si gitea nous force à afficher le diff avant de pouvoir valider un PR, j'y suis arrivé :)

Même si gitea nous force à afficher le diff avant de pouvoir valider un PR, j'y suis arrivé :)
Owner

J'ai bien envie de cliquer sur le bouton de fusion... :)

J'ai bien envie de cliquer sur le bouton de fusion... :)
marcimat added 22 commits 10 months ago
3b2b76e785 On charge l’autoloader de composer.json aux 3 points d’entrées de SPIP
fa6d20a08b On charge et utilise le polyfill-mbstring. Les fonctions mb_ sont donc toujours disponibles.
marcimat added 14 commits 10 months ago
4803f9332a feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
ee366ca9ed refactor: Charger et utiliser le polyfill-mbstring.
Poster
Owner

J’ai rebasé, squashé un peu plus, up les libs composer, et j’ai tenté de mettre des entête à la https://www.conventionalcommits.org/fr/v1.0.0/

  • Il manque encore les entrées de changelog
  • Je me demande s’il faudrait finalement pas attendre (ou nécessiter) PHP 8.0 mini : j’ai peur que certaines libs ne soient pas entièrement compatibles sur la plage PHP 7.4 à PHP 8.1 (notamment sur la correction des deprecated)

Ceci dit je n’ai pas vu de problème apparent là pour le moment.

J’ai rebasé, squashé un peu plus, up les libs composer, et j’ai tenté de mettre des entête à la https://www.conventionalcommits.org/fr/v1.0.0/ - Il manque encore les entrées de changelog - Je me demande s’il faudrait finalement pas attendre (ou nécessiter) PHP 8.0 mini : j’ai peur que certaines libs ne soient pas entièrement compatibles sur la plage PHP 7.4 à PHP 8.1 (notamment sur la correction des deprecated) Ceci dit je n’ai pas vu de problème apparent là pour le moment.
marcimat added 14 commits 10 months ago
4803f9332a feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
ee366ca9ed refactor: Charger et utiliser le polyfill-mbstring.
Poster
Owner

Ça fait plusieurs fois avec Gitea là que je dois pousser mes commits (push --force) plusieurs fois : il fait comme si tout fonctionnait la première fois (on voit les notifs ici, et sur le bot shiraz), mais… pouf c’est toujours les anciens commits qui sont dans la branche pourtant.

Je dois push une seconde fois pour que ça passe.

Quelle est donc cette fourberie de machinerie ?

Ça fait plusieurs fois avec Gitea là que je dois pousser mes commits (push --force) plusieurs fois : il fait comme si tout fonctionnait la première fois (on voit les notifs ici, et sur le bot shiraz), mais… pouf c’est toujours les anciens commits qui sont dans la branche pourtant. Je dois push une seconde fois pour que ça passe. Quelle est donc cette fourberie de machinerie ?
goldstein requested review from rastapopoulos 10 months ago
goldstein requested review from b_b 10 months ago
b_b approved these changes 10 months ago
rastapopoulos approved these changes 10 months ago
marcimat added 15 commits 7 months ago
2c9f3bd3e4 feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
e602635ee3 refactor: Charger et utiliser le polyfill-mbstring.
marcimat added 16 commits 7 months ago
63aabd99ac feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
dd5e6a6df8 refactor: Charger et utiliser le polyfill-mbstring.
marcimat added 16 commits 7 months ago
42ec6afeb4 feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
6c2577a408 refactor: Charger et utiliser le polyfill-mbstring.
marcimat added 16 commits 7 months ago
79908fa5c9 feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
6931d9b46c refactor: Charger et utiliser le polyfill-mbstring.
marcimat added 19 commits 7 months ago
eb794a1e67 feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
0a48c04255 refactor: Charger et utiliser le polyfill-mbstring.
marcimat added 16 commits 7 months ago
3506c9e174 feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
b2bab21db9 refactor: Charger et utiliser le polyfill-mbstring.
marcimat added 16 commits 7 months ago
c6db574748 feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
5b6866799d refactor: Charger et utiliser le polyfill-mbstring.
marcimat added 4 commits 7 months ago
marcimat added 15 commits 7 months ago
f318a656dd feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
25ccb1c2c2 refactor: Charger et utiliser le polyfill-mbstring.
marcimat added 15 commits 6 months ago
00cfcb8513 feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
e259baa75b refactor: Charger et utiliser le polyfill-mbstring.
Poster
Owner

On aura quelques menus soucis du coup avec les plugins qui utilisaient les "classes" du compilo, qui sont maintenant dans un namepsace : 

ex saisies/balise/saisie.php Line 207 : Class "Champ" not found

https://git.spip.net/spip-contrib-extensions/saisies/src/branch/master/balise/saisie.php#L207

Au lieu de new Champ il faudra new \Spip\Core\Balise (ou Champ (alias), mais Balise sera plus clair pour tout le monde je crois).

- $c = new Champ;
+ $c = new \Spip\Core\Balise;

Il faudrait d’ailleurs trouver un meilleur namespace pour ces éléments du compilateur…

  • Spip\Template\Node ?
  • Spip\Compiler\Node ?
  • Spip\Parser\Node ?
  • Spip\Engine\Parser\Node ?

Quelques usages sur la zone

Dans les dépots de spip-contrib-extensions, on trouve

  • Champ
saisies/balise/saisie.php:              $b = new Champ;
tipafriend/balise/tipafriend.php:       $t = new Champ;
  • Texte
article_pdf/article_pdf_options.php:    $texte = new Texte;
article_pdf/article_pdf_options.php:                    $texte = new Texte;
article_pdf/article_pdf_options.php:    $texte = new Texte;
article_pdf/article_pdf_options.php:                    $texte = new Texte;
blocsdepliables/blocsdepliables_fonctions.php:  $texte = new Texte;
couteau_suisse/outils/blocs_fonctions.php:      $texte = new Texte; $texte->type='texte'; $texte->texte='visible';
saisies/balise/saisie.php:              $s = new Texte;
tipafriend/balise/tipafriend.php:       $t = new Texte;
tipafriend/balise/tipafriend.php:       $t = new Texte;
  • Contexte
adaptive_images/adaptive_images_options.php:                    $lieu = new Contexte();
On aura quelques menus soucis du coup avec les plugins qui utilisaient les "classes" du compilo, qui sont maintenant dans un namepsace :  ex `saisies/balise/saisie.php Line 207 : Class "Champ" not found` https://git.spip.net/spip-contrib-extensions/saisies/src/branch/master/balise/saisie.php#L207 Au lieu de `new Champ` il faudra `new \Spip\Core\Balise` (ou Champ (alias), mais Balise sera plus clair pour tout le monde je crois). ```diff - $c = new Champ; + $c = new \Spip\Core\Balise; ``` Il faudrait d’ailleurs trouver un meilleur namespace pour ces éléments du compilateur… - `Spip\Template\Node` ? - `Spip\Compiler\Node` ? - `Spip\Parser\Node` ? - `Spip\Engine\Parser\Node` ? ### Quelques usages sur la zone Dans les dépots de spip-contrib-extensions, on trouve - Champ ``` saisies/balise/saisie.php: $b = new Champ; tipafriend/balise/tipafriend.php: $t = new Champ; ``` - Texte ``` article_pdf/article_pdf_options.php: $texte = new Texte; article_pdf/article_pdf_options.php: $texte = new Texte; article_pdf/article_pdf_options.php: $texte = new Texte; article_pdf/article_pdf_options.php: $texte = new Texte; blocsdepliables/blocsdepliables_fonctions.php: $texte = new Texte; couteau_suisse/outils/blocs_fonctions.php: $texte = new Texte; $texte->type='texte'; $texte->texte='visible'; saisies/balise/saisie.php: $s = new Texte; tipafriend/balise/tipafriend.php: $t = new Texte; tipafriend/balise/tipafriend.php: $t = new Texte; ``` - Contexte ``` adaptive_images/adaptive_images_options.php: $lieu = new Contexte(); ```
Collaborator

Hum, du coup il faudra tester la version de SPIP pour appeler le bon code ? Pas moyen d'avoir un autre mécanisme de compatiblitéé ?

Hum, du coup il faudra tester la version de SPIP pour appeler le bon code ? Pas moyen d'avoir un autre mécanisme de compatiblitéé ?
Owner

tu dois pouvoir faire un class_exists("\Spip\Core\Balise") pour savoir si tu dois instancier la nouvelle classe ou l'ancienne

tu dois pouvoir faire un `class_exists("\Spip\Core\Balise")` pour savoir si tu dois instancier la nouvelle classe ou l'ancienne
marcimat added 15 commits 6 months ago
eeacc17610 feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
af8d517e3b refactor: Charger et utiliser le polyfill-mbstring.
marcimat added 16 commits 6 months ago
4aca8f0eea feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
aa29470141 refactor: Charger et utiliser le polyfill-mbstring.
marcimat added 17 commits 6 months ago
7dc341b821 feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
c74766bf42 refactor: Charger et utiliser le polyfill-mbstring.
marcimat added 1 commit 6 months ago
f83c5492d7 change: Déplacer le namespace Spip\Core dans Spip\Compilateur et Spip\Compilateur\Noeud
marcimat added 1 commit 6 months ago
d8719d6f82 change: Déplacer le namespace Spip\Core dans Spip\Compilateur et Spip\Compilateur\Noeud
marcimat added 2 commits 6 months ago
be8a68c6ba change: Déplacer le namespace Spip\Core dans Spip\Compilateur et Spip\Compilateur\Noeud
marcimat added 2 commits 6 months ago
68a2a21f73 fix: La classe Balise n’est pas opérante en l’état, on vera plus tard ce renommage
3c370b4604 deprecate: Les classes de noeud des squelettes sans namespace sont dépréciées, mais déclarées

Il faut probablement ajouter disallow: /vendor (et d'autres ?) au robots.txt.html n'est il pas ?

Il faut probablement ajouter `disallow: /vendor` (et d'autres ?) au `robots.txt.html` n'est il pas ?
marcimat added 20 commits 6 months ago
c31841dd8f feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
2c5b97f5e8 refactor: Charger et utiliser le polyfill-mbstring.
3767e83a2e change: Déplacer le namespace Spip\Core dans Spip\Compilateur et Spip\Compilateur\Noeud
8c8194cf15 fix: La classe Balise n’est pas opérante en l’état, on vera plus tard ce renommage
f567c3eff3 deprecate: Les classes de noeud des squelettes sans namespace sont dépréciées, mais déclarées
marcimat added 1 commit 6 months ago
Owner

Bon, on peut dire que c'est bon maintenant, amha il est temps de merger :)

Bon, on peut dire que c'est bon maintenant, amha il est temps de merger :)
b_b added 21 commits 6 months ago
2a386bd4a8 feat(autoloader): Charger l’autoloader de Composer aux 3 points d’entrées de SPIP
c5a356a03e refactor: Charger et utiliser le polyfill-mbstring.
c5dea2faa9 change: Déplacer le namespace Spip\Core dans Spip\Compilateur et Spip\Compilateur\Noeud
598e510539 fix: La classe Balise n’est pas opérante en l’état, on vera plus tard ce renommage
06715488e5 deprecate: Les classes de noeud des squelettes sans namespace sont dépréciées, mais déclarées
b_b merged commit 137dabdb55 into master 6 months ago
b_b deleted branch issue_5056_composer_road 6 months ago

Reviewers

b_b approved these changes 10 months ago
rastapopoulos approved these changes 10 months ago
The pull request has been merged as 137dabdb55.
Sign in to join this conversation.
Loading…
There is no content yet.