Skip to content

Conversation

@njean42
Copy link
Collaborator

@njean42 njean42 commented Sep 28, 2025

Closes #461

Je crée des commits un par un pour les correctifs qui semblent nécessaires à faire tourner Elefan sur la branche dev.

Cette PR peut servir de support pour discussion sur ces correctifs. 🙂

Changements majeurs

  • Remplacement de SwiftMailer par Mailer.
  • Les contrôleurs héritent maintenant de AbstractController avec leurs injection de services dans les actions
  • De même, les commandes n'héritent plus de ContainerAwareCommand mais injectent leurs dépendances
  • Suppression de vanilla_top.js qui chargeait deux fonctions JS utilitaires en haut de fichier (ça ne fonctionne plus avec webpacker). Concerne les champs avec autocomplete, pour sélectionner un⋅e adhérent⋅e par exemple, et l'éditeur markdown.

Correctifs divers

  • les Commands doivent renvoyer un code de retour entier
  • obligation d'appeler $form->isSubmitted() avant $form->isValid()
  • report de quelques variables d'environnement manquantes dans config/services.yaml
  • affichage du texte dans les toasts, l'option text: n'affichait plus aucun texte
  • l'édition du compte utilisatrice (par elle-même) ne fonctionnait plus (chemin relatif d'inclusion de template twig)

Dépréciations

Docs pour Symfony 4.2, Symfony 4.3

(en barré, les dépendances de Symfony 4)

  • Package doctrine/reflection is abandoned, you should avoid using it. Use roave/better-reflection instead.
  • Package ornicar/gravatar-bundle is abandoned, you should avoid using it. No replacement was suggested.
    => continue à fonctionner, pas une fonctionnalité essentielle, on laisse la dépréciation
  • Package sensio/framework-extra-bundle is abandoned, you should avoid using it. Use Symfony instead.
    => pas encore de ramplaçant dans Symfony 4
  • Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
  • Package symfony/debug is abandoned, you should avoid using it. Use symfony/error-handler instead.
  • Package symfony/inflector is abandoned, you should avoid using it. Use EnglishInflector from the String component instead.
  • Package symfony/security is abandoned, you should avoid using it. No replacement was suggested.
    => supprimé
  • Package symfony/swiftmailer-bundle is abandoned, you should avoid using it. Use symfony/mailer instead.
  • Package twig/extensions is abandoned, you should avoid using it. No replacement was suggested.
    => supprimé. Vérifié que le seul filtre parmi filtres twig proposés twig/extensions, et utilisé dans le code − trans() −, est couvert par un autre package présent : symfony/twig-bridge.

@njean42
Copy link
Collaborator Author

njean42 commented Sep 28, 2025

cc @chriskaya pour info

@njean42 njean42 changed the title Correctifs suite tests Scopéli pour utiliser symfony4 Correctifs Scopéli pour utiliser symfony4 Oct 2, 2025
@njean42 njean42 added Amélioration Demande d'une nouvelle fonctionnalité ou d'amélioration de celles existantes Symfony 4 labels Oct 18, 2025
@PaulienM
Copy link
Collaborator

PaulienM commented Oct 19, 2025

Est ce que tu as regardé les règles rector pour migrer vers du symfony 4 ?
Ca aide bien pour les migrations de version. Il y en a aussi pour passer de swiftmailer au mailer symfony et sûrement pour d'autres choses que l'on devra migrer

Un repo rector est dédié aux règles symfony : https://github.com/rectorphp/rector-symfony

@njean42
Copy link
Collaborator Author

njean42 commented Oct 19, 2025

Est ce que tu as regardé les règles rector pour migrer vers du symfony 4 ? Ca aide bien pour les migrations de version. Il y en a aussi pour passer de swiftmailer au mailer symfony et sûrement pour d'autres choses que l'on devra migrer

Un repo rector est dédié aux règles symfony : https://github.com/rectorphp/rector-symfony

Très intéressant, merci pour les liens !
(Je ne connaissais pas Rector.)

En regardant les règles, j'ai procédé à pas mal des changements proposés (FormIsValidRector, et les trois règles de SwiftMailer).
Est-ce que Rector peut encore m'aider ? À vérifier les changements que j'ai faits, par exemple les nombreuses occurrences de SwiftMessageToEmail où j'aurais pu faire une bourde ?

@PaulienM
Copy link
Collaborator

Très intéressant, merci pour les liens ! (Je ne connaissais pas Rector.)

En regardant les règles, j'ai procédé à pas mal des changements proposés (FormIsValidRector, et les trois règles de SwiftMailer). Est-ce que Rector peut encore m'aider ? À vérifier les changements que j'ai faits, par exemple les nombreuses occurrences de SwiftMessageToEmail où j'aurais pu faire une bourde ?

Du coup je t'invite à regarder la doc pour l'installer, le configurer et le lancer pour qu'il fasse pleins de migration tout seul : https://getrector.com/documentation
C'est vraiment un super outils pour nous assister dans des montées de versions 😄

Pour répondre à ta question, je pense que le plus fiable serait de comparer tes modifs à ce que rector aurait fait
Les changements liés à la règle SwiftMessageToEmail sont tous dans le commit 179a73a, du coup tu pourrais checkout le commit juste avant, lancer rector avec cette règle et comparer tes modifs aux siennes
Les éventuels différences entre les deux nous permettront d'identifier des oublis (ou des ratés de rector), sinon ça nous confortera dans l'idée que les changements sont corrects

@PaulienM
Copy link
Collaborator

PaulienM commented Oct 24, 2025

@njean42 j'ai regardé ce qu'il y avait dans ta branche et j'ai identifié des problèmes notamment en utilisant rector et phpstan
J'aimerais bien te les partager, dis moi comment tu préfère procéder :

  • Je fait une PR qui part d'une nouvelle branche pour aller dans la tienne (avec ma conf + les modifs)
  • Je colle ici tous les problèmes identifiés (il y en a plusieurs centaines, donc pas forcément le plus pratique)
  • Je te transmet la config utilisée pour que tu le fasse de ton côté
  • Je commit directement dans ta branche
  • N'importe quelle autre solution que tu préfère 😄

Personnellement j'ai une préférence pour la PR qui part d'une nouvelle branche pour aller dans celle ci. Comme ça on verra distinctement les changements apportés et on pourra facilement remettre ça en commun si tu valide les modifs

@njean42
Copy link
Collaborator Author

njean42 commented Oct 24, 2025

@njean42 j'ai regardé ce qu'il y avait dans ta branche et j'ai identifié des problèmes notamment en utilisant rector et phpstan J'aimerais bien te les partager

Merci !

dis moi comment tu préfère procéder :

  • Je fait une PR qui part d'une nouvelle branche pour aller dans la tienne (avec ma conf + les modifs)
  • Je te transmet la config utilisée pour que tu le fasse de ton côté

Personnellement j'ai une préférence pour la PR qui part d'une nouvelle branche pour aller dans celle ci. Comme ça on verra distinctement les changements apportés et on pourra facilement remettre ça en commun si tu valide les modifs

Oui ! Très chaud pour une PR qui part de cette branche 🙂
Je veux bien que tu mettes quelque part la config utilisée, je suis curieux de voir ça !

@PaulienM
Copy link
Collaborator

PaulienM commented Oct 25, 2025

Oui ! Très chaud pour une PR qui part de cette branche 🙂 Je veux bien que tu mettes quelque part la config utilisée, je suis curieux de voir ça !

C'est fait dans la PR  #1146

Du coup j'ai laissé encore beaucoup d'erreur phpstan (un peu plus de 300) mais si ça te va on peut quand même merger rapidement ici pour mettre notre travail en commun et éviter de se retrouver avec trop de conflits

@chriskaya
Copy link
Collaborator

chriskaya commented Oct 25, 2025

Hello Nico, j'avais oublié que tu avais initié une PR ;)
Je vais tester ça
Et salut Paulien, merci pour Rector je ne connaissais pas non plus

@njean42
Copy link
Collaborator Author

njean42 commented Oct 25, 2025

Hello Nico, j'avais oublié que tu avais initié une PR ;)

Coucou 👋
À vrai dire, elle est proche d'un statut final selon moi. 😳

Toutes les fonctionnalités que je connais marchent bien ; et j'ai réparé l'authentification via OIDC/Keycloak cet aprèm.
C'était la dernière pierre de ce que je voulais faire pour Symfony4.

Prochaine étape Symfony5 ?

@njean42 njean42 changed the title Correctifs Scopéli pour utiliser symfony4 Correctifs pour utiliser symfony4 Oct 25, 2025
@njean42 njean42 force-pushed the dev-symfony-4-correctifs-scopeli branch 9 times, most recently from 0882754 to b6728c2 Compare November 15, 2025 08:02
@njean42 njean42 force-pushed the dev-symfony-4-correctifs-scopeli branch from b6728c2 to 80d7e3b Compare November 20, 2025 07:22
@njean42 njean42 force-pushed the dev-symfony-4-correctifs-scopeli branch from 80d7e3b to 9edc79e Compare December 20, 2025 10:35
@njean42 njean42 force-pushed the dev-symfony-4-correctifs-scopeli branch from b7a605e to 46931b0 Compare January 9, 2026 11:33
@njean42

This comment was marked as outdated.

…deprecated since Symfony 4.2, use `is_granted()` instead.
…us de `Controller`.

Nécessite d'injecter les services nécessaires à chaque action de contrôleur, et d'ajouter quelques paramètres "autowired" à services.yaml.
Plus de détails dans la doc : https://symfony.com/blog/new-in-symfony-4-2-important-deprecations#deprecated-the-base-controller-class
…via `$this->getParameter` (et plus `$this->container->getParameter`).
…paramètres, exemple de la `ShitGenerateCommand`.
@njean42 njean42 force-pushed the dev-symfony-4-correctifs-scopeli branch from f2c69d3 to 35b3c80 Compare January 25, 2026 16:52
@njean42 njean42 force-pushed the dev-symfony-4-correctifs-scopeli branch from 35b3c80 to d3b952a Compare January 25, 2026 16:54
@njean42 njean42 changed the title Correctifs pour utiliser symfony4 feat: Correctifs pour utiliser symfony4 Jan 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Amélioration Demande d'une nouvelle fonctionnalité ou d'amélioration de celles existantes Symfony 4

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants