{"id":3334688,"date":"2021-05-04T13:45:35","date_gmt":"2021-05-04T11:45:35","guid":{"rendered":"https:\/\/wp-rocket.me\/?p=3334688"},"modified":"2024-06-28T12:19:52","modified_gmt":"2024-06-28T10:19:52","slug":"developper-un-plugin-de-qualite-la-methode-wp-rocket","status":"publish","type":"post","link":"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/","title":{"rendered":"D\u00e9velopper un plugin de qualit\u00e9 : la m\u00e9thode WP&nbsp;Rocket"},"content":{"rendered":"<p>Bien que WP Rocket soit r\u00e9guli\u00e8rement recommand\u00e9 par les experts WordPress comme \u00e9tant LE plugin de cache le plus performant, ce succ\u00e8s ne s&rsquo;est certainement pas concr\u00e9tis\u00e9 du jour au lendemain. Au contraire, le d\u00e9veloppement d&rsquo;un plugin de qualit\u00e9 est un travail continu men\u00e9 de front par nos \u00e9quipes.<\/p><p>Sachant que 1 500 000 sites Web utilisent notre extension, r\u00e9pondre aux attentes de l\u2019ensemble de nos utilisateurs n&rsquo;est pas une mince affaire. Notre secret ? Nos d\u00e9veloppeurs ! Ce sont eux qui prennent en charge chaque am\u00e9lioration produit, chaque bugfix. Nous ne serions certainement pas l\u00e0 o\u00f9 nous sommes aujourd\u2019hui sans eux.&nbsp;<\/p><p>C\u2019est pourquoi il nous paraissait important aujourd\u2019hui de mettre en lumi\u00e8re le travail de nos d\u00e9veloppeurs. Nous avons parl\u00e9 avec R\u00e9my Perona, notre <em>Engineering manager<\/em>, pour en savoir plus sur l\u2019\u00e9quipe, son fonctionnement et ses projets pass\u00e9s et \u00e0 venir.<\/p><h2 class=\"wp-block-heading\">Les d\u00e9veloppeurs, au coeur du plugin WP Rocket<\/h2><p>L\u2019aventure WP Rocket a commenc\u00e9 en 2013. Depuis, nous sommes pass\u00e9s d&rsquo;une \u00e9quipe de 3 \u00e0 une entreprise de plus de 35 personnes au service d&rsquo;un million de sites Web. Et notre plugin aussi a \u00e9volu\u00e9 !&nbsp;<\/p><p>Pour s\u2019assurer que notre produit tienne toutes ses promesses et permette \u00e0 chacun d\u2019obtenir un site plus rapide, notre \u00e9quipe de d\u00e9veloppeurs travaille tambour battant. <strong>Qui sont-ils et que font-ils exactement ? Nous vous proposons de le d\u00e9couvrir ! Et non, ils ne font pas que coder !<\/strong><\/p><p>Notre \u00e9quipe s&rsquo;est agrandie au fil du temps, et est maintenant organis\u00e9e comme suit :&nbsp;<\/p><ul class=\"wp-block-list\"><li>Nos ing\u00e9nieurs sont au nombre de 4 : R\u00e9my, Caspar, Cristina, Ahmed. Et bient\u00f4t, deux nouveaux membres viendront s&rsquo;ajouter \u00e0 l&rsquo;\u00e9quipe. Ils sont responsables de tout le d\u00e9veloppement des produits.<\/li>\n\n<li>Mai et Piotr sont nos deux Quality Assurance Analysts qui testent la qualit\u00e9 du produit.&nbsp;<\/li>\n\n<li>Enfin, Albert est notre DevOps, en charge de toute notre infrastructure SaaS\/IT.<\/li><\/ul><p>Ensemble, cette \u00e9quipe de choc donne vie aux id\u00e9es de l&rsquo;\u00e9quipe Produit pour concevoir un plugin d\u2019exception qui acc\u00e9l\u00e8re les sites web. <strong>Nos d\u00e9veloppeurs ne se contentent pas de pr\u00e9server la qualit\u00e9 de notre produit, ils s&rsquo;efforcent en permanence d&rsquo;en am\u00e9liorer la performance.<\/strong> Ce souci d&rsquo;excellence implique d&rsquo;identifier les opportunit\u00e9s d&rsquo;am\u00e9lioration et de s&rsquo;y atteler, ce qui est exactement ce que nous avons fait en 2020.<\/p><h2 class=\"wp-block-heading\">2020, l\u2019ann\u00e9e des grands changements<\/h2><p>Last year, like every year, was a busy year for our dev team who worked on bringing eagerly awaited enhancements to our plugin. But 2020 was especially packed: we also implemented many changes, in both our development and release processes. Let\u2019s dive in.<\/p><p>L&rsquo;ann\u00e9e derni\u00e8re a \u00e9t\u00e9 une ann\u00e9e charg\u00e9e pour notre \u00e9quipe de dev qui a apport\u00e9 \u00e0 notre plugin de nombreuses am\u00e9liorations tr\u00e8s attendues. Nous avons \u00e9galement mis en \u0153uvre des changements dans nos processus de d\u00e9veloppement et de lancement de nouvelles versions.&nbsp;<\/p><h3 class=\"wp-block-heading\">Les r\u00e9alisations de 2020<\/h3><p>Pour continuer \u00e0 \u00eatre le leader de la performance web, nous avons d\u00e9velopp\u00e9 les fonctionnalit\u00e9s suivantes :&nbsp;<\/p><ul class=\"wp-block-list\"><li>RocketCDN<\/li><\/ul><p>En d\u00e9but d&rsquo;ann\u00e9e derni\u00e8re, nous avons sorti notre propre CDN : RocketCDN, un service directement int\u00e9gr\u00e9 \u00e0 WP Rocket. Nous savions qu&rsquo;un grand nombre de nos utilisateurs avaient une audience internationale et qu&rsquo;un CDN serait utile pour am\u00e9liorer leurs performances web. Avec sa configuration facile et sa compatibilit\u00e9 optimis\u00e9e avec WP Rocket, notre CDN est rapidement devenu un outil essentiel.&nbsp;<\/p><ul class=\"wp-block-list\"><li>Critical Path CSS pour des pages sp\u00e9cifiques<\/li><\/ul><p>Avec WP Rocket 3.6, notre option <em>Optimiser le chargement du CSS<\/em> est devenue encore plus efficace car vous pouvez d\u00e9sormais obtenir un Critical Path CSS pr\u00e9cis et personnalis\u00e9 sur chacune des pages de votre site. Cette fonctionnalit\u00e9 a permis aux utilisateurs de <strong>g\u00e9n\u00e9rer facilement le Critical Path CSS pour une page particuli\u00e8re en fonction de vos besoins, plut\u00f4t que d&rsquo;appliquer le m\u00eame CPCSS sur chaque page<\/strong>. Cette option a permis de <strong>supprimer une bonne fois pour toutes l\u2019avertissement de blocage du rendu dans PageSpeed.<\/strong><\/p><ul class=\"wp-block-list\"><li>Report de l\u2019ex\u00e9cution JavaScript<\/li><\/ul><p>WP Rocket 3.7 est dot\u00e9 d&rsquo;une fonctionnalit\u00e9 qui am\u00e9liore consid\u00e9rablement le score PageSpeed, le temps de chargement et la vitesse per\u00e7ue d&rsquo;un site Web : le report d&rsquo;ex\u00e9cution&nbsp; JavaScript. L&rsquo;id\u00e9e derri\u00e8re cette nouveaut\u00e9 est que tous les scripts ne sont pas forc\u00e9ment n\u00e9cessaires pour le rendu de la page initiale et que le fait de les retarder peut am\u00e9liorer le temps de chargement.<\/p><h3 class=\"wp-block-heading\">Changer notre fa\u00e7on de travailler<\/h3><p>De la m\u00eame mani\u00e8re que nous essayons toujours d&rsquo;am\u00e9liorer notre plugin, nous essayons \u00e9galement d\u2019am\u00e9liorer notre fa\u00e7on de travailler. Pourquoi ? <strong>Parce que la fa\u00e7on dont nous travaillons a un impact sur la qualit\u00e9 de notre produit. <\/strong>Dans ce domaine, le grand changement de 2020 a \u00e9t\u00e9 le passage \u00e0 la m\u00e9thode Scrum. Avant de voir ce que cela veut dire concr\u00e8tement, d\u00e9couvrons d\u2019abord comment nous d\u00e9veloppons une nouvelle fonctionnalit\u00e9.<\/p><h4 class=\"wp-block-heading\">Comprendre l&rsquo;utilisateur<\/h4><p>Avant toute chose, <strong>comment d\u00e9cide-t-on d&rsquo;apporter une am\u00e9lioration \u00e0 notre plugin ?<\/strong> La r\u00e9ponse n&rsquo;est pas si simple et nous prenons en compte diff\u00e9rents \u00e9l\u00e9ments. La chose la plus importante pour nous est d<strong>&lsquo;\u00e9couter ce que veulent nos utilisateurs<\/strong>. R\u00e9my explique d\u2019ailleurs que la cl\u00e9 pour \u00eatre un bon d\u00e9veloppeur est de comprendre et de r\u00e9pondre aux attentes des clients.<\/p><p>Puisque nous faisons \u00e9voluer notre produit au gr\u00e9 des besoins de nos utilisateurs, il est <strong>essentiel pour nous d\u2019avoir leurs retours<\/strong>. Pour ce faire, nous disposons de diff\u00e9rentes options. Nous enregistrons les commentaires de nos clients par le biais de Helpscout (notre plateforme de gestion des tickets) et par e-mail. Nous nous appuyons \u00e9galement sur Trustpilot, la plateforme d\u00e9di\u00e9e aux avis des clients, pour \u00e9couter ce qui se dit sur notre produit. En plus de cela, nous encourageons nos utilisateurs \u00e0 <strong>sugg\u00e9rer des am\u00e9liorations du produit gr\u00e2ce \u00e0 notre bo\u00eete \u00e0 id\u00e9es<\/strong>. Il y a trois ans, nous avons \u00e9galement mis en place des enqu\u00eates satisfaction annuelles aupr\u00e8s des clients apr\u00e8s chaque nouvelle version majeure. Tous ces \u00e9l\u00e9ments r\u00e9unis nous aident \u00e0 mieux comprendre les pr\u00e9occupations et enjeux de nos utilisateurs, ainsi que les points sur lesquels nous devons travailler.<\/p><h4 class=\"wp-block-heading\">Hi\u00e9rarchiser les t\u00e2ches<\/h4><p>Chaque bug ou suggestion d\u2019am\u00e9lioration passe d\u00e9sormais par un processus appel\u00e9 \u00ab\u00a0backlog grooming\u00a0\u00bb. Ce processus implique que nous soyons capable de reproduire le probl\u00e8me, d&rsquo;en trouver la cause, de proposer une solution et d&rsquo;estimer le temps n\u00e9cessaire pour l&rsquo;appliquer.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1878\" height=\"1044\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/05\/Capture-de\u0301cran-2021-03-01-a\u0300-17.57.00.png\" alt=\"\" class=\"wp-image-4340421\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/05\/Capture-de\u0301cran-2021-03-01-a\u0300-17.57.00.png 1878w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/05\/Capture-de\u0301cran-2021-03-01-a\u0300-17.57.00-310x172.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/05\/Capture-de\u0301cran-2021-03-01-a\u0300-17.57.00-768x427.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/05\/Capture-de\u0301cran-2021-03-01-a\u0300-17.57.00-108x60.png 108w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/05\/Capture-de\u0301cran-2021-03-01-a\u0300-17.57.00-162x90.png 162w\" sizes=\"(max-width: 1878px) 100vw, 1878px\" \/><figcaption class=\"wp-element-caption\">Un exemple de notre processus de \u00ab\u00a0grooming\u00a0\u00bb<\/figcaption><\/figure><p class=\"has-small-font-size\" style=\"line-height:0\"><\/p><p>Bien entendu, nous ne pouvons pas effectuer tous les changements demand\u00e9s sur les champ et simultan\u00e9ment. Une fois que nous avons identifi\u00e9 les probl\u00e8mes et leurs m\u00e9thodes de r\u00e9solution, nous d\u00e9finissons donc des priorit\u00e9s. C&rsquo;est \u00e0 ce moment-l\u00e0 que n<strong>os \u00e9quipes Produit, Support et D\u00e9veloppement se concertent pour d\u00e9finir ensemble les prochains \u00e9l\u00e9ments sur lesquels travailler.<\/strong> L&rsquo;\u00e9quipe Produit partage sa vision globale du produit. L&rsquo;\u00e9quipe Support fournit des informations sur les attentes des clients et sur les fonctionnalit\u00e9s les plus importantes pour eux. L&rsquo;\u00e9quipe D\u00e9veloppement fait des suggestions et \u00e9value la charge de travail des d\u00e9veloppeurs. Ensemble, ils <strong>d\u00e9cident de la hi\u00e9rarchie des t\u00e2ches<\/strong> et de la feuille de route. Les petites corrections sont ajout\u00e9es \u00e0 une version mineure, tandis que les am\u00e9liorations plus importantes sont d\u00e9ploy\u00e9es dans le cadre d&rsquo;une version majeure.<\/p><h4 class=\"wp-block-heading\">Planifier le sprint<\/h4><p>Une fois que nous savons sur quoi travailler, nous pouvons commencer \u00e0 planifier nos sprints. Un sprint est une p\u00e9riode de deux semaines au cours de laquelle l&rsquo;\u00e9quipe travaille \u00e0 la r\u00e9alisation d&rsquo;une liste de t\u00e2ches d\u00e9termin\u00e9e.<strong> <\/strong>En 2020, nous avons commenc\u00e9 \u00e0 d\u00e9velopper de nouvelles fonctionnalit\u00e9s en passant <strong>\u00e0 la m\u00e9thodologie Scrum. Cette nouvelle fa\u00e7on de proc\u00e9der nous a permis de mieux structurer et organiser l&rsquo;ensemble de notre d\u00e9veloppement. Nous savons \u00e0 l&rsquo;avance sur quoi nous allons travailler chaque sprint.<\/strong><\/p><p>Chacun de nos sprints s&rsquo;organise comme suit :&nbsp;<\/p><ul class=\"wp-block-list\"><li>La liste des t\u00e2ches \u00e0 accomplir est ajout\u00e9e \u00e0 un project board dans Github.<\/li>\n\n<li>Chaque d\u00e9veloppeur choisit la fonctionnalit\u00e9 sur laquelle il veut travailler dans la liste.<\/li>\n\n<li>Une fois la fonctionnalit\u00e9 d\u00e9velopp\u00e9e, elle passe en revue.<\/li>\n\n<li>Notre \u00e9quipe de QA teste la fonctionnalit\u00e9.<\/li>\n\n<li>Si la fonctionnalit\u00e9 est valid\u00e9e par nos Quality Assurance Analysts, elle est plac\u00e9e dans la release queue.&nbsp;<\/li>\n\n<li>Dans le cas contraire, elle est renvoy\u00e9e aux d\u00e9veloppeurs pour un nouveau cycle jusqu&rsquo;\u00e0 ce qu&rsquo;elle soit valid\u00e9e.<\/li><\/ul><p><strong>Chaque sprint, avec ses phases de test et validation, nous permet de v\u00e9rifier que la nouvelle fonctionnalit\u00e9 am\u00e9liore r\u00e9ellement le produit et n&rsquo;entra\u00eene aucune r\u00e9gression<\/strong>. Une r\u00e9gression, c&rsquo;est lorsqu&rsquo;une nouvelle version g\u00e9n\u00e8re un bug qui n&rsquo;existait pas auparavant. Nous avons pour <strong>objectif d&rsquo;atteindre 0 r\u00e9gression<\/strong> \u00e0 chaque version et nous y sommes presque. Apr\u00e8s le lancement d&rsquo;une version majeure nous ne recevons presque plus de tickets concernant de nouveaux bugs : les tickets concernent surtout des probl\u00e8mes de compatibilit\u00e9.<\/p><p>Dans l&rsquo;ensemble, le passage \u00e0 la m\u00e9thodologie Scrum nous a non seulement aid\u00e9 \u00e0 d\u00e9ployer de meilleures versions avec moins de bug, mais aussi \u00e0 lancer davantage de versions sur l\u2019ann\u00e9e : nous avons sorti 4 versions majeures en 2020, contre 2 l&rsquo;ann\u00e9e pr\u00e9c\u00e9dente.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2016\" height=\"1128\" src=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/05\/Capture-de\u0301cran-2021-02-23-a\u0300-10.31.44.png\" alt=\"\" class=\"wp-image-4340429\" srcset=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/05\/Capture-de\u0301cran-2021-02-23-a\u0300-10.31.44.png 2016w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/05\/Capture-de\u0301cran-2021-02-23-a\u0300-10.31.44-310x173.png 310w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/05\/Capture-de\u0301cran-2021-02-23-a\u0300-10.31.44-768x430.png 768w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/05\/Capture-de\u0301cran-2021-02-23-a\u0300-10.31.44-107x60.png 107w, https:\/\/wp-rocket.me\/wp-content\/uploads\/2022\/05\/Capture-de\u0301cran-2021-02-23-a\u0300-10.31.44-161x90.png 161w\" sizes=\"(max-width: 2016px) 100vw, 2016px\" \/><figcaption class=\"wp-element-caption\">Ce \u00e0 quoi ressemble un sprint<\/figcaption><\/figure><p class=\"has-small-font-size\" style=\"line-height:0\"><\/p><h4 class=\"wp-block-heading\">D\u00e9ployer une fonctionnalit\u00e9<\/h4><p><br>Une fois qu&rsquo;une fonctionnalit\u00e9 a \u00e9t\u00e9 d\u00e9velopp\u00e9e, test\u00e9e et valid\u00e9e, elle peut \u00eatre d\u00e9ploy\u00e9e. Les versions mineures sont d\u00e9ploy\u00e9es imm\u00e9diatement, tandis que les versions majeures passent par ce que l&rsquo;on appelle une <strong>\u00ab\u00a0staggered release\u00a0\u00bb (d\u00e9ploiement progressif).<\/strong>De quoi s&rsquo;agit-il ? Un <strong>d\u00e9ploiement progressif <\/strong>signifie que nous commen\u00e7ons \u00e0 d\u00e9ployer une nouvelle version aupr\u00e8s d&rsquo;un petit pourcentage de clients seulement (g\u00e9n\u00e9ralement 10 % d&rsquo;entre eux). Si nous nous rendons compte qu&rsquo;il y a un bug, nous le corrigeons et d\u00e9ployons la version corrig\u00e9e \u00e0 ces m\u00eames personnes. Nous augmentons lentement le pourcentage de clients jour apr\u00e8s jour, jusqu&rsquo;\u00e0 ce que la nouvelle version soit disponible \u00e0 tous. Ce d\u00e9ploiement progressif prend g\u00e9n\u00e9ralement une semaine. Cette m\u00e9thode permet de d\u00e9ployer des nouvelles versions de mani\u00e8re plus responsable avec un niveau de s\u00e9curit\u00e9 suppl\u00e9mentaire : nous ne d\u00e9ployons les nouvelles options \u00e0 tous si nous sommes certains que les modifications apport\u00e9es ne cr\u00e9ent aucun bug suppl\u00e9mentaire.<\/p><h2 class=\"wp-block-heading\">Quoi de pr\u00e9vu pour 2021 ?<\/h2><p>Les changements que nous avons apport\u00e9s en 2020 ont grandement am\u00e9lior\u00e9 notre processus de d\u00e9veloppement ainsi que la fiabilit\u00e9 de chaque version. <strong>Le but pour 2021 est de s&rsquo;appuyer sur cette assise pour augmenter encore et toujours la qualit\u00e9 de notre plugin.&nbsp;<\/strong><\/p><p>La plupart des am\u00e9liorations apport\u00e9es \u00e0 nos produits en 2021 seront \u00e9troitement li\u00e9es \u00e0 la mise \u00e0 jour de Google et aux Core Web Vitals. Nous ajouterons \u00e0 notre plugin des am\u00e9liorations tr\u00e8s attendues qui auront un impact positif sur votre score PageSpeed Insights. Alors, vous avez une id\u00e9e de ce que cela pourrait bien \u00eatre ?<\/p>","protected":false},"excerpt":{"rendered":"<p>Cr\u00e9er un plugin de qualit\u00e9 est un travail continu men\u00e9 de front par nos \u00e9quipes. D\u00e9couvrez les coulisses de d\u00e9veloppement de notre extension !<\/p>\n","protected":false},"author":184307,"featured_media":3123809,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"kia_subtitle":"","footnotes":""},"categories":[76],"tags":[],"class_list":["post-3334688","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-coulisses-wp-rocket"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>D\u00e9velopper un plugin de qualit\u00e9 : la m\u00e9thode WP Rocket<\/title>\n<meta name=\"description\" content=\"Cr\u00e9er un plugin de qualit\u00e9 est un travail continu men\u00e9 de front par nos \u00e9quipes. D\u00e9couvrez les coulisses de d\u00e9veloppement de notre extension !\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"D\u00e9velopper un plugin de qualit\u00e9 : la m\u00e9thode WP Rocket\" \/>\n<meta property=\"og:description\" content=\"Cr\u00e9er un plugin de qualit\u00e9 est un travail continu men\u00e9 de front par nos \u00e9quipes. D\u00e9couvrez les coulisses de d\u00e9veloppement de notre extension !\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/\" \/>\n<meta property=\"og:site_name\" content=\"WP Rocket\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pages\/WP-Rocket\/631942253526829\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-04T11:45:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-28T10:19:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/03\/Developing-a-great-plugin.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1100\" \/>\n\t<meta property=\"og:image:height\" content=\"460\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Caroline Wood\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@wp_rocket\" \/>\n<meta name=\"twitter:site\" content=\"@wp_rocket\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Caroline Wood\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture est.\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/\"},\"author\":{\"name\":\"Caroline Wood\",\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/person\/a82dcf7a40b8ca43f9b02ed10dcf4254\"},\"headline\":\"D\u00e9velopper un plugin de qualit\u00e9 : la m\u00e9thode WP&nbsp;Rocket\",\"datePublished\":\"2021-05-04T11:45:35+00:00\",\"dateModified\":\"2024-06-28T10:19:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/\"},\"wordCount\":1895,\"publisher\":{\"@id\":\"https:\/\/wp-rocket.me\/#organization\"},\"image\":{\"@id\":\"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/03\/Developing-a-great-plugin.png\",\"articleSection\":[\"Les coulisses de WP Rocket\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/\",\"url\":\"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/\",\"name\":\"D\u00e9velopper un plugin de qualit\u00e9 : la m\u00e9thode WP Rocket\",\"isPartOf\":{\"@id\":\"https:\/\/wp-rocket.me\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/03\/Developing-a-great-plugin.png\",\"datePublished\":\"2021-05-04T11:45:35+00:00\",\"dateModified\":\"2024-06-28T10:19:52+00:00\",\"description\":\"Cr\u00e9er un plugin de qualit\u00e9 est un travail continu men\u00e9 de front par nos \u00e9quipes. D\u00e9couvrez les coulisses de d\u00e9veloppement de notre extension !\",\"breadcrumb\":{\"@id\":\"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/#primaryimage\",\"url\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/03\/Developing-a-great-plugin.png\",\"contentUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/03\/Developing-a-great-plugin.png\",\"width\":1100,\"height\":460,\"caption\":\"How Our Development Team is Building a Great Plugin\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/wp-rocket.me\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Les coulisses de WP Rocket\",\"item\":\"https:\/\/wp-rocket.me\/fr\/blog\/coulisses-wp-rocket\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"D\u00e9velopper un plugin de qualit\u00e9 : la m\u00e9thode WP Rocket\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wp-rocket.me\/#website\",\"url\":\"https:\/\/wp-rocket.me\/\",\"name\":\"WP Rocket\",\"description\":\"Plugin d&#039;optimisation de sites WordPress\",\"publisher\":{\"@id\":\"https:\/\/wp-rocket.me\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wp-rocket.me\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/wp-rocket.me\/#organization\",\"name\":\"WP Rocket\",\"url\":\"https:\/\/wp-rocket.me\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/logo-wp-rocket-paypal-2.png\",\"contentUrl\":\"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/logo-wp-rocket-paypal-2.png\",\"width\":150,\"height\":41,\"caption\":\"WP Rocket\"},\"image\":{\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/pages\/WP-Rocket\/631942253526829\",\"https:\/\/x.com\/wp_rocket\",\"https:\/\/www.youtube.com\/channel\/UC1ozThXHd1IWIZ5wkshgp_Q\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/person\/a82dcf7a40b8ca43f9b02ed10dcf4254\",\"name\":\"Caroline Wood\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/wp-rocket.me\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7aa298514ce4925b5fa716bbffc71cc4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7aa298514ce4925b5fa716bbffc71cc4?s=96&d=mm&r=g\",\"caption\":\"Caroline Wood\"},\"description\":\"Caroline is the brand content and communication specialist at WP Rocket. With a background in marketing, she loves getting creative with words as a way of connecting with people. When she isn\u2019t writing, you\u2019ll be sure to find her at the beach.\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"D\u00e9velopper un plugin de qualit\u00e9 : la m\u00e9thode WP Rocket","description":"Cr\u00e9er un plugin de qualit\u00e9 est un travail continu men\u00e9 de front par nos \u00e9quipes. D\u00e9couvrez les coulisses de d\u00e9veloppement de notre extension !","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/","og_locale":"fr_FR","og_type":"article","og_title":"D\u00e9velopper un plugin de qualit\u00e9 : la m\u00e9thode WP Rocket","og_description":"Cr\u00e9er un plugin de qualit\u00e9 est un travail continu men\u00e9 de front par nos \u00e9quipes. D\u00e9couvrez les coulisses de d\u00e9veloppement de notre extension !","og_url":"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/","og_site_name":"WP Rocket","article_publisher":"https:\/\/www.facebook.com\/pages\/WP-Rocket\/631942253526829","article_published_time":"2021-05-04T11:45:35+00:00","article_modified_time":"2024-06-28T10:19:52+00:00","og_image":[{"width":1100,"height":460,"url":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/03\/Developing-a-great-plugin.png","type":"image\/png"}],"author":"Caroline Wood","twitter_card":"summary_large_image","twitter_creator":"@wp_rocket","twitter_site":"@wp_rocket","twitter_misc":{"\u00c9crit par":"Caroline Wood","Dur\u00e9e de lecture est.":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/#article","isPartOf":{"@id":"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/"},"author":{"name":"Caroline Wood","@id":"https:\/\/wp-rocket.me\/#\/schema\/person\/a82dcf7a40b8ca43f9b02ed10dcf4254"},"headline":"D\u00e9velopper un plugin de qualit\u00e9 : la m\u00e9thode WP&nbsp;Rocket","datePublished":"2021-05-04T11:45:35+00:00","dateModified":"2024-06-28T10:19:52+00:00","mainEntityOfPage":{"@id":"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/"},"wordCount":1895,"publisher":{"@id":"https:\/\/wp-rocket.me\/#organization"},"image":{"@id":"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/#primaryimage"},"thumbnailUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/03\/Developing-a-great-plugin.png","articleSection":["Les coulisses de WP Rocket"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/","url":"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/","name":"D\u00e9velopper un plugin de qualit\u00e9 : la m\u00e9thode WP Rocket","isPartOf":{"@id":"https:\/\/wp-rocket.me\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/#primaryimage"},"image":{"@id":"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/#primaryimage"},"thumbnailUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/03\/Developing-a-great-plugin.png","datePublished":"2021-05-04T11:45:35+00:00","dateModified":"2024-06-28T10:19:52+00:00","description":"Cr\u00e9er un plugin de qualit\u00e9 est un travail continu men\u00e9 de front par nos \u00e9quipes. D\u00e9couvrez les coulisses de d\u00e9veloppement de notre extension !","breadcrumb":{"@id":"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/#primaryimage","url":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/03\/Developing-a-great-plugin.png","contentUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/2021\/03\/Developing-a-great-plugin.png","width":1100,"height":460,"caption":"How Our Development Team is Building a Great Plugin"},{"@type":"BreadcrumbList","@id":"https:\/\/wp-rocket.me\/fr\/blog\/developper-un-plugin-de-qualite-la-methode-wp-rocket\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/wp-rocket.me\/fr\/"},{"@type":"ListItem","position":2,"name":"Les coulisses de WP Rocket","item":"https:\/\/wp-rocket.me\/fr\/blog\/coulisses-wp-rocket\/"},{"@type":"ListItem","position":3,"name":"D\u00e9velopper un plugin de qualit\u00e9 : la m\u00e9thode WP Rocket"}]},{"@type":"WebSite","@id":"https:\/\/wp-rocket.me\/#website","url":"https:\/\/wp-rocket.me\/","name":"WP Rocket","description":"Plugin d&#039;optimisation de sites WordPress","publisher":{"@id":"https:\/\/wp-rocket.me\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wp-rocket.me\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/wp-rocket.me\/#organization","name":"WP Rocket","url":"https:\/\/wp-rocket.me\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/wp-rocket.me\/#\/schema\/logo\/image\/","url":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/logo-wp-rocket-paypal-2.png","contentUrl":"https:\/\/wp-rocket.me\/wp-content\/uploads\/1\/logo-wp-rocket-paypal-2.png","width":150,"height":41,"caption":"WP Rocket"},"image":{"@id":"https:\/\/wp-rocket.me\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pages\/WP-Rocket\/631942253526829","https:\/\/x.com\/wp_rocket","https:\/\/www.youtube.com\/channel\/UC1ozThXHd1IWIZ5wkshgp_Q"]},{"@type":"Person","@id":"https:\/\/wp-rocket.me\/#\/schema\/person\/a82dcf7a40b8ca43f9b02ed10dcf4254","name":"Caroline Wood","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/wp-rocket.me\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7aa298514ce4925b5fa716bbffc71cc4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7aa298514ce4925b5fa716bbffc71cc4?s=96&d=mm&r=g","caption":"Caroline Wood"},"description":"Caroline is the brand content and communication specialist at WP Rocket. With a background in marketing, she loves getting creative with words as a way of connecting with people. When she isn\u2019t writing, you\u2019ll be sure to find her at the beach."}]}},"_links":{"self":[{"href":"https:\/\/wp-rocket.me\/fr\/wp-json\/wp\/v2\/posts\/3334688"}],"collection":[{"href":"https:\/\/wp-rocket.me\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp-rocket.me\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp-rocket.me\/fr\/wp-json\/wp\/v2\/users\/184307"}],"replies":[{"embeddable":true,"href":"https:\/\/wp-rocket.me\/fr\/wp-json\/wp\/v2\/comments?post=3334688"}],"version-history":[{"count":0,"href":"https:\/\/wp-rocket.me\/fr\/wp-json\/wp\/v2\/posts\/3334688\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wp-rocket.me\/fr\/wp-json\/wp\/v2\/media\/3123809"}],"wp:attachment":[{"href":"https:\/\/wp-rocket.me\/fr\/wp-json\/wp\/v2\/media?parent=3334688"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp-rocket.me\/fr\/wp-json\/wp\/v2\/categories?post=3334688"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp-rocket.me\/fr\/wp-json\/wp\/v2\/tags?post=3334688"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}