Retour au Blog

Ce que j'ai appris dans le travail web fédéral

2026-04-245 min read

La semaine prochaine sera ma dernière semaine dans le cadre de ce contrat. J'ai décidé de partir, et avant de passer à autre chose, j'ai voulu consigner ce que j'ai réellement fait au jour le jour.

Je n'étais pas un employé direct de l'agence. Je travaillais pour un sous-traitant, affecté au programme de l'agence en tant que chef technique / architecte. C'est l'organisation derrière une grande partie du travail web fédéral. Vous faites partie de l'équipe au quotidien, mais votre salaire provient d'ailleurs.

Il y a eu un processus d'habilitation avant que je puisse commencer. Vérification des antécédents, formulaires, références, une attente. C'est standard pour le travail contractuel fédéral, et cela façonne l'intégration plus que la plupart des emplois du secteur privé.

Ce que j'ai réellement fait

La majeure partie de mon temps a été consacrée aux sites de contenu destinés au public. Des milliers de pages, des millions de visiteurs, du contenu en plusieurs langues. La plupart des traductions étaient gérées par un service externe, MotionPoint. Quelques sites utilisaient la traduction intégrée de Drupal à la place, pour les variantes espagnole, chinoise et coréenne. Chacune avait ses propres particularités concernant les URL localisées et les différents systèmes d'écriture.

Une grande partie du travail consistait à maintenir en bon état un portefeuille de sites Drupal existants. Mises à niveau de version, mises à jour de modules, corrections et développement de fonctionnalités. J'ai également participé à un projet plus vaste visant à consolider plus de 400 sites Drupal en 8 pôles. Ce projet est toujours en cours.

J'ai effectué des audits. Inventaire de milliers de PDF. Vérification de l'accessibilité. Recherche de liens brisés et de contenu obsolète. La plupart de ce travail manuel s'est transformé en scripts Python. Audits de PDF, extractions d'analyses, scrapers, vérifications de redirections, générateurs de rapports. L'équipe utilise encore certains d'entre eux.

J'ai également soutenu l'équipe d'analyse de données. GA4, Google Search Console et GTM. Extraction de rapports, correction de problèmes de suivi, investigation de divergences et maintien de la synchronisation du suivi avec les changements de site. J'ai également automatisé une partie de la génération de rapports en Python.

La première chose que j'ai prise en charge a été le processus de déploiement. La majeure partie fonctionnait déjà sur Jenkins, mais une étape critique nécessitait encore que quelqu'un exécute un script shell depuis son ordinateur portable. Le transfert de cette dernière pièce vers Jenkins a été ma première victoire.

Plus tard, j'ai ajouté CodeDeploy pour les environnements inférieurs afin d'accélérer les déploiements. À la fin, un déploiement qui prenait plus d'une heure s'exécutait en quelques minutes.

L'astreinte faisait partie du travail. Les problèmes de production n'attendent pas les heures de bureau.

J'ai également passé du temps sur une plateforme de syndication de contenu en dehors de notre pile principale. Basée sur Grails, plus ancienne, ce n'était pas quelque chose avec lequel j'avais travaillé auparavant. Le Groovy que j'écrivais pour les pipelines Jenkins s'est transféré, ce qui a rendu la prise en main de la plateforme plus rapide qu'elle ne l'aurait été autrement. Je l'ai suffisamment bien apprise pour la dépanner et j'ai aidé à la mise à niveau d'un serveur vers Ubuntu 22.04.

Quelques autres choses que j'ai touchées.

  • Deux applications React, des éléments front-end plus petits superposés au CMS et liés au système de conception fédéral.
  • AWS au quotidien. Équilibreurs de charge, groupes cibles, CodeDeploy et une quantité considérable de débogage de problèmes de production qui n'apparaissent qu'avec le trafic réel.
  • Tests avec Playwright et Cypress, pytest pour Python. Vers la fin, j'ai expérimenté avec Playwright et un LLM pour détecter les régressions visuelles que les diffs normaux manquent.
  • Démonstrations et preuves de concept d'IA, montrant à la direction ce que les outils modernes pouvaient faire et comment ils pourraient s'intégrer sans faire échouer un examen de sécurité.

La pile comprenait Drupal, PHP, Python, JavaScript, React, Groovy, Jenkins, Docker, AWS, Splunk et USWDS (le US Web Design System). À la fin, beaucoup d'outils d'IA aussi (Gemini, OpenAI, bases de données vectorielles, serveurs MCP).

Quelques choses que j'ai remarquées

Le processus est réel. Revues de sécurité, audits d'accessibilité, gels de contenu, planification de sprints entre les pods. Le premier mois, cela semblait lent. Puis vous comprenez pourquoi c'est là.

Jira, Confluence et Bitbucket étaient tous auto-hébergés pour la conformité FedRAMP. Les versions cloud n'étaient pas une option.

Il y a beaucoup de réunions. Standups, planification de sprints, revues d'architecture, revues de contenu, synchronisations de pods, entretiens individuels, démonstrations, appels de statut. Certaines étaient essentielles. D'autres non.

L'accessibilité n'est pas une case à cocher. Elle change la façon dont vous nommez les choses, structurez les pages et testez.

Les éditeurs et les chefs de programme faisaient partie des personnes avec qui je travaillais au quotidien, pas seulement d'autres ingénieurs.

Vous travaillez avec de nombreux fournisseurs externes. Akamai pour le CDN et la sécurité périmétrique, un partenaire AWS pour l'infrastructure, GSA pour l'intégration de search.gov, et divers fournisseurs d'audit et de revue en cours de route. Une partie réelle du travail consiste à obtenir des réponses auprès de différentes entreprises, pas seulement au sein de votre équipe.

La communication est une grande partie du travail. Probablement plus que ce que j'avais prévu en entrant.

J'ai beaucoup écrit. Mises à jour de statut, runbooks, documents de passation, tickets. Je suis littéralement en train d'écrire un e-mail de passation pendant que je tape ceci.

Beaucoup de temps a été consacré à expliquer les compromis techniques à des personnes qui ne sont pas techniques.

Vers la fin, j'ai fait du travail sur l'IA. Flux de travail assistés par IA, classificateurs LLM pour les PDF et serveurs MCP. Nous avons également entamé des discussions sur l'intégration d'agents de codage comme Codex et Claude Code dans notre flux de travail. Ces approbations sont toujours en attente du côté gouvernemental.

Le débogage dans le cloud est une chose en soi. La production AWS ne ressemble pas à votre ordinateur portable. Vous passez beaucoup de temps dans Splunk, CloudWatch et les historiques de déploiement.

J'ai eu la chance de diriger des personnes intelligentes et de travailler pour un manager qui m'a fait confiance pour faire le travail. Cela a facilité la plupart des autres aspects.

C'est tout. À la prochaine étape.

Restez Informé

Recevez les derniers articles et analyses directement dans votre boîte de réception.

Unsubscribe anytime. No spam, ever.