Automation

Comment j'utilise Apple Shortcuts pour investiguer 10x plus vite en alerting

✍️Enzo
📅30/11/2025
⏱️7 min
👁️...
#productivité#macOS#automation#SRE#monitoring#shortcuts#alerting#investigation#DevOps#oncall

Tu es oncall, il est 2h du matin, Opsgenie hurle, et tu as un UUID de trace devant toi. Tu sais qu'il faut le chercher dans Datadog... mais tu dois :

  1. Copier l'UUID
  2. Ouvrir Chrome
  3. Aller sur Datadog
  4. Chercher la bonne page
  5. Coller l'UUID
  6. Lancer la recherche

6 étapes et déjà 45 secondes perdues alors que le service brûle. 😤

Plot twist : Et si je te disais qu'avec un simple raccourci clavier, tu passes de 6 étapes à... 1 seule ? Sélectionne ton UUID, tape ⌘⌥\, et BAM ! Datadog s'ouvre directement sur la bonne trace.

Aujourd'hui, je vais te montrer comment j'ai créé un système intelligent de navigation avec l'app Raccourcis d'Apple qui détecte automatiquement le type d'info (UUID, pod Kubernetes, job ID, etc.) et t'envoie directement au bon endroit. Bienvenue dans le futur de l'investigation ! 🔍

Le problème : L'enfer de l'investigation multi-outils

La réalité d'un SRE en alerting

Une alerte Opsgenie te réveille. Dans le message, tu as :

  • Un UUID de trace → à chercher dans Datadog APM
  • Un nom de pod K8s → à inspecter dans kubectl
  • Un ID de job CI → à vérifier dans GitHub Actions
  • Un ID de build → à debug dans Jenkins
  • Un Request ID → à tracer dans Grafana

Le workflow actuel (sans automation) :

# Scénario classique à 3h du matin
1. Lire l'alerte Opsgenie → Identifier l'info clé
2. Copier manuellement l'UUID/ID/nom
3. Se rappeler quel outil utiliser (Datadog? K8s? GitHub?)
4. Ouvrir le bon site
5. Naviguer vers la bonne section
6. Coller et chercher
7. Répéter pour chaque info...
---
Temps total : 2-3 minutes PAR info
Stress level : 📈 MAX
Risque d'erreur : Élevé (mauvais outil, typo, etc.)

Les stats qui font mal :

  • ~15 clics en moyenne pour arriver à la bonne page
  • 2.5 minutes perdues par recherche manuelle
  • 7-8 recherches en moyenne par incident
  • ≈ 20 minutes perdues par incident juste en navigation ! 😱

Pourquoi les outils classiques ne suffisent pas

Tu vas me dire : "Mais j'ai Alfred/Raycast !". Oui, mais :

❌ Alfred/Raycast : Super pour lancer des apps, mais...
   - Faut taper la commande + l'argument
   - Pas de détection automatique du type
   - Configuration complexe pour du multi-outils

❌ Bookmarks Chrome : Pratique, mais...
   - Faut toujours naviguer manuellement
   - Pas de gestion des paramètres dynamiques
   - Lent quand tu as 50+ bookmarks

❌ Clipboard managers : Utiles, mais...
   - Pas d'intelligence contextuelle
   - Tu dois quand même faire le routing manuel

L'app Raccourcis d'Apple, elle, c'est le couteau suisse qui manquait ! 🎯

La solution : Un raccourci intelligent avec détection par regex

Architecture du système

Voici comment fonctionne mon raccourci magique :

Architecture du système de détection intelligent avec routage automatique vers les outils

Démo en action :

Démonstration du raccourci en action : sélection d'un @profile et ouverture automatique dans Youtube
Du texte sélectionné à Youtube ouvert en 2 secondes ⚡

Le flow en détail :

  1. Tu sélectionnes n'importe quel texte (UUID, ID, nom, etc.)
  2. Tu tapes ⌘⌥\ (raccourci clavier personnalisé)
  3. Le shortcut analyse avec des regex pour identifier le type
  4. Il ouvre automatiquement la bonne URL avec le bon paramètre
  5. Profit ! Tu arrives directement là où tu dois être 🎉

Création du raccourci de base

Ouvre l'app Raccourcis sur macOS et crée un nouveau raccourci :

Interface de l'application Raccourcis Apple montrant la configuration du raccourci Smart Investigation
Configuration du raccourci dans l'app Raccourcis : actions conditionnelles et détection par regex

💾 Téléchargement direct : Tu veux gagner du temps ? Télécharge mon raccourci "Detective Mode" prêt à l'emploi ! Tu pourras ensuite le personnaliser selon tes besoins.

📱 Raccourci : "Smart Investigation"
🔑 Raccourci clavier : ⌘⌥\ (Command + Option + \)
---
Actions :
1. Recevoir [Sélection] en entrée depuis [N'importe où]
2. Définir [Texte sélectionné] sur [Entrée du raccourci]
3. Si [Texte sélectionné] correspond à la regex...
   (C'est là que la magie opère !)

Les patterns de détection intelligents

Voici un tableau récapitulatif des patterns de détection. Chaque regex est optimisée pour éviter les faux positifs :

TypePattern RegexExempleAction automatique
🔍 UUID Datadog^[0-9a-f]{8}-[0-9a-f]{4}-4...f47ac10b-58cc-4372-a567-...Ouvre trace APM Datadog
🐳 Pod Kubernetes^[a-z0-9]...-[a-z0-9]{8,10}-[a-z0-9]{5}$auth-service-7d9f8c6b5-x7k2mTerminal + kubectl logs -f
🔧 GitHub Actions^[0-9]{10,11}$12345678901Ouvre GitHub Actions Run
🏗️ Jenkins Build^[0-9]{1,6}$42567Ouvre Jenkins Job + Build
📊 Grafana Hash^[0-9a-f]{16}$a1b2c3d4e5f6g7h8Ouvre Grafana Explore
🚨 Opsgenie Alert^[0-9a-f]{8}-[0-9a-f]{4}-...550e8400-e29b-41d4-...Ouvre Alert Detail
🐋 Docker Container^[0-9a-f]{12}$ ou ^[0-9a-f]{64}$a1b2c3d4e5f6Terminal + docker logs -f
🎫 Jira Ticket^[A-Z]{2,10}-[0-9]{1,6}$DEVOPS-1234Ouvre Jira Issue
🌐 IP Address^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$192.168.1.1Menu: Ping/Traceroute/Whois

💡 Note: Les patterns complets sont configurables dans le raccourci. Tu peux ajouter tes propres détections selon tes outils !

Implémentation : Le raccourci complet

Configuration dans Raccourcis Apple

Voici le flow complet du raccourci (je te donne le pseudo-code car l'interface visuelle est difficile à représenter ici) :

🔧 RACCOURCI : "Smart Investigation"
─────────────────────────────────────
1. Recevoir [Texte] depuis [Sélection]
2. Définir variable [Input] = [Texte]
3. Nettoyer [Input] (trim espaces, lowercase si nécessaire)
─────────────────────────────────────
4. SI [Input] correspond à UUID_REGEX
   → Ouvrir URL : https://app.datadoghq.com/apm/trace/[Input]
─────────────────────────────────────
5. SINON SI [Input] correspond à K8S_POD_REGEX
   → Exécuter script Shell :
     osascript -e 'tell application "Terminal"
         do script "kubectl logs -f [Input] --tail=100"
         activate
     end tell'
─────────────────────────────────────
6. SINON SI [Input] correspond à GH_JOB_REGEX
   → Ouvrir URL : https://github.com/my-org/my-repo/actions/runs/[Input]
─────────────────────────────────────
7. SINON SI [Input] correspond à JENKINS_REGEX
   → Demander nom du job (variable globale ou menu)
   → Ouvrir URL : https://jenkins.company.com/job/[JOB_NAME]/[Input]
─────────────────────────────────────
8. SINON SI [Input] correspond à OPSGENIE_REGEX
   → Ouvrir URL : https://company.app.opsgenie.com/alert/detail/[Input]
─────────────────────────────────────
9. SINON SI [Input] correspond à GRAFANA_REGEX
   → Ouvrir URL : https://grafana.company.com/explore?query=[Input]
─────────────────────────────────────
10. SINON SI [Input] correspond à DOCKER_REGEX
    → Exécuter Terminal :
      docker logs -f [Input] --tail=200
─────────────────────────────────────
11. SINON SI [Input] correspond à IP_REGEX
    → Menu : [Ping] [Traceroute] [Whois]
    → Selon choix, exécuter commande appropriée
─────────────────────────────────────
12. SINON SI [Input] correspond à JIRA_REGEX
    → Ouvrir URL : https://company.atlassian.net/browse/[Input]
─────────────────────────────────────
13. SINON
    → Recherche Google : "site:company.com [Input]"
    → OU Slack search : slack://search?query=[Input]

Exemple concret : Détection UUID Datadog

Voici comment configurer la détection d'UUID pour Datadog APM :

Étape 1 : Créer l'action "Si"

Si [Entrée du raccourci] correspond à l'expression régulière
Pattern : ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
Options : ✓ Sensible à la casse

Étape 2 : Construire l'URL

Texte :
https://app.datadoghq.com/apm/trace/[Entrée du raccourci]

Étape 3 : Ouvrir dans le navigateur

Ouvrir URL [Texte]

Test en conditions réelles :

# Tu as ce message dans Opsgenie :
"Error processing request f47ac10b-58cc-4372-a567-0e02b2c3d479"

# Tu sélectionnes l'UUID, tu tapes ⌘⌥\
# → Chrome s'ouvre instantanément sur la trace Datadog !

Temps économisé : 45 secondes 2 secondes 🚀

Exemple avancé : Gestion des pods Kubernetes

Pour investiguer rapidement un pod problématique :

Action : Exécuter Script Shell

#!/bin/bash
POD_NAME="$1"

# Ouvrir un nouveau terminal avec les logs
osascript <<EOF
tell application "Terminal"
    do script "kubectl logs -f $POD_NAME --tail=200 | grep -E 'ERROR|WARN|FATAL'"
    activate
end tell
EOF

Bonus : Menu contextuel pour K8s

Menu : Choisir parmi
   - "Logs (-f tail 200)"
   - "Describe pod"
   - "Get pod events"
   - "Exec into pod"

Selon choix :
  - Logs : kubectl logs -f [POD] --tail=200
  - Describe : kubectl describe pod [POD]
  - Events : kubectl get events --field-selector involvedObject.name=[POD]
  - Exec : kubectl exec -it [POD] -- /bin/bash

Cas d'usage avancés

Menu contextuel pour Kubernetes

Au-delà du simple kubectl logs, propose un menu d'actions :

Menu : Choisir parmi
   - "Logs (-f tail 200)"
   - "Describe pod"
   - "Get pod events"
   - "Exec into pod"

Détection intelligente pour Jenkins

Pour les numéros de build Jenkins, demande quel job :

DICTIONNAIRE_JOBS = {
    "deploy-prod": "deployment/prod-pipeline",
    "tests-integration": "tests/integration-suite"
}

Menu : Choisir le job → Construire l'URL appropriée

Investigation IP rapide

Pour une IP détectée, propose plusieurs actions :

#!/bin/bash
# Menu : Ping | Traceroute | Whois | Check Blacklist
# Selon choix, exécute la commande ou ouvre le site approprié

Le gain concret

Comparaison avant/après sur un incident typique :

ÉtapeAvant (manuel)Après (raccourci)
UUID → Datadog35 secondes2 secondes ⚡
Pod → Logs K8s28 secondes3 secondes ⚡
Ticket → Jira18 secondes2 secondes ⚡
TOTAL93 secondes7 secondes
GAIN-92% plus rapide ! 🚀

En un mois : ~33 minutes économisées, zéro erreur de routing, et surtout... beaucoup moins de stress en oncall ! 😌

3 Pro tips pour aller plus loin

1. Historique d'investigation pour les post-mortems

Ajoute un log automatique de chaque recherche :

#!/bin/bash
# Ajoute au raccourci pour tracer ton parcours
echo "$(date '+%Y-%m-%d %H:%M:%S'): $TYPE_DETECTED - $INPUT" >> ~/investigation_history.log

Pourquoi c'est utile ? Pendant l'incident, tu navigues vite. Avec l'historique, tu peux reconstruire ton raisonnement pour le post-mortem sans te creuser la tête !

2. Mode team : Partage avec toute l'équipe

# Dans Raccourcis :
Fichier → Exporter → SmartInvestigation.shortcut

# Partage via Slack, toute l'équipe en profite ! 🎉

Bonus : Configure des variables globales (URLs, repos GitHub) pour que chacun ajuste à son environnement :

URLS = {
    "datadog": "https://app.datadoghq.com",
    "grafana": "https://grafana.company.com",
    "jenkins": "https://jenkins.company.com"
}

3. Fallback intelligent si rien ne match

Si aucun pattern ne correspond, propose des options :

Menu contextuel :
- "Rechercher dans Datadog"
- "Rechercher dans Slack"
- "Rechercher dans Google"
- "Copier et continuer manuellement"

Comme ça, le raccourci reste utile même pour les cas edge ! 🎯

Conclusion : La productivité, c'est automatiser les trucs chiants

Au final, ce raccourci Apple, c'est un peu comme avoir un assistant personnel qui connaît tous tes outils par cœur et qui ouvre instantanément la bonne page au bon endroit. Plus besoin de réfléchir, de naviguer, de copier-coller... Juste sélectionner et GO !

Les bénéfices concrets :

  • -92% de temps de navigation pendant les investigations
  • 0 erreur de routing (fini "oops j'ai cherché dans le mauvais outil")
  • Flow d'investigation 10x plus fluide
  • Stress divisé par 2 en oncall
  • Collègues jaloux qui te demandent ta config 😎

Le plus beau ? Une fois configuré, tu n'y penses même plus. Ça devient un réflexe : sélectionner, ⌘⌥\, investiguer. Simple. Rapide. Efficace.

Alors, prêt à transformer tes oncalls en moments de productivité zen ? Ton "toi de 3h du matin" te remerciera ! 🌙

🔥 Challenge bonus : Chronométre ta prochaine investigation avant de configurer le raccourci. Puis remesure après. Envoie-moi tes résultats, je parie que tu divises par 5 minimum !


PS : Mon raccourci s'appelle "Detective Mode" 🕵️ et j'ai configuré Siri pour que je puisse dire "Hey Siri, detective mode" quand j'ai les mains occupées. Bienvenue dans le futur !

Restez en contact

Merci de me suivre dans cette aventure ! 🚀


📝 Note : L'idée originale de ce système d'investigation intelligente ne vient pas de moi. J'ai simplement adapté ce concept pour macOS en utilisant l'app Raccourcis d'Apple, rendant cette approche accessible à tous les utilisateurs Mac sans avoir besoin d'outils tiers.

Cet article a été écrit avec ❤️ pour la communauté DevOps.

Sources et références

Sources consultées le 26/11/2025