 J'ai été très content d'être là ce matin. Le World Camp, ça fait plusieurs années que je suis ici. J'ai commencé comme participant. Depuis plusieurs années, je suis présent. Une des raisons pour laquelle je m'implique, c'est pour ce qu'on appelle le retour sur investissement. Ce que je veux dire par là, c'est que, à la base, vous allez voir aussi la partie spirituelle de la présentation. Je crois beaucoup au fait qu'à toutes les fois quelqu'un qui donne, il y a quelqu'un qui reçoit. Au début, quand j'ai commencé à m'impliquer, c'était uniquement comme participant. J'étais assez à votre place et j'écoutais les présentations. Après ça, je me suis dit que je pourrais redonner. Avec les années, je me suis rendu compte que l'argent que j'avais investi en World Camp, ça m'était revenu au centuple. En fait, je me suis présenté au premier World Camp en 2011. Il y avait une activité où on pouvait prendre la crème glacée gratuitement. On s'est assumé à jaser avec les gens qui étaient là dans la foule. C'est là que j'ai rencontré Jean-François Arsenault, qui est aujourd'hui mon associé et le co-fondateur de satellite WVP, la compagnie pour laquelle on travaille. Plus tard, en 2014, là où je me suis vraiment impliqué comme conférencier, je vais donner une présentation. C'est là que j'ai rencontré Guillaume Amel, qui est également ici dans la salle, qui travaille aujourd'hui avec nous. J'espère aujourd'hui, ou en fait, durant le week-end, vous rencontrez vous personnellement, donc venez me jaser, je ne mors pas. Ça me fait plaisir de discuter avec vous, soit de vos problèmes avec WordPress, de vos réussites, de vos questions, quoi que ce soit. Lâchez-vous-lui. Vous allez voir sur le papier, on va mettre une oeuvre tantôt. On recherche toujours des collaborateurs, des membres pour joindre notre équipe. Si ça vous intéresse, vous saurez comment nous contacter. Toujours en lien avec le retour sur investissement, WordCamp, c'est la conférence à mon sens, soit ce que vous allez avoir le plus de valeur pour le prix que vous payez. Le prix du biais vous a coûté 50 $, ça vous fait 25 $ par jour. Si on sous-strait le prix du dîner qui est inclus, là, je n'inclus même pas le chandail là-dedans. On est à 10 pièces. Si vous allez voir le minimum de conférence possible dans une journée, on est à 2 pièces par conférence. Je vais essayer de vous en donner pour deux pièces. Premier. Je m'appelle Maxime Jobin. Je suis associé chez S2B Solutions, co-fondateur de satellite WP, et je contribue à Wordpress de plusieurs façons, autre que pour ce qui est des projets clients. Je suis un développeur, un administrateur de site. Conférence-y au WordCamp. C'est mon cinquième WordCamp. Depuis peu, on travaille à la traduction de Wordpress pour Français du Canada. Si comme moi, vous utilisez les traductions de France et qu'il y a certains mots qui, des fois, vous titille, sachez qu'on a Jean-François, mon associé, qui va faire une présentation là-dessus. Notre but, c'est de justement prendre les traductions Français de France et de les amener avec les modifications pour le Français du Canada. Donc, on travaille fort là-dessus. C'est un début. Il y a beaucoup de travail à faire. Mais je pense qu'on va être capable d'y arriver. Puis au final, pourquoi je suis ici? C'est pour échanger, pour apprendre, pour transmettre des connaissances. Puis c'est ce que je viens faire à chaque année depuis 7 ans. Donc aujourd'hui, on va parler du déploiement. Donc, l'ABC du déploiement, c'est ma conférence. Donc, ce ne sera pas très, très technique, dans le sens où on ne rentrera pas dans le détail technique de comment faire les choses. Mon but, encore une fois, je parlais de retour sur l'investissement, c'est de faire en sorte de vous donner les outils pour qu'après ça, vous puissiez creuser davantage, mais au moins avoir une base qui va être solide. Donc, qu'est-ce que c'est le déploiement? C'est l'accent de mettre en service ou de rendre disponible une nouvelle solution technique d'une manière coordonnée. Puis là, on insiste sur le mot coordonnée. Un exemple, le déploiement a viré au cauchemar car il était mal planifié. Ok? Des choses, malheureusement, qu'on voit au quotidien. Puis si on peut vous éviter les erreurs qui vont vous amener à un scénario cauchemar, je pense qu'on va être bien parti. Le succès d'un déploiement, ok? Repose sur une planification adéquate, une exécution précise, un plan d'arrêt, et je vais le définir un peu plus tard pour ceux qui ne savent pas ce que c'est, et des tests de validation. Une fois qu'on passe à travers toutes ces étapes-là, on peut s'assurer que, quand ça va être le moment de faire le travail, mais ça va se passer bien, peu importe si le déploiement est complété avec succès ou pas. Quand j'ai commencé ma carrière, un déploiement, ça ressemblait à peu près à ça. Faisons un backup. On transférerait les fichiers à la base de données et après ça, on célébrait. Ok? Partait d'un site de développement. On faisait ces trois étapes-là. Puis, à mon donné, je me suis rendu compte que ça peut pas fonctionner comme ça. Pour la simple et bonne raison, je me suis rendu compte qu'il y a des étapes-là qui font en sorte que ça avait un peu bousillé les étapes qui sont là. Avec le temps, on a mis en place des recettes. On a raffiné le processus. C'est ce que je vais vous présenter aujourd'hui. Comment on est capables aujourd'hui de faire un déploiement par à peu près n'importe qui dans notre équipe, peu importe son expérience. Je me rappelle quand j'ai commencé ma carrière, du Cirque du Soleil, c'est-à-dire, que je faisais du développement sans filet. Je ne sais pas s'il y en a qui vont se reconnaître. Ce que je faisais, c'est que je me connectais directement sur un site live et j'ai dit des les fichiers en live. Donc ça, c'est vraiment du sans filet. Ok? Et comme je suis chargé extrêmement cher, soit 15 $ de l'heure, c'est pour ça que je faisais ça. Parce que je me disais que mon client peut pas se permettre que je copie les fichiers et que je fasse les choses en bonne et du forme. Jusqu'au jour où, en plein milieu d'un déploiement slash modification live, un client m'appelle, en fait, le client pour lequel je faisais le déploiement m'appelle, puis il me dit, arrête le déploiement, remets ça comme c'était, on ne sera pas près dans une heure comme on avait prévu. Sauf que là, moi, j'avais déjà modifié des fichiers live, sans backup, puis j'avais supprimé des grosses portions de code qui faisaient en sorte que ce n'était pas possible de juste rajouter un commentaire ou enlever un commentaire pour régler le problème. Heureusement, rapide comme les claires, j'ai dit au client que ça allait coûter beaucoup plus cher si on ramenait tout ça et j'ai proposé à place de mettre une page de maintenance. Le client accepté. J'ai pas eu à remettre les informations comme ils étaient à la base et je m'en suis sauvé comme ça cette fois-là. Depuis ce temps-là, j'ai changé ma façon de faire et je ne charge plus 15 $. Donc en gros, chez satellite WP, à quoi ça ressemble les étapes qu'on a un projet, donc je vous ai fait un petit screenshot ici d'un exemple typique de projet. Ok? Donc tous nos projets sont catégorisés en sections, puis on peut pas passer d'une section à l'autre, tant et aussi longtemps que toutes les étapes sont pas faites. Chaque étape peut être ou non dépendante d'une autre étape, mais il y a une façon qu'on puisse sauter des étapes et se mettre dans le pétrin. J'ai pris la section, par exemple, gestion de projet, puis quand on ouvre cette section-là, on peut voir qu'on a le début du projet qui premièrement commence par le paiement de la facture numéro 1. Il n'y a rien qui est fait dans notre cas tant que la facture numéro 1 n'est pas payée. Puis après ça, on peut descendre, puis on a des étapes qu'on peut voir qui sont en début de projet, durant le projet, en fin de projet, qui sont proposées par la suite, soit des services supplémentaires, faire des suivis dans un mois, trois mois, six mois. C'est là, ultimement, où je veux vous amener aujourd'hui. Peut-être que vous avez un début de processus, peut-être que vous n'avez aucun processus. Mon objectif après la présentation d'aujourd'hui, c'est que vous puissiez prendre en charge votre process actuel puis l'amener au prochain niveau. Pour réussir un déploiement, tout passe tout d'abord par la planification. Ce qui n'est pas votre déploiement, puis que vous improvisez ça en 15 minutes, c'est la recette idéale pour que, tôt ou tard, vous viviez un fameux cauchemar. En quoi consiste la planification? Ultra simple. Premièrement, obtenir les accès du client, du compte d'hébergement, des nôtres domaines, les trucs pour certificats SSL. Bref, tout ce que vous allez avoir besoin pour faire le déploiement. Ça a l'air bien simple, en fait, quand on arrivait dans le passé un déploiement qui nous manquait de l'information, en fait, en sorte qu'on a rajouté une étape au début, vous allez dire bon, il faut que ça commence par ça. Une fois qu'on a reçu les informations, on peut penser qu'on est prêt à aller de l'avant, mais il faut maintenant tester les accès. Parce que ce n'est pas parce qu'on reçoit les accès qui sont probablement les bons accès qui n'ont pas été mis à jour, puis ça nous est arrivé récemment d'avoir un client qui a changé des bergeurs, qui ne nous le dit pas, et pour le site, on se connecte dans les informations qu'on a. Il n'y a pas cancelé son ancien plan de débargement. On fait des modifications, puis on finit par écharger deux jours pour rien parce qu'on ne travaille pas sur le bon compte de débargement du site. Ok. Ce connecté est validé qu'on a les droits nécessaires, c'est super important. Création du plan de test. Donc quand on va faire notre déploiement, qu'est-ce qu'il va faire en sorte qu'on va arriver avec succès? Dans le cas d'un site ultra-saint, par exemple, pour ce qu'on fait juste à fichier de l'information, ça peut être de dire, je vais aller consulter chaque page puis valider est-ce que les pages s'affichent, puis est-ce qu'ils manquent des textes, est-ce qu'ils manquent des images, est-ce que les traductions sont bonnes? Dans un cas plus complexe, par exemple, dans un cas où il y a des formuleurs, dans un cas où on a un commerce en ligne, on peut faire la validation, par exemple, d'un remplir les formuleurs, valider si on reçoit bel et bien l'autorité de la section d'administration, et s'il y a des courriels qui sont envoyés, est-ce qu'on les reçoit? Et tout dépendamment du budget de votre client, les tests automatisés peuvent répondre à ça. Par contre, la réalité, quand on travaille avec des PME, des petites entreprises, souvent, ils n'ont pas les budgets pour pouvoir faire ça, mais si on a au moins une liste de choses à valider, puis qu'on passe à travers la liste, on s'assure de minimiser nos risques, puis c'est ça qu'on veut faire aujourd'hui. Des fois, ça arrive qu'on planifie toutes les étapes correctement, puis que finalement, pour une raison quelconque, ça se met à plus marcher. Ok? Donc, un exemple de ça, par exemple, vous vous faites barrer l'accès. Vous êtes entré d'envoyer des fichiers, puis pour une raison quelconque, le firewall vous bloque. Là, il n'y a pas grand-chose qu'on peut faire. Mais à part dire, on va contacter les bergeurs, puis on va voir, est-ce qu'il est capable de nous débloquer. Et tout dépendamment de combien ça prend de temps, d'exploitement ou si on remet ça à plus tard. Et si on décide d'arrêter, mais qu'est-ce qu'on va faire, ou c'est quoi les étapes, ou est-ce qu'on est prêt à tout remettre comme c'était, ou est-ce qu'on met une page de maintenance, puis ça, c'est genre de discussion qu'il faut avoir avec le client avant de commencer. Pour ce qui est du plan d'exécution, c'est de déterminer la date et l'heure à laquelle on va procéder. Les intervenants, le temps d'exécution, puis le downtime si en a un pour le client. Donc, si on doit mettre le site dans le temps important de valider, par exemple, pour ne pas faire ça au début décembre quand c'est la grosse période du client. Peut-être qu'on va attendre au mois de janvier pour pouvoir faire notre intervention. Une fois que la planification est faite, on arrive à l'exécution. Donc, c'est là que le fun commence. Première des choses, quand on est prêt à procéder à la date et à l'heure convenue, on avise le client qu'on va débuter les travaux. Et quand je dis aviser le client, c'est aussi de lui dire que ça nous est arrivé aussi. On avait une procédure ou est-ce que la directive était d'aviser le client? On avise le client. Le client a compris que c'est bon, vous allez faire les trucs. Puis, pendant qu'on est en train de faire certaines modifications, ou en fait dans l'heure qui a précédé, pendant qu'on est en train de faire les backup et tout ça, le client est en train de faire des modifications sur son site et d'ajouter du contenu. À la fin de la procédure, il y a eu des données qui ont été perdues parce que tout simplement le backup puis la migration, le client a fait des changements. Donc d'aviser le client, c'est une chose, mais de lui mentionner de ne plus faire de modifications et même de changer les accès du client temporairement, donc il y a plusieurs façons de faire ça, ça nous permet d'éviter ce genre de problématique. Prendre un backup du site existant. Donc tout dépendamment de où est-ce que vous en êtes, si vous faites un changement, c'est une refonte total du site, c'est pas parce que l'ancien site va être mis au poubelle ultimement qu'il ne faut pas faire un backup. On pense à notre procédure de plan d'arrêt qu'on parlait tantôt. Si vous commencez à faire vos modifications puis vous vous rendez compte, par exemple, parce que vous n'avez pas fait votre do-de-legende correctement que je n'ai pas le serveur HP3, puis que là, ça ne fonctionnera pas avec WordPress, ben si vous avez flushé le site HTML qui était là auparavant, ben là, il n'y a rien que vous pourrez faire pour ramener ça. Donc prendre un backup du site existant avant de commencer. Attention, si c'est un WordPress, attention il y a au thème qui écrivent en dehors du répertoire qu'on appelle le route, ok? Parce que des thèmes qui écrivent en dehors de ça, on utilise un plugin pour faire un backup. Le backup est partiel. Si nous manquent des fichiers, ben là, on peut se retrouver dans un joyeux pétrin. Donc de faire le backup puis de le tester, de le réinstaller en local, peut montrer, par exemple, ce qui pourrait manquer. Ensuite, on se met en mode maintenance. Il y a plein de façons de se mettre en mode maintenance. Il y a des gens qui vont dire, ben ça marquera un message d'erreur, je m'en fous, il y a des gens qui vont dire, on va mettre une belle page. Donc ça, il faut l'avoir planifié. Si on va avoir une belle page avec le logo du client, par exemple, pendant qu'on fait la maintenance, ben il faut que quelqu'un l'ait fait à l'avance, ok? Une des façons de faire, c'est d'utiliser la procédure de WordPress. Donc avec un fichier qui s'appelle Point Maintenance à la racine du site, on peut mettre le site en mode maintenance à condition d'avoir du code à l'intérieur qui va nous permettre d'avoir un délai pour spécifier à WordPress, ça fait combien de temps que le site est en maintenance. Ok, donc je vous ai mis la petite ligne de code. Si ça vous intéresse de faire ça de cette façon-là, vous pouvez aller lire là-dessus. Vous allez voir, c'est plutôt simple. Si vous voulez personnaliser la page de maintenance, si vous mettez dans le folder WP Content un fichier qui s'appelle maintenance.php c'est ce fichier là qui va être lu. Vous pourriez mettre par exemple du code HTML là-dedans avec le logo de votre client. À toutes les fois qu'il y a des mises à jour qui vont être faites cette même page de maintenance va être affichée à ce moment-là. Là maintenant on est prêt. On fait un export des données de notre site de développement et après ça on va être prêt à faire la copie puis à amener ça directement sur le site en live. On copie les données. Donc les données c'est quoi? C'est les fichiers, la base de données et également les réglages. Ok, tout dépendamment de comment va-t-il déconfigurer. Il y a peut-être d'autres choses que vous allez vouloir amener à partir du serveur de développement jusqu'à la production. On parle par exemple des CRUN. Donc les tasks automatisés. Donc si vous avez mis quelque chose en développement, ça suivra pas automatiquement avec un backup fait par un plugin. Donc c'est important de le faire. Si vous avez modifié ce qu'on appelle les Mime Types donc les extensions à quoi elles servent, etc. Donc il n'y a pas juste les fichiers la base de données à prendre en considération dans ce cas-ci. Modifier la configuration. Donc c'est là qu'on va rentrer dans le fichier wp-config qu'on va changer les accès pour la base de données. Woops. Les accès pour la base de données. Mettre le debug à off. Donc le debug c'est pratique quand on fait du développement pour voir c'est quoi toutes les erreurs. On veut les avoir à l'écran. En production on va avoir aucune erreur à l'écran. Puis également de mettre une commande pour l'édition de fichiers. Donc faire en sorte que c'est pas possible via l'interface d'administration de WordPress de modifier les fichiers du thème et des plugins pour des raisons évidentes de sécurité. On est maintenant prêt à faire ce qu'on appelle les réécritures. Donc si vous avez bâti le site web sur un serveur de développement probablement que l'adresse que vous avez utilisé pour faire le développement est différente de l'adresse du site en production. Donc il faut faire ce qu'on appelle les réécritures dans la base de données. C'est par exemple de dire je vais changer mon site de test.com pour mon site.com. Donc ça c'est bien important quand vous allez exporter la base de données et le fichier SQL de ne pas les modifier ce fichier-là en faisant ce qu'on appelle un search and replace directement dans le fichier parce qu'il y a des informations qui sont ce qu'on appelle serialisés et ça va faire en sorte que si vous chargez votre fichier ça fonctionnera pas du tout. Donc il existe des plugins pour faire ça. Vous pouvez le faire à la ligne de commande avec WP-CLI. Puis il faut faire attention à des cas particuliers comme Revolution Slider qui lui a une façon particulière d'inscrire le site Web dans la base de données puis ça va faire en sorte que des étapes manuelles peuvent être nécessaires dans des cas comme ça. Suppression des logs. Donc si il y a des logs, si vous aviez par exemple soit une extension de logs ou le fichier par exemple débug log d'activer bien important de flusher tout ça quand on passe de la dev à la prod pour pas avoir l'impression qu'il y a des problèmes qui viennent d'arriver alors que ce sont des vieux problèmes surtout si vous faites la migration par exemple en milieu de journée vous voulez pas penser que ça il y a un problème qui est arrivé mais c'est un problème qui vient de la dev donc on flush tout ça. On parle le fichier débug log puis aussi le fichier erreur log qui est créé par PHP tout dépendamment de votre hébergeur web comment ça fonctionne comment il est configuré donc c'est genre de choses à laquelle on veut penser. Modifier les clés d'API C'est super important. Vous êtes sur un environnement de développement vous utilisez des clés de développement vous avez créé un faux compte MailChimp vous avez utilisé votre compte Stripe par exemple ou quelque chose du genre si vous laissez les clés de développement ça va vous arriver que votre client vous appelle puis vous dit c'est parce que je fais des ventes puis il n'y a pas d'argent qui se rajoute dans mon Stripe puis ça fait 2000 pièces de ventes que je fais qui s'en vont dans la poubelle ça c'est bien bien bien important d'avoir ça dans votre processus on parle notamment si ça dépasse le dépêment gestion d'infolette il y en existe d'autres à partir du moment où vous avez cette étape-là dans votre checklist vous êtes en mesure d'aller revoir chacune des extensions puis vous assurez que vous avez mis les bonnes informations Configuration d'une extension SMTP donc on essaye le plus possible en fait nous on recommande de jamais utiliser le serveur d'hébergement pour envoyer des courriels donc abonnez-vous à un service par exemple comme Send Mail comme Mailgun il y en existe plusieurs qui sont spécialisées dans l'envoi de courriel comme ça vous êtes sûrs parce que souvent avec les serveurs d'hébergement les gens vont se faire pirater parce qu'ils ne mettent pas leur infrastructure à jour la personne qui pirate va utiliser le serveur pour envoyer des centaines de milliers de courriels ce qui fait en sorte que l'adresse IP du serveur est banni vous votre client qui met tout à jour qui fait tout selon les règles de l'or tous les fois qu'il y a un courriel il utilise la même adresse IP du serveur puis ça fait en sorte que le courriel est flagué comme étant du spam alors qu'en réalité avec des solutions comme ça vous pouvez vous en tirer pour 10 000 courriels par mois gratuitement avec Mailgun autrement ça coûte je pense une pièce par tranche de 10 000 ou quelque chose comme ça donc il n'y a vraiment pas de raison de pas utiliser un service comme ça extension de caching c'est le temps de rendre le site rapide donc installation configuration il y en existe plusieurs nous on préfère WP Rocket c'est celle qu'on recommande il y a d'autres autres que là j'ai marqué extension de caching mais c'est pas obligé d'être une extension vous pouvez avoir des règles rajoutées dans votre fichier htaccess vous pouvez par exemple avoir des extensions pour optimiser les images ce genre de choses là donc c'est genre de choses que vous allez vouloir avoir également dans un environnement de production parce que vos clients risquent de rajouter du contenu puis d'avoir un site où le client rajoute des images de 16 megs qui ne sont pas optimisées ça peut faire mal à une expérience utilisateur assurez vous si vous avez installé l'extension de caching sur votre environnement de développement de vider les caches avant de faire vos tests on a déjà vu ça on fait un site on est prêt à le déployer on le déploie puis on ne se rend pas compte qu'on n'a pas vider la cache puis le site fonctionne pas puis quand on fait nos tests on teste sur de la vieille cache on a l'impression que ça fonctionne qu'en réalité ça fonctionne pas au stôt que vous déployez vider les caches puis refaites les tests avec des caches vides laisser les se remplir puis continue de cette façon-là configuration d'un CDN un content delivery network si jamais ça s'applique pour optimiser la livraison des fichiers statiques CSS, Java script et les images extension de sécurité donc par défaut au WordPress c'est pas que c'est pas sécuritaire mais il y a moyen d'ajouter une couche supplémentaire pour par exemple limiter le nombre de login qu'une personne va faire si la personne ça fait 25 fois qu'elle essaie de se connecter dans la section d'administration peut-être que ça voudrait la peine de barrer son adresse IP temporairement pour s'assurer que la sécurité pas compromise barrer l'éditeur de fichiers faire un suivi des logs des activités donc combien de personnes ont essayé de se loguer etc. c'est quoi les fichiers qu'on a essayé d'accéder et de faire des scans des fichiers donc plusieurs extensions qui font des scans de vos fichiers pour s'assurer qu'il n'y a rien qui a été compromis outil de statistiques on a rendu au point où est-ce que le déploiement est complété et on va venir ajouter des choses qu'on n'a pas nécessairement pu mettre en développement ok donc on parle par exemple Google Analytics Google Tag Manager on en a parlé tout à l'heure dans la présentation précédente le facebook pixel donc le pixel de facebook pour pouvoir faire des campagnes ce genre de choses-là exécution du plan de test à ce moment-ci vous avez complété toutes les étapes puis on est rendu au point de dire ok est-ce que ce qui fonctionnait sur mon environnement de développement fonctionne de la même façon sur mon environnement de production en théorie c'est une checklist vous la suivez vous exécutez et à partir du moment où vous trouvez un point qui fonctionne pas ben là on l'adresse directement et l'adresser directement des fois c'est juste de changer par exemple une permission et ça peut aller aussi jusqu'à dire on arrête totalement le déploiement on retourne en développement puis on corrige ok on essaie toujours d'avoir le même genre d'environnement en développement qu'en production pour éviter justement les problèmes de de configuration si par exemple sur mon environnement de développement j'ai PHP 7.2 puis qu'en production j'étais à 5 points quelque chose ben je risque juste d'avoir des problèmes ultimement parce que il y a des choses que je peux pas tester parce que les environnements sont différents c'est d'avoir quelque chose qui est le plus pré-possible mais malheureusement pour avoir travaillé avec même des grosses entreprises où on a un environnement de développement un environnement de staging un environnement de production où le staging et la production c'est exactement la même chose selon eux des fois ce n'est pas donc des fois ça marche en staging puis s'il y a un il se posait une copie de l'autre puis ça marche plus en production ben là dans ce temps-là il faut reculer donc on veut faire le maximum pour éviter arrêter notre déploiement puis avoir des frais supplémentaires soit que vous vous devez assumer ou envoyer la facture à votre client tout dépendamment de l'entendre que vous avez avec lui une fois qu'on a terminé les tests que tout est fonctionnel on prend un backup on prend un backup du site parce que là vous avez fait des modifications vous avez peut-être ajouté des nouveaux réglages vous avez peut-être modifié certaines choses modifié des permissions on refait un backup de tout ça pour s'assurer qu'on a la dernière version qu'on va déployer plus tard pour peu importe la raison ben on n'a pas à refaire tous ces étapes là avec le backup on a le code qui est vraiment à jour j'espère que vous utilisez ce qu'on appelle un gestionnaire de code source donc on parle par exemple ici de GitHub Bitbucket GitLab Subversion peu importe l'outil on va prendre ces fichiers puis on va les pousser dans le gestionnaire de code de façon à savoir d'un déploiement à l'autre c'est quoi qui a changé ok parce que je sais pas vous mais nous ça nous arrive régulièrement qu'on a un client qui va nous donner une nouvelle règle d'affaires puis vous nous rajoutez telle logique dans le site web on le fait on le déploie puis pour une raison quelconque il change d'idée mais quand on a un tracking de tout ce qu'on a fait si il dit regarde les changements de la semaine passée annulsor vient à ce qu'on avait on a juste aller dans le gestionnaire de code source regarder à quoi le code ressemblait il y a une semaine puis on repart de là refaire les changements outil d'entretien donc là le déploiement est complété comment on va faire pour mettre à jour l'environnement en fait garder à jour l'environnement on parle ici de backup du monitoring et par exemple des scans soit de sécurité de performance je travaille pour satellite WEP c'est ça qu'on fait c'est une solution que vous pouvez considérer ou sinon vous pouvez le faire vous-même il n'y a pas de problème exécution je pensais qu'on l'avait déjà faite j'ai du plaisir c'est le mauvais bouton finalisé bon un coup qu'on a tout fait que le plan de test est fait c'est maintenant le temps d'aviser le client donc on avise le client c'est bon donc on a envoyé un courriel au début pour dire on commence on envoie un courriel après ou on l'appelle tout dépendamment de son âge et ses intérêts pour lui dire qu'on a terminé donc nous ce qu'on fait c'est qu'on le félicite félicitations ton site est prêt tu peux maintenant aller le visiter parce que tu remarques des problèmes des choses qu'on n'aurait pas vues on joue à ça une documentation documentation de comment utiliser son site comment aller faire les validation c'est quoi les prochaines étapes et tout dépendamment du contrat que vous avez on va venir inclure ou pas le zip qui contient l'entièreté de son site pour lui dire ben garde si jamais avec quoi que ce soit si jamais nous autres on cesse nos activités ou on se fait frapper par un camion en sortant du bureau ben t'as tout ce qu'il faut on met à jour de notre documentation donc je vous ai montré tantôt dans le fond les étapes nos étapes sont toujours incompletes je pense qu'il n'y a pas un projet qu'on fait qu'on rajoute pas au moins cinq étapes ok il y a certaines tâches qui sont fixes que là on après plusieurs années on est rendu pas pire on rajoute plus rien mais pour ce qui est par exemple tout ça de la création on ajoute fonctionnalité il y a toujours des nouvelles des nouvelles façons soit de tester des façons de mettre à jour des façons de déployer on améliore nos procédures donc c'est important de garder à jour votre documentation l'objectif étant que si vous passez la balle à votre collègue il est capable de regarder la documentation qu'il est capable de regarder les étapes puis ultimement de prendre la balle là-dessus c'est sûr ça demande beaucoup de temps mais quand on se donne on se rend compte qu'on fait beaucoup moins d'erreurs puis il y a des choses qu'on faisait à un moment donné quand moi j'étais par exemple tout seul au départ mais que je faisais moi-même j'avais étapes dans ma tête mais que pour quelqu'un d'autre qui est aussi bon que moi mais qui a juste un parcours différent va faire les choses différemment puis après ça c'est pas long qu'on ne se retrouve plus donc le plus vous standardisez vos étapes le mieux vous allez vous porter une fois qu'on a fini c'est le temps de célébrer donc on célèbre on en profite quand on lance un projet c'est quelque chose qui est le fun nous au bureau quand on lance des projets des fois on prend une petite bière des fois on joue au dort des fois on se tape dans main des fois on saute au prochain projet parce qu'on n'a pas le temps mais c'est important des fois de prendre le temps de célébrer puis d'apprécier le travail qu'on a fait on travaille fort sur nos projets donc célébrer et fêter chaque succès puis après ça bien on recommence des questions ? oui en fait en fait le oui en fait par rapport la question est par rapport à ce qu'on fait une fois que le déploiement est terminé par rapport à l'entretien ok en fait la présentation par les plus de jusqu'à l'aspect déploiement mais pour répondre directement à ce genre de questions nous qu'on fait des projets un projet vient également avec ce qu'on appelle la post livraison donc toutes les étapes qui a à faire par la suite puis par exemple l'entretien quand j'ai parlé vous avez vu le petit logo de satellite WP ça fait partie des choses qui sont dans nos oeuvres de services qui sont dans nos contrats à ça vient de s'ajouter aussi par exemple de la rédaction supplémentaire de la traduction d'autres services connect connect c'est-à-dire par exemple c'est de la retour j'ai plein de choses qui peuvent être faites par rapport à la situation de votre client puis c'est à vous de l'offrir à votre client si vous voulez qu'il sache que ça existe d'autres questions oui oui en fait ok la question c'est j'ai mentionné tantôt qu'on peut barrer l'éditeur de fichier donc ce que c'est que par défaut dans WordPress quand tu installes un thème ou une extension tu as un menu éditeur ou tu peux aller modifier directement le code à partir de l'interface d'administration de WordPress qui est un risque de sécurité un risque de sécurité à plusieurs niveaux notamment si quelqu'un par exemple un pirate réussit à rentrer mais également si un client clique là-dessus ok donc ça c'est un risque de sécurité que le client scrap le site puis qu'ils disent je comprends pas à matin ça marchait j'ai rien touché plus là ça marche plus ok parce qu'il y en a qui ça reconnaissent donc donc c'est pour ça qu'on le désactive donc c'est une directive qu'on met dans le fichier wp-config.php qui dit grosso modo enlève ce menu il apparaît plus autant dans le menu apparence que dans le menu des extensions en fait quand tu actives ce directive ça le fait pour tous je dirais même nous sur nos propres sites on l'enlève parce que pour nous il n'y a pas de raison d'aller modifier un site live en production alors là chacun c'est technique en fait ben je te dirais la question c'est quand je fais un backup est-ce qu'on le fait avec un plugin ou si on le fait avec le cpanel quand je parle au début de faire un backup du site existant donc c'est le site qui était là avant que nous on déploie un nouveau site c'est sûr qu'un backup du cpanel c'est le best encore là ça dépend est-ce qu'utilise la plateforme est-ce qu'utilise le serveur pour des courriels qui restreignent ça on utilise certains outils ManageWP en éteint autrement moi je suis un fan d'aller à bras donc avec des scripts qu'on a faites nous-mêmes pour transférer transférer tout ça justement parce que tu sais par rapport au plugin ben tu as des thèmes qui sortent du route qui vont mettre des fichiers comme d'environnement pis ça tu les ramasses pas donc moi je préfère m'assurer moi-même d'être allé valider y'a-tu des sous-répartoires y'a-tu des trucs qui s'appellent ENV par exemple qui veulent dire environnement ou on pourrait avoir des paramètres supplémentaires qu'on verrait pas avec un plugin ou même avec ManageWP ou même en fait y'a juste le back-up cipanel complet si ton client utilise cipanel qui te permettrait de ramasser ça ben en fait les tu sais de récupérer les paramètres ça nous importe peu dans notre dans notre cas dans le sens où on va venir déployer pis c'est par après qu'on va aller les changer si mettons exemple y'avait PHP 5 ben même quand je vais déployer mon nouveau site ça va être encore PHP 5 tant que je ne serai pas allé le changer c'est bon ? oui la question c'est quelle documentation on remet au client premièrement dans la documentation qu'on remet au client on a exactement toutes les fonctionnalités qu'on a développées les accès puis des trucs souvent de base en lien avec WordPress puis des choses plus spécifiques à sa situation avec des copies d'écran des screenshots pour justement y montrer comment modifier son contenu par lui-même notre objectif étant de rendre le client le plus autonome possible qui nous appelle juste pour des pas des cas de force majeure mais des cas de développement à moins que lui dise ben moi ça me tente pas de jouer dans WordPress je veux peut-être modifier les virgules toi-même mais notre but étant de rendre le client le plus autonome possible à ce niveau-là de rien est-ce qu'on chez le client dans nos devines non non on fait pas de formation sur place on travaille beaucoup avec des gens aussi des fois que sont soit loin ou à l'extérieur du pays on centralise nos trucs pour justement que tout de plus ça te fait à distance oui comment on fait pour savoir la question c'est comment on fait pour savoir si il y a des fichiers qui ont été mis en dehors du ce qu'on appelle le folder route en fait une façon bien simple on va l'installer sur un serveur local puis si ça marche pas c'est parce qu'il te manque des fichiers ça c'est la façon la plus simple autrement c'est de tu sais on travaille sur tellement de configurations qui sont différentes on s'est buté sur tellement de problèmes au cours des années que juste avec un autre thème je peux te dire si oui ou non mais ça ça répondra pas ta question mais l'installer localement c'est vraiment le short and sweet c'est bon oui donc est-ce qu'on fait le développement cette réponse va dépendre premièrement on développe jamais sur le serveur du client première des choses on a un serveur de développement auquel on peut donner accès au client pour qu'elle voire mais jamais d'accès directement au panneau d'administration pour des raisons de bien on veut pas que les clients se connec aillent bousiller des settings puis qu'après ça on perd du temps à ce niveau-là pour une question aussi de contrat c'est-à-dire que si je mets plus aucun leverage puis après ça à l'interne c'est plus une question de pas d'intérêt personnel mais tout dépendant de ce sur quoi on travaille des fois on va développer vraiment local sur la machine puis des fois on va développer sur le serveur de développement ça va dépendre combien de personnes sont impliquées sur le projet sur quoi ces personnes-là travaillent puis qu'est-ce que ça demande comme travail exemple mettons on travaillait sur un projet récemment l'extracteur puis c'est un on va extraire des données ben l'extracteur il faut qu'il puisse se connecter sur un ordinateur qui est sur internet pour aller par exemple chercher un screenshot mais si je développe en local ben il peut pas venir chercher un screenshot du site en local donc il faut qu'il soit déployé donc ça c'est un exemple de cas où est-ce que on peut pas développer en local il faut le développer directement sur le site ouais sur mon serveur de développement puis quand le client a dit c'est bon tout est beau on pousse en production d'autres questions ? oui donc la question comment on fait pour gérer les mises à jour de WordPress mais on a un tu sais on a un service qui fait ça directement fait qu'on a des gens qui passent leur journée à lire les changelogs puis à regarder c'est quoi les risques de mettre à jour fait que ça c'est une des parties on fait des backups avant chaque mises à jour on fait des backups fait qu'on sait exactement qu'est-ce qu'il y avait avant puis qu'est-ce qu'il y a après puis l'expérience de dire ok bien ça est-ce que c'est une bonne idée de le mettre à jour est-ce que ça c'est pas une bonne idée puis on y va vraiment au cas par cas le but étant de faire le moins de mises à jour possible dans une fenêtre tu sais on fait pas des mises à jour à tous les jours fait que c'est vraiment on sait par exemple ce plug-in là quand il y a une mises à jour on peut la faire sans se poser de questions ce plug-in là on va attendre un peu en fait ça c'est juste pour ce qui est de déployer tout ce que tu parles c'est après c'est l'entretien qui est un autre processus qui aurait d'autres étapes qu'il faudrait il faudrait faire d'autres choses oui oui est-ce que la présentation va être disponible en ligue oui elle le sera de rien d'autres questions oui en fait la question c'est de savoir qu'est-ce qu'on met dans le gestionnaire de cultures est-ce qu'on met le projet WordPress au complet ou si on met par exemple juste le thème la réponse à ça il y a pas de je veux dire c'est une très bonne question dans le sens où on se questionne nous-mêmes de projet en projet comment on va adresser selon le cas je dirais la majorité on va avoir le thème qui va être directement mettons dans la guide puis les plugins custom vont aussi avoir leur propre guide mais je pense pas on va ça pour me corriger qu'on a un WordPress avec comme genre toutes sur toutes on non dépendance avec ce projet l'autre question oui le nom échappe je pense c'est s'appelle un qui est intéressant qu'on n'a pas utilisé la question est-ce que pour des tests automatisés qu'est-ce qu'on utilise en fait quelque chose qui peut être short and sweet mais qu'on est en train d'évaluer mais qu'on n'a pas poussé un projet qui s'appelle RoboNinja qui permet de faire des tests notamment avec WooCommerce quand on fait des déploiements de s'assurer qu'on peut par exemple ajouter un item dans le panier ce genre de choses-là donc c'est un peu limité mais c'est un bon départ pour je pense quelque chose comme une pièce par moi c'est bon merci tout le monde