IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

PHP 7.2 intégrera la bibliothèque de cryptographie Libsodium


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 976
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 976
    Billets dans le blog
    2
    Par défaut PHP 7.2 est disponible en version stable
    PHP 7.2 est disponible en version stable
    avec la bibliothèque de cryptographie Sodium et d’autres améliorations et nouvelles fonctionnalités

    L'équipe de développement de PHP vient d'annoncer la sortie de la deuxième mise à jour de fonctionnalités de PHP 7. PHP 7.2.0 vient presque deux ans après PHP 7.0 et un an après PHP 7.1. Rappelons que PHP 7.0 a apporté des gains de performance avec un moteur Zend Engine jusqu'à deux fois plus rapide que dans la version 5.6, mais également de nombreuses fonctionnalités.

    La version 7.1 du langage de développement Web côté serveur a également suivi avec de nouvelles fonctionnalités et encore des gains de performances : jusqu’à 35 % plus rapide pour les charges de travail avec une utilisation intensive du CPU, d'après Zeev Suraski, cofondateur de Zend Technologies.

    En ce qui concerne les nouvelles fonctionnalités de PHP 7.1, il s'agissait entre autres du support des types nullable, l'introduction d'un type de retour void qui permet d’indiquer qu’une fonction ne retourne rien, un nouveau pseudo-type similaire à callable appelé Iterable, l'ajout d'un support pour spécifier la visibilité des constantes (public, protected et private), la gestion des exceptions par capture multiple, etc.

    PHP 7.2 vient également avec de nombreuses améliorations et de nouvelles fonctionnalités. L’une des grandes nouveautés est la bibliothèque cryptographique Sodium qui a été intégrée au noyau de PHP. Cette bibliothèque logicielle permet le chiffrement, le déchiffrement, les signatures, le hachage de mots de passe et plus encore. D’après Scott Arciszewski, l’ingénieur qui a proposé de l’intégrer au noyau de PHP 7.2, cela va permettre d’améliorer la sécurité du langage, mais également celle des outils construits avec PHP. Il explique par exemple que le CMS WordPress, écrit en PHP, contient de nombreux problèmes de sécurité qui sont dus à l’absence d’outils de cryptographie appropriés. En intégrant la bibliothèque logicielle à PHP, il pense donc que cela obligerait les développeurs de WordPress à implémenter une meilleure sécurité dans le CMS.

    Arciszewski considère aussi Sodium comme une bibliothèque de cryptographie moderne comme on n’en trouve pas chez les autres langages. En l'intégrant dans le noyau du langage, PHP devient donc le premier langage de programmation à supporter une bibliothèque de cryptographie « moderne » dans son noyau.

    Au-delà de Sodium, PHP 7.2 vient avec des améliorations et nouvelles fonctionnalités comme :

    • la possibilité de convertir des clés numériques dans les objets et tableaux lors de cast. Les clés numériques sont maintenant mieux appréhendées lors de cast d'un tableau en objet et d'objet en tableau (cast explicite ou par la fonction settype()) ;
    • le comptage d'objets non dénombrables. Un E_WARNING sera émis lors de la tentative d'utilisation de la fonction count() sur un type non dénombrable ;
    • HashContext en tant qu'objet ;
    • ajout d'Argon2 à l'API pour le hachage de mot de passe ;
    • amélioration des constantes TLS ;
    • la suppression de l'extension Mcrypt. L'extension MCrypt a maintenant été déplacée du noyau vers PECL. Étant donné que la bibliothèque mcrypt n'a pas eu de mises à jour depuis 2007, son utilisation est fortement découragée. Au lieu de cette extension, soit OpenSSL ou l'extension sodium doit être utilisé.

    Vous trouverez sur le site officiel de PHP, la liste exhaustive des changements dans PHP 7.2. Il faut déjà noter qu’il y a quelques évolutions incompatibles avec les versions précédentes qui doivent être testées avant de passer à PHP 7.2 dans les environnements de production. PHP 7.2 est disponible en téléchargement sur son site.

    Téléchargements PHP 7.2

    Source : Liste de diffusion PHP

    Et vous ?

    Quelles versions de PHP utilisez-vous ?
    Que pensez-vous de cette nouvelle version de PHP ?
    Quelles sont les fonctionnalités que vous appréciez le plus ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Billets dans le blog
    1
    Par défaut
    avec la bibliothèque de cryptographie Sodium
    Il ne me semble pourtant pas avoir été consulté sur la question ...

  3. #3
    Membre averti
    Homme Profil pro
    Des choses
    Inscrit en
    Juin 2012
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Des choses

    Informations forums :
    Inscription : Juin 2012
    Messages : 65
    Par défaut
    Depuis la v7, PHP est en train de supprimer peu à peu les derniers arguments objectifs que l'on pouvait reprocher à ce langage.
    Nouveau moteur avec des performances qui n'ont plus rien à envier à Python, typage des variables*, POO moderne... on y arrive!

    * Malheureusement pas géré par tous les frameworks avec notamment les classes compilées avant exécution.

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    @Eric30
    C'est clair qu'au fil des versions PHP s'est grandement bonifié. Avec l'avènement de la version 7, on a carrément basculé dans une autre dimension : typage, sucres syntaxiques bien à propos, des performances à tomber à la renverse, une POO solide. Bref, je dois t'avouer que depuis que j'ai goûté à la version 7+, j'ai beaucoup de mal à revenir sur des scripts anciens version 5.6-.
    Dans les entreprises, c'est pareil. PHP est en train de revenir en odeur de sainteté. Vu que le langage s'est rigidifié, il est devenu plus difficile de faire du code sale (bon, c'est toujours possible, je te rassure, mais si tu te donnes les moyens d'utiliser les nouveautés de PHP 7+, c'est presque mission impossible). Tous les échos sont vraiment supers positifs.

    Le support natif de la bibliothèque de sécurité Sodium par le moteur v 7.2 est carrément une "killer feature".

    Go PHP

    PS : La prochaine version majeure 8.0 devrait intégrer une moteur JIT, là, en terme de perfs, ça devrait être le nirvana et laisser les autres accessoirement à la traîne

  5. #5
    Membre averti
    Homme Profil pro
    Des choses
    Inscrit en
    Juin 2012
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Des choses

    Informations forums :
    Inscription : Juin 2012
    Messages : 65
    Par défaut
    Citation Envoyé par rawsrc Voir le message

    PS : La prochaine version majeure 8.0 devrait intégrer une moteur JIT, là, en terme de perfs, ça devrait être le nirvana et laisser les autres accessoirement à la traîne
    Question: comment cela fonctionnerait-il? Comme Java: c'est à dire que l'on précompile avant de livrer?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Oui en gros tu pré-compiles dans un format intermédiaire et lors de l’exécution du programme ce format intermédiaire est compilé en langage machine. Je suis curieux de voir comment PHP implémenterait ça car par design une instance de PHP a une nature très éphémère contrairement à un backend Java ou Python.

  7. #7
    Membre très actif Avatar de Aizen64
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    565
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 565
    Par défaut
    J'ignore quel est le rapport de performance entre PHP, Python, Java et je pense que sur une appli web, ce n'est pas le point essentiel sachant qu'une requête SQL de trop c'est 500 ms de perdues, aucun framework ne rattrape ça. Je trouve que c'est tout de même une bonne chose d'en améliorer les perfs, si la MAJ ne coûte rien pourquoi refuser le gain de perfs et conso de mémoire à la baisse ?

    Des Generics en 7.3 ? , une syntaxe alternative pour éviter d'écrire $maVariable mais maVariable et duTexte.length ? Eviter un plantage complet lors d'erreur sur des DateTime ? Ne pas autoriser $nom = "Inconnu" transformé en 0 si typecast en entier ? C'est pas normal ce dernier bug.

  8. #8
    Membre très actif Avatar de Aizen64
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    565
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 565
    Par défaut
    Pour revenir sur les différents commentaires :

    @rawsrc : c'est pas parce que la conversion de type est documentée qu'elle n'est pas un bug donc non je ne suis pas d'accord. Sur le typage optionnel en PHP, c'est un peu mi figue mi raisin selon moi. Il me semble de declare(scrict_types=1) fait à moitié le travail.

    Pourquoi ne pas autoriser de typer toutes les variables ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
     
    int unEntier = 1;
    string uneChaine = "un truc";
     
    uneChaine.length; // merde c'est plus court que strlen( $uneChaine ):
    ?>
    Une fois de plus, les perfs ne sont pas forcément l'essentiel, du SQL exécuté pour rien c'est 500 ms de perdues soit bien plus que l'impact d'un framework, cela dit, je trouve très intéressant d'avoir de gros gains de perfs entre version. Pourquoi ? Si tu ne traines pas de code déprécié, l'upgrade de PHP ou un autre langage c'est gratuit donc autant en profiter.

    Aujourd'hui, j'ai du mal à comprendre pourquoi Ruby par exemple a des perfs aussi mauvaises, c'est tous des dérivés du C non ?

    Quand aux débats de langages, tous les gros framework font un peu la même chose, c'est surtout une question de "goût" sur la langage et de structure de code pour la maintenabilité d'une app.

    Sur les frameworks, ils ne sont pas forcément indispensables pour la création de petits outils par exemple et même certains outils minimalistes (Slim 3) peuvent très bien faire l'affaire.

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    c'est pas parce que la conversion de type est documentée qu'elle n'est pas un bug donc non je ne suis pas d'accord
    Ce n'est pas un bug tout simplement parce que c'est souhaité ainsi depuis le début de PHP.
    La raison est simple : PHP servait a exploiter des formulaires HTML donc des données sans type.
    Mais encore une fois je ne vois pas l'obsession sur ce point, il faut vivre avec hein. Le typage n'est pas le graal de la programmation.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Bibliothèque PHP création de jeu online : ça existe?
    Par smirnoff dans le forum Jeux web
    Réponses: 7
    Dernier message: 09/05/2015, 21h43
  2. [PHP-MySql] Gestion d'une bibliothèque
    Par youtch dans le forum Mon programme
    Réponses: 10
    Dernier message: 30/11/2012, 10h35
  3. Bibliothèque mcrypt PHP
    Par seb67110 dans le forum Langage
    Réponses: 4
    Dernier message: 29/11/2007, 18h27
  4. [Path]prog lancé en PHP : pb de bibliothèques
    Par mellie dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 29/06/2004, 17h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo