00:00:00Bonjour,
00:00:02bienvenue au livestream de la communauté Purcell de cette semaine.
00:00:22Je suis Amy Egan.
00:00:23Je fais partie de l'équipe communautaire ici chez Purcell.
00:00:27Petit rappel,
00:00:27ce direct est diffusé sur X et YouTube,
00:00:29mais si vous voulez participer au chat,
00:00:31veuillez vous connecter à la communauté et cliquer sur 'Participer' à l'événement.
00:00:35Vous verrez le chat apparaître sur le côté et je m'assurerai que nous prenions en compte vos commentaires si vous avez des questions.
00:00:42N'hésitez pas à poser des questions tout au long de la session et nous les poserons toutes à la fin.
00:00:47Et un rappel,
00:00:48si vous êtes dans le chat,
00:00:50veuillez être respectueux et suivre notre code de conduite.
00:00:54Ceci étant dit, j'aimerais accueillir nos invités sur scène.
00:00:58Le mois dernier,
00:00:59mon coéquipier,
00:00:59Jacob,
00:01:00a rejoint l'équipe HubSpot pour parler de l'intégration de votre propre backend au programme développeur HubSpot.
00:01:05Et ce mois-ci,
00:01:05nous sommes rejoints par l'équipe HubSpot pour parler de la façon dont ils utilisent Purcell.
00:01:09Alors, bienvenue Brooke.
00:01:12Merci beaucoup, Amy.
00:01:13Bonjour à tous.
00:01:14Je m'appelle Brooke Bond et je suis ravie d'être ici au sein de la communauté Purcell.
00:01:20J'ai quelques questions auxquelles vous pouvez répondre à l'avance dans le chat,
00:01:25mais nous aimerions savoir,
00:01:26avez-vous déjà utilisé HubSpot ?
00:01:28Savez-vous qui nous sommes ?
00:01:30Avez-vous déjà développé avec nous ?
00:01:31Et si oui, qu'avez-vous développé ?
00:01:34J'adorerais lire tous ces commentaires dans le chat.
00:01:38Ce serait super, mais nous n'avons que 30 minutes.
00:01:42Je veux donc m'assurer que nous couvrons tout notre excellent contenu.
00:01:45Aujourd'hui,
00:01:45nous allons rapidement passer en revue : qu'est-ce que HubSpot ?
00:01:49Qui sommes-nous en tant qu'équipe DevRel de HubSpot ?
00:01:51Comment pouvons-nous utiliser HubSpot et Purcell ensemble ?
00:01:54Et ensuite,
00:01:54nous avons quelques exemples de la façon dont notre équipe DevRel de HubSpot a utilisé Purcell dans nos différents projets chez HubSpot.
00:02:02Et enfin,
00:02:02nous laisserons un peu de temps pour les questions-réponses.
00:02:04Donc,
00:02:05comme Amy l'a dit,
00:02:06si vous avez des questions,
00:02:07veuillez les mettre dans le chat et nous serons ravis d'y répondre à la fin.
00:02:12Aujourd'hui,
00:02:13je serai rejointe par deux de mes collègues,
00:02:16Dennis Edson et Chris Riley.
00:02:18Et nous sommes ravis d'être ici.
00:02:19Alors,
00:02:20d'abord,
00:02:20non pas les règles du jeu,
00:02:22mais définissons ce qu'est HubSpot.
00:02:25HubSpot est un CRM intelligent pour les entreprises.
00:02:29Nous proposons une suite de logiciels de marketing,
00:02:33de vente et de service,
00:02:34et nous avons une plateforme développeur unifiée pour créer des intégrations.
00:02:39Et c'est sur cela que l'équipe DevRel concentre ses efforts : aider nos développeurs à comprendre comment utiliser la plateforme développeur.
00:02:47L'image que vous voyez ici à l'écran est une page d'enregistrement de contact CRM.
00:02:53Ainsi,
00:02:54avec la plateforme développeur HubSpot,
00:02:56tout le travail que vous créez est hébergé au sein d'un projet HubSpot.
00:03:00Et sur la plateforme développeur HubSpot,
00:03:03vous pouvez créer des applications statiques internes ou des applications OAuth externes.
00:03:09Et si vous créez une application externe,
00:03:11vous pouvez la publier sur notre marketplace HubSpot,
00:03:14et ensuite,
00:03:15toute personne ayant un compte HubSpot peut se rendre sur la marketplace et télécharger votre application.
00:03:21Donc,
00:03:21disons que vous êtes Vercel et que vous voulez créer une intégration où les gens peuvent voir leurs métriques Vercel dans leur compte HubSpot.
00:03:29Vous pourriez la créer,
00:03:30créer le flux OAuth,
00:03:31faire en sorte que les gens la téléchargent dans leur compte,
00:03:35et ensuite ils pourraient voir leurs données Vercel directement dans HubSpot et vice versa.
00:03:40Maintenant,
00:03:41la capture d'écran que j'ai ici est la page d'aperçu du développement.
00:03:46Nous avons donc une page d'aperçu du développement dédiée aux développeurs lorsqu'ils sont dans leur compte,
00:03:51afin qu'ils puissent voir tous les projets qu'ils réalisent.
00:03:54Nous avons également des outils de surveillance afin que les gens puissent voir l'utilisation de l'API et toutes ces bonnes choses.
00:04:01Donc,
00:04:02toutes vos affaires au même endroit,
00:04:03très facile pour vous d'y accéder.
00:04:05Vous n'avez pas à vous soucier du bruit de toutes ces autres choses qui ne font pas partie de vos projets HubSpot.
00:04:11Maintenant,
00:04:12je veux rapidement nous présenter en tant qu'équipe.
00:04:15Nous sommes un groupe interdisciplinaire de développeurs et de managers qui aident nos développeurs à s'épanouir dans l'écosystème HubSpot,
00:04:23et nous aidons la communauté des développeurs en créant des solutions,
00:04:27en les aidant à apprendre les meilleures pratiques et en créant des intégrations qu'ils peuvent utiliser.
00:04:32Nous organisons des événements en direct comme celui-ci et sur nos propres canaux,
00:04:36participons et intervenons lors de conférences,
00:04:38et nous veillons également à ce que les retours des développeurs externes soient pris en compte lors de la création et du lancement de nouvelles fonctionnalités.
00:04:45Nous sommes donc très proches de nos homologues ingénieurs développeurs et nous leur transmettons les retours de notre communauté pour nous aider à améliorer nos produits.
00:04:53Ceci est un petit graphique que j'ai créé pour vous en montrer un peu plus.
00:04:57Nous avons nos ressources d'apprentissage qui incluent notre documentation développeur,
00:05:02notre blog,
00:05:03notre chaîne YouTube et différents tutoriels que nous avons sur YouTube,
00:05:07GitHub et d'autres endroits.
00:05:08Notre communauté et nos connexions : nous avons un Slack développeur auquel tout le monde peut s'inscrire.
00:05:13Nous avons aussi un forum,
00:05:15afin que les gens puissent poser des questions dans les forums de la communauté.
00:05:18Et nous organisons des événements en personne tout au long de l'année.
00:05:22Nous avons également des outils de construction et de développement.
00:05:25Nous avons donc notre évaluation de la qualité des applications,
00:05:28c'est notre équipe qualité de l'écosystème.
00:05:29Ils examinent toutes les applications qui sont publiées sur notre marketplace et s'assurent qu'elles sont conformes à nos normes.
00:05:37Et ensuite,
00:05:37nous avons également des exemples d'applications.
00:05:39Et enfin, c'est nouveau, mais nous avons notre Dev MCP.
00:05:42Et nous avons travaillé très étroitement avec les ingénieurs qui l'ont construit afin qu'ils puissent comprendre comment créer un excellent produit MCP pour nos développeurs.
00:05:51Et enfin, la mise en valeur et la croissance.
00:05:53Nous avons une section études de cas où nous prenons d'excellents programmes développeurs et nous mettons en lumière comment ils utilisent HubSpot.
00:06:02Nous avons également des certifications marketplace.
00:06:04Ainsi,
00:06:05lorsque vous publiez votre application sur notre marketplace,
00:06:07vous pouvez obtenir la certification marketplace,
00:06:10ce qui signifie que vous obtiendrez une petite coche bleue ou un simple symbole pour faire savoir aux gens que vous êtes de qualité garantie.
00:06:16Et enfin, nous aidons à la coordination GTM (Go-To-Market).
00:06:19Ainsi,
00:06:19lorsque nous avons de grands lancements tout au long de l'année,
00:06:22nous aidons avec les supports marketing pour cela,
00:06:25en nous assurant de nous adresser à notre public de développeurs de la manière qui leur sera la plus bénéfique.
00:06:30Maintenant que nous avons parlé de qui nous sommes et de ce que nous faisons,
00:06:34parlons de la façon dont nous utilisons HubSpot et Vercel ensemble.
00:06:37Donc,
00:06:38comme Amy l'a dit,
00:06:39le mois dernier,
00:06:39nous avons organisé un webinaire sur l'intégration de votre propre backend.
00:06:43C'est l'un des principaux cas d'utilisation dont je vais parler ici : l'utilisation de Vercel comme service backend.
00:06:50Dans ce cas,
00:06:50vous avez votre application HubSpot,
00:06:52qui est notre frontend,
00:06:53et qui contient des composants d'interface utilisateur construits avec React que vous placez sur votre page afin de pouvoir les afficher pour le frontend dans un compte HubSpot.
00:07:03Et ensuite,
00:07:03vous avez votre backend Vercel,
00:07:05qui contiendra votre code.
00:07:06Et donc ce que vous ferez,
00:07:07c'est que dans votre code,
00:07:09vous utiliserez hubspot.fetch pour appeler votre backend via l'API que vous créez.
00:07:14Et ensuite,
00:07:15cela va retourner et manipuler les données,
00:07:17puis afficher une réponse au frontend.
00:07:20Pour vous montrer à quoi cela ressemble,
00:07:22je vais rapidement passer en revue un exemple que j'ai construit,
00:07:27et c'est un générateur de fichier LLMS.txt.
00:07:30Essayez de dire ça trois fois rapidement.
00:07:32Ce que cela fait,
00:07:33c'est que le générateur de fichier LLMS.txt est une application HubSpot qui prend une page web ou une URL de sitemap,
00:07:42analyse les données de la page pour créer ce fichier.
00:07:45Et un fichier LLMS.txt est un fichier pour les robots d'exploration de recherche IA afin qu'ils n'aient pas tout cet HTML supplémentaire.
00:07:55Il affiche vos informations dans un format de fichier Markdown afin qu'ils puissent le lire très rapidement.
00:08:02Et cela utilise HubSpot fetch pour appeler le point de terminaison de l'API Vercel et l'API de fichiers HubSpot pour télécharger ce fichier sur votre compte HubSpot.
00:08:11La capture d'écran que je montre ici est mon code,
00:08:15et c'est là que j'appelle réellement l'API Vercel.
00:08:18Et ici,
00:08:19j'ai juste enveloppé cela dans un try-catch,
00:08:22et ensuite j'ai envoyé le point de terminaison.
00:08:25Maintenant que j'en ai parlé, voyons comment ça marche.
00:08:28Je vais donc passer au frontend pour que vous puissiez voir.
00:08:31Ceci est à l'intérieur de notre compte HubSpot,
00:08:35et ici nous avons le générateur DevRel Labs.
00:08:38C'est ce qu'on appelle une page de paramètres d'application,
00:08:41et la raison spécifique pour laquelle j'ai choisi de l'afficher sur une page de paramètres d'application est que c'est un travail de type très administratif que les gens feraient pour leur site web.
00:08:51Je ne voulais donc pas le rendre accessible à n'importe quelle personne au sein de votre compte HubSpot.
00:08:55Je voulais m'assurer que seules les bonnes personnes y avaient accès afin que les gens ne les génèrent pas et ne causent pas de problèmes avec les robots d'exploration de recherche IA.
00:09:04Donc ici,
00:09:04vous pouvez choisir votre type,
00:09:06vous pouvez entrer un sitemap entier,
00:09:08ou vous pouvez entrer une seule URL.
00:09:10Évidemment,
00:09:11un sitemap,
00:09:11si votre site web est très grand,
00:09:13prendra un certain temps.
00:09:15Donc, l'URL unique sera beaucoup plus rapide.
00:09:17Alors vous pouvez simplement entrer votre URL.
00:09:20Je vais donc utiliser notre developers.hubspot.com,
00:09:24et ensuite cela va générer...
00:09:26Oh, j'ai eu une erreur..
00:09:28D'accord.
00:09:29Eh bien, c'est amusant.
00:09:30C'est en direct.
00:09:31Alors, voyons voir.
00:09:32Allons dans mes paramètres Vercel et voyons si nous obtenons un message d'erreur dans...
00:09:37Enfin, pas les logs de build..
00:09:39Donc ici, dans mon backend, nous pouvons voir les choses.
00:09:43Alors,
00:09:44voyons les logs d'exécution et voyons si nous pouvons trouver l'erreur.
00:09:46Eh bien,
00:09:47les choses ne fonctionnent pas,
00:09:49mais si c'était dans une situation parfaite,
00:09:53ce fichier llms.txt serait généré et il serait téléchargé sur votre compte HubSpot en utilisant cette fonction serverless Vercel que j'ai créée.
00:10:04Maintenant,
00:10:05je vais passer la parole au reste de mes coéquipiers pour parler de la façon dont nous utilisons également HubSpot d'autres manières,
00:10:12pas seulement en intégrant Vercel comme backend à HubSpot,
00:10:15mais aussi pour différentes choses que nous faisons.
00:10:18Je vais donc passer la main à Chris.
00:10:20Merci.
00:10:22Une chose que j'aime dans les démos qui ne fonctionnent pas parfaitement à 100 %,
00:10:27c'est que cela nous permet certainement d'avoir de l'empathie pour tous les développeurs qui regardent,
00:10:34notre communauté et ainsi de suite.
00:10:37Si nous pouvions revenir rapidement aux diapositives sur la machine de Brooke.
00:10:43Parfait.
00:10:44Merci.
00:10:45Bien sûr,
00:10:46nous aimerions que vous tous preniez votre créativité et vos idées et les apportiez aux clients HubSpot via une intégration utilisant nos API.
00:10:57Mais comment utilisons-nous également Vercel au sein de DevRel pour expérimenter et exécuter des tests très rapides et construire des prototypes très rapides afin que nous puissions tester les idées que nous avons en équipe et les présenter au reste de l'organisation.
00:11:15Nous avons donc quelque chose appelé DevRel Labs,
00:11:18et DevRel Labs est un ensemble de règles,
00:11:21un ensemble de processus qui s'étend à toutes les relations avec les développeurs,
00:11:26et cela nous donne l'occasion d'avoir une manière standard d'expérimenter,
00:11:31de prendre ces expériences,
00:11:33de les valider ou de les invalider,
00:11:35comme cela arrive parfois,
00:11:37et ensuite de les faire évoluer.
00:11:39Peut-être que cela se transforme en produit ou en une solution plus aboutie après coup.
00:11:46Et donc ce dont nous allons parler maintenant,
00:11:49ce sont deux expériences que j'ai menées,
00:11:52et ensuite nous passerons à Dennis pour parler de celle sur laquelle il a travaillé.
00:11:58Mais toutes ces expériences ont un processus clair et un objectif clair.
00:12:03Et l'une d'entre elles est que nous,
00:12:05comme de nombreuses organisations,
00:12:07avons une communauté Slack pour les développeurs externes.
00:12:10C'est un endroit où les personnes qui construisent des solutions sur HubSpot peuvent venir,
00:12:18s'engager,
00:12:19apprendre et s'entraider.
00:12:21Parce qu'en réalité,
00:12:22la meilleure communauté est une communauté qui a un engagement de pair à pair.
00:12:27Et donc nous avons pensé,
00:12:29que pouvons-nous faire pour apporter des solutions et des ressources plus rapidement à ces membres de la communauté ?
00:12:38Et l'une des solutions évidentes,
00:12:40je suis sûr que vous avez interagi avec plusieurs bots Slack,
00:12:43était de construire un bot Slack.
00:12:45Mais quand nous avons pensé à un bot Slack,
00:12:47ce n'est pas quelque chose que nous voulions juste dominer la conversation.
00:12:51Nous voulions qu'il soit là pour l'engagement.
00:12:53Il ne devait donc pas être trop intrusif.
00:12:57Et nous voulions qu'il soit là pour fournir rapidement des ressources en temps réel à notre communauté externe.
00:13:05Et donc nous l'avons construit sur Vercel.
00:13:08Parce que cela nous permet de créer très rapidement un prototype,
00:13:13puis d'en évaluer la qualité,
00:13:16et ensuite de décider ce que nous allons faire ensuite avec cela.
00:13:21Et en ce moment,
00:13:21nous sommes en phase d'expérimentation et de validation.
00:13:25Donc,
00:13:25en collaboration avec le reste de notre équipe communautaire au sein de DevRel,
00:13:29nous déciderons de la suite.
00:13:31Je voulais rapidement montrer à mon écran,
00:13:33les bots,
00:13:34et ce que vous voyez ici que nous avons,
00:13:36j'aime beaucoup cet écran d'accueil parce que c'est amusant,
00:13:40vous savez,
00:13:40les graphiques,
00:13:41les diagrammes et les chiffres sont toujours très amusants.
00:13:45Mais nous avons un écran simple qui nous donne des données sur l'adoption du bot.
00:13:51Mais il y a deux façons d'interagir avec le bot.
00:13:53Je peux le faire via un message direct,
00:13:55ou nous avons des canaux où le bot répondra automatiquement aux questions liées au support.
00:14:01Je vais donc soumettre une question très simplement : comment démarrer avec le HubSpot Dev MCP.
00:14:08Et ce que je voulais montrer,
00:14:10parce que je suis un peu limité dans ce que je peux réellement montrer de notre backend,
00:14:15c'est la journalisation en temps réel que nous obtenons de cela dans Vercel.
00:14:19Cela me permet de dire que celui-ci ici est probablement le chat en temps réel que je viens de soumettre.
00:14:33Et cela s'est passé rapidement,
00:14:34ce qui est une bonne nouvelle.
00:14:35Il passe rapidement à un message de réflexion.
00:14:39Il va vers OpenAI pour obtenir une réponse.
00:14:43Il revient via un outil pour voir s'il existe des ressources supplémentaires sélectionnées par l'équipe DevRel,
00:14:49que je pourrais donner à cet utilisateur et qui pourraient l'aider à avancer.
00:14:53Cela pourrait être YouTube,
00:14:55de la documentation,
00:14:56toutes sortes de ressources.
00:14:58Et ensuite, il donnera une réponse.
00:15:00Et donc je suppose que c'est la réponse, oui.
00:15:06Donc maintenant,
00:15:06si je reviens là-dedans,
00:15:08et que nous voyons que tout est 200.
00:15:10C'est le meilleur scénario, n'est-ce pas ?
00:15:13Et ça l'a fait.
00:15:14Donc non seulement il m'a donné une réponse,
00:15:18il m'a donné des articles à consulter.
00:15:21Il m'a dit de rejoindre le Dev Slack, je suis déjà là.
00:15:24Mais il m'a aussi donné des tutoriels et d'autres informations qui seraient liés à la question que je présentais ici.
00:15:35Et il m'a donné la bonne réponse,
00:15:36qui est de configurer votre environnement de développement,
00:15:39d'installer la CLI,
00:15:40d'installer le serveur MCP,
00:15:42et vous êtes prêt à partir.
00:15:43Et il a même donné quelques idées pour démarrer.
00:15:47Et donc comme vous pouvez le voir,
00:15:49c'était un moyen très simple pour nous de construire des tests et les logs sont si importants ici.
00:15:56Tester une solution en utilisant un bot Slack personnalisé,
00:15:59où nous,
00:15:59chez DevRel,
00:16:00notre responsabilité principale n'est pas de construire des solutions,
00:16:04comme nous sommes tous des développeurs,
00:16:06mais nous ne construisons pas au quotidien.
00:16:09Donc,
00:16:09tout ce sur quoi nous construisons doit être simple et très fluide.
00:16:15Maintenant,
00:16:15cela nous a préparés à quelque chose qui m'a un peu surpris.
00:16:18Si nous revenons aux diapositives,
00:16:21je vais vous expliquer comment cela a mené à une autre expérience.
00:16:27Désolé,
00:16:28avant cela,
00:16:29tu peux revenir,
00:16:31Brooke,
00:16:32à la diapositive avec le...
00:16:35Donc,
00:16:35d'abord,
00:16:36je voulais dire,
00:16:37quelles sont les choses dans Vercel qui m'ont vraiment enthousiasmé ?
00:16:39Premièrement,
00:16:40des logs faciles à lire,
00:16:41comme je l'ai montré,
00:16:42et je l'avais mis en direct.
00:16:43Vous avez donc vu le streaming des logs en temps réel.
00:16:46Les démarrages,
00:16:46nous avons affaire à un environnement serverless.
00:16:49Les démarrages ont été étonnamment rapides.
00:16:52C'est important pour Slack.
00:16:53Si vous avez déjà construit une intégration Slack ou tout autre outil tiers avec lequel vous intégrez,
00:16:59qui est aussi serverless,
00:17:00vous voulez des démarrages rapides.
00:17:02Et sur chaque niveau de Vercel,
00:17:04il y a des démarrages rapides.
00:17:06J'adore la CLI pour pouvoir déployer avant de commettre ou de faire une pull request,
00:17:12pour m'assurer que si je mets du code bancal,
00:17:14je peux détecter les problèmes plus rapidement avant de déployer et bien sûr,
00:17:19déployer vers divers environnements.
00:17:22Et puis aussi,
00:17:22un peu comme nous avons une marketplace,
00:17:25ils ont des connexions vers des services comme Neon et Upstash pour Redis et Postgres,
00:17:30ce qui rend très,
00:17:31très rapide la mise en place d'une base de données backend.
00:17:35Et c'était important.
00:17:37En parlant de base de données backend,
00:17:39c'est ce qui a mené à la suite.
00:17:41Nous avons donc toutes ces interactions maintenant dans notre Dev Slack.
00:17:48Et cela s'avère être une source d'informations très riche.
00:17:52Évidemment, nous pouvions l'intuiter.
00:17:54Mais l'une des choses qui m'a surpris,
00:17:56c'est de réaliser que je pouvais probablement créer une autre interface frontend pour ces données,
00:18:02de sorte que nous puissions l'utiliser pour revenir à ce que Brooke a dit auparavant,
00:18:07pour éduquer et informer notre processus de feedback,
00:18:10comment nous recevons l'information,
00:18:12comment nous réintégrons cette information dans le produit pour améliorer l'expérience développeur.
00:18:18Et donc nous sommes passés de la construction d'un Slackbot à passer soudainement à V0 dans un nouveau projet,
00:18:26en prenant ces données,
00:18:27en créant un frontend très simple protégé par mot de passe pour exposer quelles sont les choses sur lesquelles les gens posent des questions ?
00:18:37Quels sont les types de ressources que nous mettons en avant ?
00:18:40Nous avons donc beaucoup de conversations sur les webhooks,
00:18:43nous avons beaucoup de conversations sur l'authentification.
00:18:46Cela nous a permis de montrer l'impact des expériences que nous menions,
00:18:51ce qui est vraiment,
00:18:52vraiment cool parce que nous devons faire évoluer ce Slackbot.
00:18:57Nous ne voulions pas juste le construire et le laisser tomber.
00:18:59Nous devons passer à l'étape suivante.
00:19:01Et la meilleure façon de faire cela si vous avez été en réunion avec des dirigeants est de montrer un graphique ou de faire une sorte de présentation.
00:19:10Et cela nous aidera à prendre des décisions avec l'équipe communautaire au sein de DevRel pour dire,
00:19:17que allons-nous faire ?
00:19:18Allons-nous le garder ?
00:19:19Allons-nous le faire progresser ?
00:19:21Si nous le faisons progresser,
00:19:24alors l'infrastructure du backend du bot va changer.
00:19:28Mais il n'y avait pas de meilleure façon pour nous de commencer que de le construire sur une plateforme très facile à utiliser comme Vercel,
00:19:38avoir des visualisations,
00:19:39et maintenant nous pouvons décider quoi faire ensuite.
00:19:43Alors maintenant,
00:19:44nous allons regarder ce que Dennis a construit,
00:19:47qui est encore plus avancé que ce que j'ai construit et oserais-je dire meilleur,
00:19:51mais aussi une autre expérience au sein de DevRel Labs.
00:19:55Et donc, Dennis, c'est à toi.
00:19:57Merci, Chris.
00:19:59Et merci d'avoir dit que c'était mieux.
00:20:01Mon Dieu, j'espère que tout le monde écoute ça.
00:20:04Avant de travailler chez HubSpot,
00:20:06je travaillais dans une agence.
00:20:08Et quand Chris m'a parlé de ces choses que nous faisons chez DevRel Labs,
00:20:12j'avais un problème très spécifique que j'ai rencontré à l'agence,
00:20:17et c'était que je construisais quelque chose,
00:20:19l'une de ces trois choses.
00:20:21Soit je construisais quelque chose,
00:20:22j'en avais fini avec,
00:20:23et c'était en mode maintenance.
00:20:24Je le surveille juste de temps en temps.
00:20:25Cela se cassait plus tard parce que j'avais manqué quelque chose qui se passait dans l'écosystème HubSpot.
00:20:31Ou j'héritais d'un tas de projets,
00:20:34et je n'avais aucune idée de ce qu'ils faisaient.
00:20:37Et donc finalement l'un d'eux rencontrait un changement cassant et se cassait,
00:20:41et je devais trouver où,
00:20:43pourquoi et comment.
00:20:44Et la dernière chose,
00:20:45et c'est probablement la plus importante pour moi,
00:20:47c'est qu'il y a tellement de choses à surveiller,
00:20:50je perdais souvent le fil de ce que je faisais.
00:20:52Je ne fais pas attention aux journaux de modifications,
00:20:55et quelque chose se casse.
00:20:56Et devinez quoi ?
00:20:57Vous avez des clients qui vous crient dessus à ce moment-là.
00:20:59Ce que j'ai décidé,
00:21:00c'est de construire la diapositive suivante : l'outil de surveillance des journaux de modifications des développeurs HubSpot,
00:21:08alias nom de code Sprocky change dust.
00:21:10Ce que cet outil fait,
00:21:11c'est qu'il surveille activement le journal de modifications de HubSpot qui utilise l'IA pour examiner ces entrées de journal de modifications,
00:21:17décider de quel type de changement il s'agit.
00:21:19Est-ce un changement cassant ?
00:21:21Est-ce une amélioration ?
00:21:22Cela affecte-t-il le CMS ?
00:21:23Cela affecte-t-il le CRM ?
00:21:24Cela affecte-t-il les deux ?
00:21:26Et ensuite,
00:21:27cela vous permet d'utiliser des dépôts hébergés sur GitHub pour vérifier ces journaux de modifications par rapport à votre dépôt,
00:21:34vous permettant,
00:21:35en gros,
00:21:35d'avoir un assistant qui examine le journal de modifications pour vous.
00:21:39Alors, comment l'avons-nous fait ?
00:21:40La boîte à outils que nous avons utilisée ici sera un framework React construit avec Vercel,
00:21:45évidemment Next.js,
00:21:46parce que,
00:21:47vous savez,
00:21:47ça va de pair,
00:21:48Superbase pour notre base de données,
00:21:50et ensuite nous avons dû construire une application GitHub qui nous permet de nous connecter à ces dépôts là-bas.
00:21:56Et ensuite,
00:21:57grâce à des fonctions serverless sur Vercel et OpenAI,
00:22:00j'ai pu récupérer des données de très bonne qualité sur lesquelles l'utilisateur peut agir.
00:22:06Pourquoi ai-je choisi Vercel ?
00:22:07Honnêtement, c'est super facile à configurer.
00:22:11Je n'ai pas eu à me soucier beaucoup du frontend.
00:22:13J'avais une application fonctionnelle en moins d'une demi-heure facilement.
00:22:18Avec les fonctions serverless,
00:22:20j'ai pu vraiment réduire le coût d'exécution de ce serveur.
00:22:23Il n'est actif que lorsque j'en ai besoin.
00:22:25J'envoie ces files d'attente par lots à OpenAI pour qu'il les traite,
00:22:29et il les ramène,
00:22:30le fait rapidement.
00:22:31J'ai économisé des tonnes d'argent en faisant cela.
00:22:32Et puis aussi le fait que je peux tester seul et ensuite passer à des milliers de personnes utilisant cette application,
00:22:39Vercel est juste là,
00:22:40il s'adapte avec moi.
00:22:42Tout le processus a été génial.
00:22:44Alors,
00:22:45passons à la diapositive suivante,
00:22:46vous pouvez voir que c'est essentiellement le frontend que j'ai construit avec Next.js.
00:22:50Vous verrez que nous importons toutes nos entrées de journal de modifications.
00:22:53Ici même,
00:22:53vous pouvez voir une description de ce qu'est ce journal de modifications.
00:22:57Si vous savez ici maintenant,
00:22:58vous pouvez déjà créer une issue pour un dépôt GitHub spécifique que vous avez attaché,
00:23:03ce qui nous amène à la diapositive suivante,
00:23:05nous devons le connecter à GitHub.
00:23:07Cela vous permet de connecter autant de dépôts que vous le souhaitez.
00:23:11Lors de la première analyse,
00:23:13il va effectuer une analyse programmatique juste pour voir s'il pense que c'est pertinent pour HubSpot.
00:23:18N'oubliez pas,
00:23:19vous avez peut-être hérité de dépôts,
00:23:21comme 50 dépôts.
00:23:22Vous n'avez aucune idée de ce qu'ils font.
00:23:23Vous les jetez ici.
00:23:24Il va effectuer une analyse initiale.
00:23:26Il va trouver n'importe quoi,
00:23:28des modèles de fichiers qu'il peut trouver pour dire,
00:23:30oh oui,
00:23:31cela pourrait être lié à HubSpot,
00:23:33à quel point vous pouvez passer à la diapositive suivante et vous verrez que vous pouvez cliquer sur le bouton HubSpot là-bas,
00:23:39ce qui signifie qu'il va l'envoyer à OpenAI par lots.
00:23:42Il va surveiller,
00:23:43il utilise un système RAG pour envoyer uniquement les détails importants qu'il pense être liés à votre dépôt et à HubSpot.
00:23:49Cela va prendre un peu de temps,
00:23:51et une fois que c'est fait,
00:23:53il reviendra et vous montrera tous les résultats possibles.
00:23:56Vous recevez un e-mail de notification,
00:23:58je travaille aussi sur une notification Slack,
00:24:01qui dit,
00:24:01hé,
00:24:02tu ferais mieux de vérifier ça.
00:24:03Vous avez alors la possibilité de dire,
00:24:04d'accord,
00:24:05c'est légitime,
00:24:06je vais créer une issue à ce sujet et nous commencerons à travailler dessus,
00:24:09ou je peux le rejeter parce que cela ne concerne pas vraiment cela.
00:24:12Une fois que vous le rejetez,
00:24:13nous sommes assez intelligents pour commencer à réaliser,
00:24:16d'accord,
00:24:16ce n'est peut-être pas ce que nous voulons surveiller pour ce dépôt particulier,
00:24:20donc nous mettrons à jour le graphique d'utilisation.
00:24:23Après cela,
00:24:24nous allons surveiller continuellement chaque dépôt,
00:24:27donc si vous apportez des modifications à l'un des dépôts,
00:24:31nous le surveillons.
00:24:32Si vous faites un changement majeur,
00:24:34nous allons rescanner tous les journaux de modifications par rapport à ce nouveau changement que vous avez ajouté pour nous assurer que vous n'avez pas fait quelque chose que vous ne saviez pas être un problème.
00:24:43Cela nous permet également d'aller de l'avant et j'ai oublié ce que j'allais dire.
00:24:50Cela nous permet de vérifier chaque fois qu'un nouveau journal de modifications arrive,
00:24:55cela nous permet de parcourir chaque dépôt connecté que vous avez pour voir si ce journal de modifications vous est spécifique.
00:25:01Cela vous permet de ne pas avoir à compter sur vos yeux pour aller au journal de modifications et déterminer si cela vous concerne ou non.
00:25:08Cela permet au journal de modifications de venir à vous dans votre boîte de réception et vous pouvez y réagir selon vos besoins.
00:25:14Ceci étant dit,
00:25:15je pense que nous sommes à l'heure des questions-réponses.
00:25:17J'ai essayé de passer cela en revue aussi rapidement que possible afin que nous puissions avoir des questions-réponses si nécessaire.
00:25:22Tu as fait du bon travail, Dennis.
00:25:23Oui, excellent travail, Dennis.
00:25:25Rapide, tir rapide.
00:25:26Très rapide.
00:25:27Très bien, nous avons quelques minutes ici.
00:25:31J'ai une question pour commencer.
00:25:34Je sais que nous avons vu aujourd'hui que les démos ne se passent pas toujours parfaitement en direct.
00:25:39Et bien que Vercel facilite les choses pour les gens,
00:25:42il y a toujours quelque chose que nous pouvons améliorer.
00:25:45Personne n'est parfait.
00:25:46Avez-vous des demandes de fonctionnalités que vous aimeriez que je partage avec l'équipe d'ingénierie ?
00:25:51Y a-t-il quelque chose que vous aimeriez voir différemment ou qui manque entièrement ?
00:25:55Je ne sais pas encore pour ce qui manque.
00:26:00Mais honnêtement,
00:26:01il y a des fonctionnalités que vous venez de déployer récemment,
00:26:04prolongeant le temps d'exécution d'une fonction serverless,
00:26:07je crois.
00:26:07Je ne me souviens plus du nom de celle que vous venez de déployer,
00:26:11qui m'intéresse beaucoup car lorsque j'opère avec OpenAI,
00:26:14attendre un résultat pourrait dépasser la durée de la fonction serverless.
00:26:19Vous aviez un nom pour cela et je m'excuse,
00:26:20mais j'ai oublié ce que c'était.
00:26:21Mais je suis vraiment excité de commencer à utiliser cela ainsi que votre SDK AI que vous venez également d'introduire.
00:26:28Ce ne sont pas des demandes de fonctionnalités,
00:26:31ce sont moi qui apprécie les fonctionnalités que vous proposez.
00:26:34J'en ai une autre.
00:26:35En fait,
00:26:35j'ai utilisé l',
00:26:37j'oublie le nom de l'API pour les déploiements parce que je n'ai pas,
00:26:43c'était un peu ennuyeux de passer de l'application frontend que j'ai construite à,
00:26:49le déploiement a-t-il même réussi ?
00:26:53Et donc vous avez une API pour obtenir le statut de déploiement.
00:26:56Donc je n'ai pas à faire ça.
00:26:58Je peux attendre qu'il soit lu avant de,
00:27:00car je ne veux pas vraiment regarder l'interface tant qu'il n'y a pas de problème.
00:27:05Et si j'ai un déploiement échoué,
00:27:07c'est le problème le plus frustrant que je rencontre.
00:27:09Mais sinon,
00:27:10avoir plusieurs projets et je pense que certaines interfaces,
00:27:14il y a toujours des endroits à améliorer en termes d'expérience,
00:27:19mais il n'y a pas eu une seule chose que j'ai remarquée.
00:27:23Oui,
00:27:23j'ai un piège possible qui pourrait être de mon côté et non de Vercel.
00:27:28Donc si c'est une demande de fonctionnalité, super.
00:27:30Si c'est moi, vous savez, honte à moi.
00:27:33J'ai fait une tonne de tests localement avec toutes mes affaires et les fonctions ne meurent pas localement.
00:27:38Du moins, pas pour moi.
00:27:40Donc tout semblait aussi lisse que du beurre,
00:27:42vous savez,
00:27:42c'était incroyable.
00:27:43Tout fonctionne.
00:27:44Ça marchait sur ma machine.
00:27:45Oui.
00:27:46Ça marchait sur ma machine.
00:27:47Exactement.
00:27:48Classique.
00:27:49Donc si vous faites un,
00:27:50vous savez,
00:27:51un Vercel et vous savez,
00:27:52les fonctions meurent éventuellement,
00:27:54je,
00:27:54encore une fois,
00:27:55cela pourrait être de mon ressort où j'ai juste besoin de,
00:27:58vous savez,
00:27:58limiter mes,
00:27:59mettre un régulateur en gros sur mes fonctions pour ne leur permettre de s'exécuter que pendant une certaine période.
00:28:04Mais si Vercel pouvait offrir cela clé en main,
00:28:07ce serait assez incroyable.
00:28:08C'est comme un temps d'exécution plus long.
00:28:10Oui.
00:28:11Non, non.
00:28:12Comme,
00:28:12enfin,
00:28:13des temps d'exécution correspondant à ceux de la production.
00:28:17Localement.
00:28:18Oui.
00:28:19D'accord.
00:28:20Oui.
00:28:21J'ai aussi rencontré certains de ces problèmes.
00:28:22Bon à savoir.
00:28:23Tu as quelque chose ?
00:28:24C'est super.
00:28:25Je sais.
00:28:26J'ai vécu ça toute ma vie,
00:28:28frapper à côté de moi m'aide à me souvenir.
00:28:32Je n'ai pas de demandes spécifiques,
00:28:34non,
00:28:35mais je voulais juste signaler que si vous êtes nouveau chez HubSpot,
00:28:39mais que vous avez aimé ce que vous avez vu et que vous voulez nous essayer.
00:28:43Vous pouvez toujours rejoindre notre Slack développeur.
00:28:45Nous en avons parlé et vous pouvez aussi aller consulter notre documentation développeur afin que vous puissiez essayer des choses par vous-même.
00:28:55En effet.
00:28:56Génial.
00:28:57Voyons voir.
00:28:58J'ai une autre question que j'aime poser et c'est,
00:29:01je sais que vous avez couvert beaucoup de choses.
00:29:05Donc s'il y a un point clé à retenir,
00:29:07une bonne pratique ou juste un conseil clé que vous voulez que les gens retiennent de cela ?
00:29:14J'en ai un et je ne l'ai pas suivi et je ne le suis toujours pas et je suis en colère contre moi,
00:29:20je suis très en colère contre moi-même.
00:29:23Utilisez des environnements et configurez-les tôt.
00:29:27N'essayez pas de le faire après coup car c'est si douloureux.
00:29:32Donc,
00:29:33avoir votre environnement tôt,
00:29:35c'est une chose comme dans l'interface,
00:29:37il est très facile d'avoir vos variables d'environnement liées à un environnement.
00:29:43Configurez des environnements, utilisez-les tôt.
00:29:48N'attendez pas car le faire plus tard est si, si douloureux.
00:29:51Et je sais que nous voulons tous juste construire des fonctionnalités et les voir fonctionner le plus rapidement possible.
00:29:57Et donc avoir un environnement de test peut être un peu ennuyeux,
00:30:00mais oui,
00:30:01c'est ce que je recommanderais.
00:30:03Je plussoie cela.
00:30:04J'avais une erreur et je demandais à Cursor pourquoi mon erreur,
00:30:08pourquoi cela ne fonctionnait pas quand j'étais dans mon environnement de développement et c'était parce que je n'avais pas activé l'utilisation de ma clé secrète d'environnement dans mon environnement de développement.
00:30:22Donc c'était comme s'il ne trouvait pas la clé.
00:30:24Donc c'était un peu bête.
00:30:26Mais oui,
00:30:26je vois cette question sur la façon dont vous utilisez l'IA dans vos workflows ?
00:30:30Donc spécifiquement avec moi,
00:30:32j'aime utiliser notre MCP développeur.
00:30:35Je pense que c'est un très bon produit et nous essayons toujours d'obtenir des retours sur la façon dont nous pouvons améliorer ce MCP développeur pour les développeurs HubSpot.
00:30:43Mais j'adore ça parce que quand je demande à Cursor,
00:30:46genre,
00:30:46oh,
00:30:47je veux faire quelque chose.
00:30:48Ce qu'il fera,
00:30:49c'est qu'il recherchera dans nos documents en temps réel.
00:30:51Vous obtiendrez donc toujours les informations les plus à jour.
00:30:55Ce ne sera pas obsolète lorsque vous poserez une question au MCP et qu'il lancera cette recherche dans les documents.
00:31:04Mon ajout est d'être, j'utilise l'IA avec scepticisme.
00:31:07Je remets en question tout ce qu'il me renvoie parce que souvent,
00:31:10vous savez,
00:31:11ce n'est toujours pas parfait.
00:31:12Ne le faites pas, c'est si facile.
00:31:14C'est comme des bonbons.
00:31:15Vous savez,
00:31:16vous pouvez juste cliquer sur accepter,
00:31:17aller,
00:31:18aller,
00:31:18aller,
00:31:19aller,
00:31:19aller.
00:31:19Vous êtes à 17 commits de profondeur.
00:31:21Et ensuite,
00:31:22vous savez,
00:31:22ce troisième commit va en fait tout casser.
00:31:26Alors utilisez l'IA de manière sceptique.
00:31:31Soyez très critique à son égard.
00:31:33Toujours,
00:31:34toujours,
00:31:34toujours créer de nouvelles branches lorsque vous faites quelque chose de nouveau.
00:31:38De cette façon,
00:31:38vous pouvez simplement vous en débarrasser si nécessaire.
00:31:40Profitez de Vercel et de son environnement de prévisualisation,
00:31:45vous savez,
00:31:46pour faire cela et oui,
00:31:48ne vous y fiez pas trop.
00:31:50Tous de bons conseils.
00:31:51Je sais que nous sommes à l'heure et vous êtes tous très occupés et avez probablement des choses à faire juste après cela.
00:31:58Alors merci beaucoup d'avoir pris le temps.
00:32:00Je vais vous laisser partir pour que vous puissiez reprendre votre journée.
00:32:03J'apprécie.
00:32:04Merci.
00:32:05Merci à Vercel et à tous ceux qui sont venus.
00:32:09Génial.
00:32:11Juste un petit rappel.
00:32:12Nous avons une autre session la semaine prochaine.
00:32:14Nous parlerons de Python chez Vercel.
00:32:18Et vous pouvez toujours consulter le calendrier des événements sur community.vercel.com/events pour voir tout ce qui arrive ensuite.
00:32:24Merci à tous.
00:32:25Passez une bonne semaine.