Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Framework PHP : Symfony 4.0 automatise l'installation de paquets et la configuration
Et réduit de 70 % la taille des applications

Le , par Michael Guilloux

131PARTAGES

7  0 
SensioLabs a annoncé il y a quelques jours la sortie du Symfony 4.0.0, un ensemble de composants PHP ainsi qu'un framework écrit en PHP qui fournit des fonctionnalités modulables et adaptables qui permettent de faciliter et d’accélérer le développement d'un site Web.

Le framework Symfony 4 est construit avec la dernière version de Symfony Components. Il s'agit d'un ensemble de bibliothèques PHP réutilisables qui devient une base standard pour la construction d'applications PHP. Il faut noter qu'il est possible d'utiliser n'importe lequel de ces composants dans vos propres applications indépendamment du framework Symfony.

Pour ses créateurs, Symfony 4 n'est pas seulement une nouvelle version majeure, mais une toute nouvelle expérience développeur. Parmi les nouveautés et améliorations, on note par exemple une installation automatisée de paquets avec Symfony Flex. Symfony Flex est la nouvelle façon de gérer les applications Symfony. Il est basé sur Symfony Recipes, un ensemble d'instructions automatisées pour intégrer des packages tiers dans des applications Symfony. Symfony 4 s'intègre parfaitement avec Symfony Flex pour automatiser les tâches les plus courantes effectuées sur les applications. Vous n'aurez par exemple pas à activer des bundles. Symfony Flex le fait pour vous, d'après SensioLabs.

Si vous regardez le fichier services.yaml dans un nouveau projet à partir de Symfony 3.3, vous remarquerez de gros changements : _defaults, autowiring, autoconfigure et plus encore. Ces fonctionnalités ont été conçues pour automatiser la configuration et accélérer le développement. Ainsi, Symfony 4 permet aux développeurs de se concentrer davantage sur l'écriture de code et ne pas perdre de temps sur la configuration.

Comme autre amélioration, on peut également retenir que les nouvelles applications créées avec Symfony 4 sont basées sur un micronoyau et contiennent 70 % moins de code et de fichiers que les nouvelles applications Symfony 3. Cela a été possible grâce à des optimisations, y compris la suppression de toutes les dépendances non essentielles. Comme résultat, cette version a la plus petite empreinte sur les frameworks PHP, CMS et autres projets qui utilisent Symfony. SensioLabs estime également que Symfony est maintenant idéal pour tout type de projet : microservices, API, applications Web monolithiques, applications consoles ou backend pour applications JavaScript.

« Symfony 4 représente une refonte complète de ses idées et fonctionnalités pour les adapter aux pratiques de l'industrie : les bundles d'applications ont disparu, les paramètres de configuration sont maintenant des variables d'environnement, la structure du répertoire d'application est plus facile à parcourir et des centaines d'autres petites améliorations vous feront aimer Symfony. Le résultat est qu'il y a moins de concepts Symfony et plus de pratiques standard », explique SensioLabs sur son site officiel. Des optimisations de chaque partie de Symfony ont également apporté des gains de performance.

Il y a bien d'autres fonctionnalités, y compris le nouveau MakerBundle pour la génération de code et Webpack Encore qui offre un moyen plus simple d'intégrer Webpack dans votre application.

En ce qui concerne la mise à niveau de vos applications existantes vers cette nouvelle version, les développeurs de Symfony promettent une expérience plutôt facile grâce à une bonne rétrocompatibilité. Mais il faudra d'abord faire une mise à niveau vers Symfony 3.4, qui offre une compatibilité totale avec n'importe quelle version de Symfony 3.x. Ensuite, vous devez corriger les problèmes de dépréciations signalées pour être prêt à effectuer une mise à niveau instantanée vers Symfony 4.

Symfony 4 est disponible depuis le 30 novembre, le jour même de la sortie de PHP 7.2. Notons qu'il requiert au moins la version 7.1.13 du langage de développement Web côté serveur afin de fonctionner.

Sources : Annonce de la sortie de Symfony 4, Symfony 4

Et vous ?

Utilisez-vous Symfony ?
Si oui, quelles versions et comment le trouvez-vous par rapport aux autres frameworks PHP ?
Sinon, quels frameworks PHP utilisez-vous ?

Voir aussi :

Rubrique Symfony : Forums, FAQ, Cours et tutoriels, etc.
PHP 7.2 est disponible en version stable avec la bibliothèque de cryptographie Sodium et d'autres améliorations et nouvelles fonctionnalités

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de bretus
Membre éprouvé https://www.developpez.com
Le 09/12/2017 à 12:15
Citation Envoyé par dukoid Voir le message

pourtant c'est facile d'installer git, composer sur windows mais bon, moi je crois que le problème c'est pas les étudiants , c'est le formateur peut être
En réseau d'entreprise ou d'école, tu es régulièrement emmerdé par un proxy que ce soit sous windows ou linux... Je ne vois pas en quoi ça concerne Symfony ou même composer : Le problème se pose pour tous les gestionnaires de dépendances (composer, pip, maven, npm, etc.). Rien d'insurmontable, on explique ce qui coince et on s'en sort avec des fiches d'installations ou des VM...

Sur le fond du problème de notre ami, je pense surtout qu'il fait une formation sans transition entre "voilà comment on gère un formulaire avec des $_POST et include dégueulasses" et "voilà comment on peut aussi faire ça proprement avec Symfony"...

C'est sûr qu'avec un programme pareil, les élèves vont comprendre que MVC structure l'application, résout les problèmes d'include et de routing entre les pages... Ils vont aussi comprendre en quoi le moteur de template protège contre les injections XSS et mesurer toute l'importance de la validation des paramètres... Soyons fous, ils vont même comprendre en quoi l'injection de dépendance permet d'avoir une application paramétrable!

Perso, j'ai plus tendance à faire manipuler les gestionnaires de dépendances aux débutants (composer, npm, maven,...) et à bien leur expliquer le concept MVC avant de les faire manipuler un framework. Pour être passé par du PHP old school, puis par Zend pour atterrir sur Symfony2 et suivants, je sais que ça prend du temps pour ne plus se dire "mais pourquoi ils mettent tous ce merdier pour faire mon application toute bête"...

A ce titre, l'approche Symfony4 où on fournit de base un minimum de composants devrait être plus pratique pour les formations. Il est plus simple de montrer l'apport des composants en les installant un par un plutôt qu'en disant "ne vous préoccupez pas de ça pour l'instant".
3  0 
Avatar de Vinorcola
Membre régulier https://www.developpez.com
Le 05/12/2017 à 15:02
70% de code en moins, c'est pour l'édition de base qui n'embarque plus ni Twig, ni Doctrine, ni Swiftmailer, ni les Form, ni les validator, etc. Donc 70% de code en moins, c'est Symfony Standard Edition VS Flex. Mais pour les applications, il y aura toujours la même quantité de code (à peu près) : pour une application qui a des dépendances, elle seront installée quant même, donc ça ne change pas grand chose au volume de code final.

Ce qui est important ici, c'est que si c'est juste pour faire un serveur API, plus besoin de supprimer Twig puisqu'il n'y est plus par defaut.
2  0 
Avatar de Spartacusply
Membre expert https://www.developpez.com
Le 11/12/2017 à 16:54
Citation Envoyé par SurferIX Voir le message
Eh bien je vais me remettre à Symfony, cette fois ci sur le "4".
Malgré le fait que la France a enfin compris que Python est bien mieux que Php (*) on me demande toujours de former des BAC+1, +2 et +3 à Php et faire une introduction Symfony (oui pas "formation", juste installation + mini site, une matinée normalement).
Jusqu'à présent, mes stats étaient grossièrement : sur 30 élèves, 28 étaient sous Windows . Donc déjà, les 2 sous Linux installaient Symfony sans aucun problème . Restaient les 28. Sur les 28, au moins 10 avaient des problèmes d'installation, de dépendances, et / ou / de version. Ça m'a fait ça sur une dizaine de classes, jusqu'à l'année dernière où j'ai décidé de (1) ne plus jamais parler Symfony (2) de n'accepter que des élèves sous Linux / au pire vm Linux. Et devinez quoi ?

Les seuls problèmes restants étaient les élèves mous du bulbe (et je suis gentil) qui voulaient absolument cliquer avec leur souris sans faire de la ligne de commande.

Bref, j'espère que Symfony 4 va résoudre une grande partie des problèmes, et je vais modifier toute la fin de mon cours / présentation Symfony pour espérer cette fois ci leur faire réussir l'installation et ne pas entendre 1/3 des personnes qui grincent des dents.

Dans tous les cas, j'espère que le 4 va redorer le blazon du 3, parce que comme dirait quelqu'un "je veux laver son honneur" -> ah bah prépare toi tu vas frotter, tu vas y mettre quelques gouttes, c'est pas un chantier d'un jour !

(Et pour troller sur "j'utilise Symfony que dans un certain contexte" bah Django, lui, peut s'utiliser dans tous les contextes : petits, moyens et grands projets )

(*) La refonte nationale d'enseignement supérieur a supprimé le C en première année au profit de Python (je suis totalement contre mais c'est une autre discussion)
Quand je lis ça et en fait à peu près aussi tout l'ensemble de ton oeuvre sur developpez, je me dis que ça dois être vraiment vachement sympa de passer un cours Symfony avec toi et d'entendre pendant toute sa durée "bon bah je vais vous apprendre un truc parce que bon, j'ai pas trop le choix mais notez bien que c'est tout pourri et qu'il y a bien mieux : le st Graal couple Django/Python Allelulia !!"

Venant de la part d'un professeur censé être le plus objectif possible dans sa manière de présenter les choses ça me laisse pour le moins... dubitatif, c'est le mot.
3  1 
Avatar de Eric30
Membre habitué https://www.developpez.com
Le 04/12/2017 à 16:57
Citation Envoyé par coolspot Voir le message
Une nouvelle version du deuxième mastodonte de framework PHP. Pour ma part symfony et Zend me font plus que peur rien que qaudn tu voit la doc d'installation du bouzin avec plein de ligne de commande.

A titre personnel j'utilise Code Igniteur pour tous mes nouveaux projet PHP et je l'aime bien parce qu'il a les bases d'un framework sans être non plus la grosse berta avec 256 modules x et y. Et pis ta toujours l'impression au moins de faire du PHP avec ce genre de framework.

La version 4 est en développement pour ce framework et j'ai hate de voir ce qu'elle va donner. Déjà que j'aime toujours ce framework depuis sa version 2.x ou j'ai commencé à m'y mettre.

Faut d'ailleurs que je finisse ma refonte de mon vieux site perso PHP tout pourri vers sa version frameworkisé tout joli
Je savais même pas que CodeIgniter existait encore... La dernière fois que je m'y suis intéressé, début 2013, leur forum avait été piraté par des sites qui vendaient des choses pas vraiment pour tout public...

Etre un "bouzin" ou pas n'est pas un critère de qualité. On prend un framework parce qu'il répond à un besoin, pas à des goûts subjectifs. Personnellement avant j'étais Zend Framework 1 puis 2 (au début), j'ai fais du Silex et d'autres petits trucs, et ben on peut dire ce que l'on veut mais Symfony reste le meilleur framework PHP pour les grosses applications (je parle pas de e-commerce) et a apporté énormément au langage.

De plus si tu avais lu l'article, ils expliquent que l'époque du "bouzin" est révolue ...

Pour moi ta comparaison est foireuse, et elle me fait penser aux gens qui font du e-commerce et qui te comparent Prestashop à Magento 2 en disant "j'aime pas Magento, c'est trop gros/compliqué". Chaque fois j'essaie de garder mon calme en leur expliquant que c'est pas la même cible/utilisation.
1  0 
Avatar de ypicot
Membre confirmé https://www.developpez.com
Le 13/12/2017 à 12:57
Citation Envoyé par SurferIX Voir le message
Jusqu'à présent, mes stats étaient grossièrement : sur 30 élèves, 28 étaient sous Windows . Donc déjà, les 2 sous Linux installaient Symfony sans aucun problème . Restaient les 28. Sur les 28, au moins 10 avaient des problèmes d'installation, de dépendances, et / ou / de version. Ça m'a fait ça sur une dizaine de classes, jusqu'à l'année dernière où j'ai décidé de (1) ne plus jamais parler Symfony (2) de n'accepter que des élèves sous Linux / au pire vm Linux.
Je donne qques cours base de données / mysql à des BTS, et j'ai une expérience similaire en remplaçant "Symfony" par "PHP". Faire installer une simple pile WAMP à une classe de 35 gugusses est assez problématique, notamment quand ils sont paniqués par un message d'erreur totalement incompréhensible tel que "il manque msvcr110.dll. Veuillez l'installer". Facile à gérer dans un stage avec 4-6 adultes dont on maitrise plus ou moins la config, mais plus délicat dans un cours avec 35 étudiants possédant à peu près autant de configs différentes.
J'ai opté pour une solution similaire à SuferIX : faire installer un linux mint (je n'ose les traumatiser avec une debian) dans une VM.
Et pour l'anecdote, cette solution n'a pas été possible pour un élève qui avait un ultrabook windows avec un SSD de 32Go quasi-plein

Citation Envoyé par bretus Voir le message
Perso, j'ai plus tendance à faire manipuler les gestionnaires de dépendances aux débutants (composer, npm, maven,...) et à bien leur expliquer le concept MVC avant de les faire manipuler un framework. Pour être passé par du PHP old school, puis par Zend pour atterrir sur Symfony2 et suivants, je sais que ça prend du temps pour ne plus se dire "mais pourquoi ils mettent tous ce merdier pour faire mon application toute bête"...
+1 !!
1  0 
Avatar de mh-cbon
Membre extrêmement actif https://www.developpez.com
Le 04/12/2017 à 13:31
très bonne nouvelle.
0  0 
Avatar de Eric30
Membre habitué https://www.developpez.com
Le 04/12/2017 à 14:05
SensioLabs estime également que Symfony est maintenant idéal pour tout type de projet : microservices, API, applications Web monolithiques, applications consoles ou backend pour applications JavaScript.
Du coup, que va devenir Silex? Fin du projet?

EDIT: j'ai trouvé ma réponse: https://gonzalo123.com/2017/07/10/si...s-dead-or-not/
0  0 
Avatar de Tartare2240
Membre averti https://www.developpez.com
Le 04/12/2017 à 14:20
Citation Envoyé par Eric30 Voir le message
Du coup, que va devenir Silex? Fin du projet?
Symfony Flex a tout pour remplacer Silex sans douleur : il est léger, sans grosses dépendances, sans le "full-stack-tout-symfony-avec-42-dépendances-pour-rendre-l'appli-bien-fat-de-base", etc... Ayant utilisé une fois Silex et après en avoir chié pour installer correctement Doctrine avec la console qui s'interface correctement avec le reste... Vive Flex ! \o/
0  0 
Avatar de papajoker
Membre émérite https://www.developpez.com
Le 05/12/2017 à 14:22
Citation Envoyé par coolspot Voir le message
malgré ce que dis l'article symfony comme zend ca reste la grosse berta.
Tu parles donc de symfony 3 et non de la version 4 que tu as bien sûr testé ? Une grosse berta qui a quand même perdu 70% de poids

Citation Envoyé par coolspot Voir le message
'il y a plus simple et plus léger pour nos codes/projet de tous les jours si j'ose dire.
Sans doute pour toi, mais justement tu ne précises pas quel type de code tu fais tous les jours, énormément de devs l'utilisent tous les jours. Ta remarque hors contexte ne peut que s’apparenter à un troll.

Il y a de meilleurs sujets ici pour vendre ton framework de cœur sans dénigrer les autres.
0  0 
Avatar de dukoid
Membre chevronné https://www.developpez.com
Le 08/12/2017 à 19:15
je travaille sur windows et j'ai jamais eu aucun soucis, c'est bizaaaaaarre ! idem à mon boulot .... c'est vraiment bizarre les gens qui cherchent des problèmes là ou il y en a pas pour justifier que c'est mieux ailleurs

pourtant c'est facile d'installer git, composer sur windows mais bon, moi je crois que le problème c'est pas les étudiants , c'est le formateur peut être
1  1