{"id":292194,"date":"2013-12-07T12:12:23","date_gmt":"2013-12-07T11:12:23","guid":{"rendered":"https:\/\/2014.paris.wordcamp.org\/?post_type=wcb_session&#038;p=292194"},"modified":"2014-07-16T10:51:10","modified_gmt":"2014-07-16T08:51:10","slug":"publier-une-extension-pourquoi-et-comment","status":"publish","type":"wcb_session","link":"https:\/\/paris.wordcamp.org\/2014\/session\/publier-une-extension-pourquoi-et-comment\/","title":{"rendered":"Publier une extension, pourquoi et comment ?"},"content":{"rendered":"<p>WordPress est un outil particuli\u00e8rement accessible : en terme d&rsquo;ergonomie, de prise en main pour l&rsquo;utilisateur\/rice. Pour ce qui est des d\u00e9veloppeurs et d\u00e9veloppeuses, la documentation bien touffue qu&rsquo;est le codex et l&rsquo;utilisation de grands standards du Web (PHP, MySQL, CSS, jQuery&#8230;) en font en plus un cadre de travail tr\u00e8s agr\u00e9able et optimis\u00e9 pour le co-d\u00e9veloppement.<\/p>\n<p>Dans la plupart des cas, en 3 clics, un th\u00e8me enfant est cr\u00e9\u00e9, et si il y a un besoin sp\u00e9cifique : une extension fera l&rsquo;affaire. On a bien profit\u00e9 du syst\u00e8me open-source communautaire pour s&rsquo;\u00e9conomiser du temps de d\u00e9veloppement.<\/p>\n<p><strong>Et si la d\u00e9marche pouvait \u00eatre autre ?<\/strong><br \/>\nD\u00e9j\u00e0, fallait il \u00ab vraiment \u00bb cr\u00e9er une extension ? La fonctionnalit\u00e9 recherch\u00e9e n&rsquo;existait elle pas d\u00e9j\u00e0 ? Peut \u00eatre qu&rsquo;un addon de plugin suffirait ? une grosse partie serait d\u00e9j\u00e0 en place et \u00e9prouv\u00e9e par la communaut\u00e9. Une fois r\u00e9pondu \u00e0 ces questions, si l&rsquo;id\u00e9e initiale comble un vrai manque, il faut donc la d\u00e9velopper, mais pourquoi la publier?<\/p>\n<p><strong>Les inconv\u00e9nients<\/strong><br \/>\nAu premier abord, cela semble contraignant, il faut pr\u00e9voir les traductions, \u00e9viter les mauvaises habitudes \u00e0 la \u00ab\u00a0je fais \u00e7a vite fait, et on verra\u00a0\u00bb&#8230; et donc cela prend plus de temps. En fait, publier apporte beaucoup plus d&rsquo;avantages que de contraintes.<\/p>\n<p><strong>Les avantages<\/strong><br \/>\nLe cot\u00e9 altruiste :<\/p>\n<ul>\n<li>Par \u00e9thique, cela pourra servir a d&rsquo;autres et laisse bonne conscience.<\/li>\n<li>Pour apporter sa pierre a l&rsquo;\u00e9difice WordPress.<\/li>\n<\/ul>\n<p>le cot\u00e9 \u00e9go\u00efste (encore que):<\/p>\n<ul>\n<li>Cela oblige a faire un code propre, en \u00e9vitant les commentaires inutiles, les PHP warnings divers. le travail fournit pour publication est de meilleure qualit\u00e9.<\/li>\n<li>L\u2019\u00e9quipe de validation \u00e9vite les grosses erreurs.<\/li>\n<li>Cela permet de passer son d\u00e9veloppement sur un site en production par l&rsquo;installateur int\u00e9gr\u00e9, sans besoin de FTP, surtout pratique pour appliquer des mise \u00e0 jours sur plusieurs sites.<\/li>\n<li>D&rsquo;autres regardent ! Ce la fait des remont\u00e9es de bugs, ou peut \u00eatre m\u00eame des contributions ou am\u00e9liorations<\/li>\n<\/ul>\n<p><strong> Alors comment proc\u00e8de t-on ?<\/strong><br \/>\nLes bonnes pratiques<\/p>\n<ul>\n<li>Comme l&rsquo;extension pourra se retrouver dans beaucoup d\u2019environnements diff\u00e9rents, il y a des cas de figure tr\u00e8s pr\u00e9cis ou une grande souplesse.<\/li>\n<li>Coder clairement et proprement : le code doit \u00eatre utilisable par n&rsquo;importe qui.<\/li>\n<li>Le code doit \u00eatre compatible avec WordPress, la licence GPL<\/li>\n<\/ul>\n<p><strong> La boite \u00e0 outils<\/strong><\/p>\n<ul>\n<li>Utiliser au maximum l&rsquo;existant : Class et APIWordPress, Extensions \u00e0 forte communaut\u00e9.<\/li>\n<li>Optionnel, la localisation avec textdomain et poedit<\/li>\n<li>Incontournable, Le fichier readme.txt,<\/li>\n<li>WordPress.org et la soumission de plugins.<\/li>\n<li>Les outils de SVN.<\/li>\n<\/ul>\n<h3>Pr\u00e9sentation :<\/h3>\n<p><a href=\"https:\/\/2014.paris.wordcamp.org\/files\/2013\/12\/wordcampparis2014-bastienho-publieruneextensionpourquoicomment.pdf\">Publier une extension : pourquoi, comment ? (pdf)<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress est un outil particuli\u00e8rement accessible : en terme d&rsquo;ergonomie, de prise en main pour l&rsquo;utilisateur\/rice. Pour ce qui est des d\u00e9veloppeurs et d\u00e9veloppeuses, la documentation bien touffue qu&rsquo;est le codex et l&rsquo;utilisation de grands standards du Web (PHP, MySQL, CSS, jQuery&#8230;) en font en plus un cadre de travail tr\u00e8s agr\u00e9able et optimis\u00e9 pour &hellip; <a href=\"https:\/\/paris.wordcamp.org\/2014\/session\/publier-une-extension-pourquoi-et-comment\/\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Publier une extension, pourquoi et comment ?<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1792440,"featured_media":0,"template":"","meta":{"_crdt_document":"","jetpack_post_was_ever_published":false,"_wcpt_session_time":1390032000,"_wcpt_session_duration":3000,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[292155],"footnotes":""},"session_track":[215872],"session_category":[],"class_list":["post-292194","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-ateliers"],"jetpack_sharing_enabled":true,"session_date_time":{"date":"samedi 18 janvier 2014","time":"09:00"},"session_speakers":[{"id":"292155","slug":"bastien-ho","name":"Bastien Ho","link":"https:\/\/paris.wordcamp.org\/2014\/speaker\/bastien-ho\/"}],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/paris.wordcamp.org\/2014\/wp-json\/wp\/v2\/sessions\/292194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/paris.wordcamp.org\/2014\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/paris.wordcamp.org\/2014\/wp-json\/wp\/v2\/types\/wcb_session"}],"author":[{"embeddable":true,"href":"https:\/\/paris.wordcamp.org\/2014\/wp-json\/wp\/v2\/users\/1792440"}],"version-history":[{"count":6,"href":"https:\/\/paris.wordcamp.org\/2014\/wp-json\/wp\/v2\/sessions\/292194\/revisions"}],"predecessor-version":[{"id":952040,"href":"https:\/\/paris.wordcamp.org\/2014\/wp-json\/wp\/v2\/sessions\/292194\/revisions\/952040"}],"speakers":[{"embeddable":true,"href":"https:\/\/paris.wordcamp.org\/2014\/wp-json\/wp\/v2\/speakers\/292155"}],"wp:attachment":[{"href":"https:\/\/paris.wordcamp.org\/2014\/wp-json\/wp\/v2\/media?parent=292194"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/paris.wordcamp.org\/2014\/wp-json\/wp\/v2\/session_track?post=292194"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/paris.wordcamp.org\/2014\/wp-json\/wp\/v2\/session_category?post=292194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}