{"id":197,"date":"2010-11-15T13:24:33","date_gmt":"2010-11-15T12:24:33","guid":{"rendered":"http:\/\/www.alkannoide.com\/?p=197"},"modified":"2011-02-28T11:50:14","modified_gmt":"2011-02-28T10:50:14","slug":"retour-sur-les-conferences-du-forumphp-jour-2","status":"publish","type":"post","link":"https:\/\/www.alkannoide.com\/2010\/11\/15\/retour-sur-les-conferences-du-forumphp-jour-2\/","title":{"rendered":"Retour sur les conf\u00e9rences du ForumPHP (jour 2)"},"content":{"rendered":"

Suite de mes retours sur les conf\u00e9rences, c’est au tour du 2\u00e8me jour.<\/p>\n

D\u00e9boguer son code – Xdebug<\/h2>\n

Xdebug est un outil d\u00e9velopp\u00e9 et maintenu par Derick Rethans (http:\/\/derickrethans.nl). Il poss\u00e8de deux fonctionnalit\u00e9s : debug et profiling.<\/p>\n

Derick nous pr\u00e9sente une grande partie des \u00e9l\u00e9ments de configuration afin de r\u00e9aliser les traces de debug les plus explicites possibles : ajout direct vers les fichiers pr\u00e9sentant des probl\u00e8mes, gestion de l’affichage des var_dump<\/em> (profondeur d’affichage), etc…<\/p>\n

Ensuite il nous pr\u00e9sente la possibilit\u00e9 de faire du profiling et d’interpr\u00e9ter les donn\u00e9es r\u00e9cup\u00e9r\u00e9es. Pour cela, un petit tour dans la configuration et ensuite des applications tierces sont mises \u00e0 contribution : KCacheGrind<\/a> ou WebGrind<\/a>. Des plugins sont (seront) disponibles pour les diff\u00e9rents IDE afin de travailler “en live” avec le serveur.<\/p>\n

Un site web performant, tout est dans le r\u00e9seau et le navigateur<\/h2>\n

Eric Daspet nous pr\u00e9sente quelques m\u00e9thodes afin d’augmenter les performances. Avant cela, des chiffres nous font prendre connaissances des effets b\u00e9n\u00e9fiques de la performance d’un site web. Qui dit performance, dit augmentation potentielle du revenu et du business li\u00e9e au site en question.<\/p>\n

Nous rentrons ensuite dans des aspects plus techniques :<\/p>\n

    \n
  • sur un appel de page : 5% du traitement est r\u00e9alis\u00e9 en back-end et 95% en front-end<\/li>\n
  • 4 \u00e0 6 requ\u00eates en parall\u00e8le par domaine sont possibles avec les derniers navigateurs, il est donc important de g\u00e9rer au mieux images, CSS, JS<\/li>\n
  • mise en place de la compression Gzip, utilisation des Etags et autres ent\u00eate de cache HTTP<\/li>\n
  • utilisation de sprites pour les images<\/li>\n
  • regroupements des multiples fichiers CSS en un 1 seul (m\u00eame chose pour les JS)<\/li>\n
  • appel des JS externes avant le <\/body> afin d’augmenter l’affichage de la page<\/li>\n
  • utilisation du KeepAlive au niveau de la configuration Apache afin de r\u00e9duire les temps de connexions TCP (\u00e0 utiliser avec attention car elle augmente la charge CPU des serveurs).<\/li>\n
  • am\u00e9lioration de la gestion des DNS<\/li>\n<\/ul>\n

    Tout ceci afin de r\u00e9duire les temps de latence et ainsi augmenter la performance du site.<\/p>\n

    Attaque sur les webservices<\/h2>\n

    L’intervenant Renaud Bidou pr\u00e9sente dans un premier temps la structure fonctionnelle des webservices puis les diff\u00e9rentes technologies diff\u00e9rentes. Je pensais conna\u00eetre assez bien cet aspect, cela m’a permis d’en apprendre plus.<\/p>\n

    Des attaques par Xpath, DOS, XSLT, avec le pipe<\/em> sont pr\u00e9sent\u00e9s et sont, pour moi, assez flippantes de par leurs simplicit\u00e9s de mise en place.<\/p>\n

    On retiendra : “plus le code est complexe \u00e0 relire, plus il sera complexe \u00e0 maintenir et moins la s\u00e9curit\u00e9 sera importante !”<\/p>\n

    Une conf\u00e9rence int\u00e9ressante car elle aborde un sujet de plus en plus sensible et pr\u00e9sent pour les soci\u00e9t\u00e9s; Je regrette tout de m\u00eame que le terme webservice ait \u00e9t\u00e9 associ\u00e9 \u00e0 SOAP lors de la conf et que le REST n’ait \u00e9t\u00e9 que survol\u00e9.<\/p>\n

    Un excellent ForumPHP qui m’a permis de revoir certaines personnes, d’en d\u00e9couvrir de nouvelles. J’attends la fin d’ann\u00e9e prochaine pour l’\u00e9dition 2011, qui ne f\u00eatera elle aucun anniversaire…<\/p>\n","protected":false},"excerpt":{"rendered":"

    Suite de mes retours sur les conf\u00e9rences, c’est au tour du 2\u00e8me jour.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3,33,9],"tags":[],"_links":{"self":[{"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/posts\/197"}],"collection":[{"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/comments?post=197"}],"version-history":[{"count":7,"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/posts\/197\/revisions"}],"predecessor-version":[{"id":270,"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/posts\/197\/revisions\/270"}],"wp:attachment":[{"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/media?parent=197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/categories?post=197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/tags?post=197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}