Blog
  • Login

  • Anmeldung
  • Registrieren
  • Blog

  • Artikel
  • fr
  • en

SymfonyWorld, quoi de neuf ?

der 5. Dezember 2020

Cette semaine, il y a eu un séisme dans l'univers PHP et Symfony ! Découvrons cela ensemble.

Avertissement : Cet article se base uniquement sur les annonces publiques qui ont été faites sur le compte Twitter #SymfonyWorld

Libérer votre potentiel avec Javascript

C'est la mise à l'honneur de Symfony UX qui permet d'être framework agnostique quand aux choix que vous allez faire pour intégrer vos contenus dynamiques sur vos sites.

https://speakerdeck.com/tgalopin/symfony-ux-a-new-javascript-ecosystem-for-symfony

PHP8

Où comment un langage passe à un stade mature.
Compilation juste à temps, Les attributs, constructeurs à variable, arguments només, les types d'union et mixé, le match opérateur, l'opérateur null "safe".

https://www2.slideshare.net/nikita_ppv/whats-new-in-php-80-239762987

Api-platform 2.6, Next.js and Nuxt.js app generator, Caddy server, ActivityPub

Api-platform continue la conquête de l'étique à l'usage du web.

https://dunglas.fr/2020/12/api-platform-2-6-php-8-support-next-js-and-nuxt-js-app-generator-caddy-server-activitypub-and-much-more/

La cryptographie et la course au décryptage

SHA1, AES, DES3, Bob et Alice, puissance de calcul, probabilités, tous ces mots vous sont familier ?

https://speakerdeck.com/gregoirehebert/with-symfony-4-dot-4-your-secrets-will-be-well-kept

La sécurité dans Symfony

Approfondir la sécurité dans Symfony.

https://speakerdeck.com/weaverryan/modern-security-with-symfonys-shiny-new-security-component

Composer 2.0

L'outil qui vous aide au quotidien pour maintenir vos bibliothèques à jour.

https://www.naderman.de/slippy/slides/2020-12-04-SymfonyWorld-Online-2020-Composer-2.pdf

Elastic Search

On parle bien de production et conseils.

https://jolicode.github.io/elasticsearch-php-conf/slides/symfonyworld2020.html

Le serialiseur

Le composant Serialiser dévoile ses secrets.

https://speakerdeck.com/dbrumann/serializer-demystified

Les semaphores

Vous connaissez les threads linux ? Et bien découvrez ici comment gérer les sémaphores en PHP !

http://slides.com/jderusse/lock-semaphore-sfworld

0.1 + 0.2 != 0.3

Cela est étonnant, mais c'est pourtant vrai !

https://speakerdeck.com/bitone/why-0-dot-1-plus-0-dot-2-equals-0-dot-3-or-the-mysterious-world-of-floating-point-numbers

Internationalizer vos projets

Les bonnes pratiques à mettre en place pour internationaliser une application Symfony.

https://speakerdeck.com/welcomattic/internationalize-your-symfony-application-the-right-way

HTTP2

Et promouvoir son utilisation.

https://speakerdeck.com/brunohsouza/the-modern-and-fast-httpclient

Cypress for Symfony

Tests en bout à bout pour les développeurs symfony.

https://speakerdeck.com/leichteckig/symfony-meets-cypress-e2e-testing-for-symfony-developers

Dropping ACID

Comment designer son schéma en ecommerce, et beaucoup de sources à l'appui : Magento, Sylius, Spryker.

https://speakerdeck.com/alcaeus/dropping-acid-schema-design-for-e-commerce-63ba690b-7eb0-4033-8176-c1aafd9bb24f?slide=3

PHP et minecraft

Minecraft !

https://speakerdeck.com/thomasberends/php-plus-minecraft

Symfony Console

Et ASCII Art !

https://speakerdeck.com/el_stoffel/better-console-applications-symfonyworld-2020

Après la théorie, la pratique !

C'est toujours un moment où j'apprends en détail de nouvelles choses et l'investissement sera toujours bénéfique !

Darkwood est déployé sur PHP8 et Symfony 5.2

Cette migration c'est faite tranquille, le gros du travail c'était en septembre : https://blog.darkwood.fr/article/darkwood-opensource
Déjà, il faut passer sur PHP8 (sous mac) : https://stitcher.io/blog/php-8-upgrade-mac
Puis monter les dépendances Symfony 5.2 et utiliser composer update.
Conseil : --ignore--platform˗reqs=php à ne surtout pas reproduire à la maison !
Appliquer les nouveautés qu'on veut : https://symfony.com/blog/symfony-5-2-curated-new-features.
Ensuite, un petit script pour éviter le copier coller : https://www.amitmerchant.com/how-to-upgrade-application-codebase-to-use-PHP-8-features-rector/
Enfin quand tout est prêt, configurer le serveur : https://php.watch/articles/php-8.0-installation-update-guide-debian-ubuntu.
Côté production, je dois encore faire cohabiter php7.3-fpm et php8.0-fpm car tous mes services installés ne sont pas tous mis à jour avec PHP8, et oui c'est OpenSource. Je ne peux que recommander que de contribuer sur les dépendances qui vous font défaut.

L'installation de PHP 8.0 sur debian amd64 ressemble quelque chose à cela :

# install php8.0 from https://php.watch/articles/php-8.0-installation-update-guide-debian-ubuntu
apt install apt-transport-https lsb-release ca-certificates wget -y
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg 
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
apt update

apt-get install -y php8.0 php8.0-fpm php8.0-{bz2,curl,intl,mysql,readline,xml,gd}

Darkwood utilise Caddy server

Tout savoir comment utiliser Caddy server derrière un Cloudflare : https://sammckenzie.be/en/blog/using-caddy-with-cloudflare/
Configurer son Caddyfile : https://caddyserver.com/docs/quick-starts/caddyfile
Installer CaddyServer sur Linux : https://caddyserver.com/docs/install
Pour en savoir plus : https://caddyserver.com/docs/getting-started
Symfony docker : https://github.com/dunglas/symfony-docker

L'installation de Caddy server sur debian amd64 ressemble quelque chose à cela :

# from https://sammckenzie.be/en/blog/using-caddy-with-cloudflare/
curl -o /usr/bin/caddy -L https://caddyserver.com/api/download?os=linux&arch=amd64&p=github.com%2Fcaddy-dns%2Fcloudflare&idempotency=55868885529780

echo "export CLOUDFLARE_AUTH_TOKEN=MY_TOKEN" >> ~/.bashrc
source ~/.bashrc

# from https://caddyserver.com/docs/install 
mkdir -p /etc/caddy
groupadd --system caddy
useradd --system \
    --gid caddy \
    --create-home \
    --home-dir /var/lib/caddy \
    --shell /usr/sbin/nologin \
    --comment "Caddy web server" \
    caddy
touch /etc/systemd/system/caddy.service
nano /etc/systemd/system/caddy.service

# from https://github.com/dunglas/symfony-docker
touch /etc/caddy/Caddyfile
nano /etc/caddy/Caddyfile
darkwood.fr {
    root * /var/www/darkwood.fr/darkwood.fr/public
    php_fastcgi 127.0.0.1:9000
    encode gzip
    file_server
    log {
		output file /var/log/caddy/darkwood.fr.log
	}
}

service caddy start

Mais aussi ...

  • De Symfony 0.6 à Symfony 5 : https://skoop.dev/blog/2020/12/03/symfony-what-I-learned-from-the-framework/
  • PHPStan : https://phpstan.org/blog/find-bugs-in-your-code-without-writing-tests
  • XDebug 3 : https://xdebug.org/announcements/2020-11-25
  • PHPStorm 2020.3 : https://www.jetbrains.com/fr-fr/phpstorm/whatsnew/
  • Doctrine en PHP 8 : https://twitter.com/doctrineproject/status/1334856047648010241?s=20
  • Symfony Cloud : https://symfony.com/blog/symfonycloud-php-8-is-available-right-now
  • Optimiser PHP ? Pas d'infos ici, mais voici l'essentiel à retenir ! https://twitter.com/BoineauV/status/1334806034435743744?s=20
  • https://shop.symfony.com et https://elephpant.me

Spread love

elephan-cake

  • Sitemap - Hello - Blog - Apps - Photos - Kontakt - - - - - Impressum - Darkwood 2025, alle Rechte vorbehalten