[{"data":1,"prerenderedAt":189},["ShallowReactive",2],{"seo-verification":3,"blog-migrer-sentry-glitchtip-projets-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":13,"excerpt":14,"readTime":15,"views":16,"isPinned":17,"publishedAt":18,"category":19,"categories":25,"featuredImage":27,"bgImage":28,"posterImage":29,"relatedSolution":30,"intro":32,"sections":33,"ctaTitle":128,"ctaBody":129,"ctaButton":130,"ctaUrl":131,"relatedPosts":132},322,"migrer-sentry-glitchtip-projets",{"fr":8,"en":10,"ar":11,"es":12},"migrate-your-sentry-projects-to-glitchtip-in-under-an-hour","ترحيل-مشاريع-sentry-إلى-glitchtip-في-أقل-من-ساعة","migrar-tus-proyectos-de-sentry-a-glitchtip-en-menos-de-una-hora","Migrer ses projets Sentry vers GlitchTip en moins d'une heure","Les régressions Sentry 26.4.x paralysent l'ingestion de crons depuis août 2026. Voici comment migrer tous vos projets vers GlitchTip v6 par un simple swap de DSN.",9,0,false,"2026-09-02T00:00:00+00:00",{"id":20,"name":21,"slug":22,"color":23,"icon":24},4,"Développement","developpement","bg-warning\u002F10 text-warning","dev",[26],{"id":20,"name":21,"slug":22,"color":23,"icon":24},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fmigrer-sentry-glitchtip-projets-poster.svg",{"categorySlug":22,"appSlug":31},"glitchtip","Depuis la version 26.4.1, trois régressions majeures s'accumulent dans Sentry self-hosted : un deadlock sur le monitor_consumer qui stoppe l'ingestion de crons à l'échelle de l'organisation, des consumers Snuba qui spamment les journaux en boucle infinie sans correctif officiel, et des containers seaweedfs-1 et web-1 déclarés unhealthy au démarrage sur la version 26.4.2. Face à ces instabilités sans horizon de résolution garanti, GlitchTip v6 — compatible avec le protocole SDK Sentry — offre une sortie propre : changer une variable d'environnement par projet, et l'ingestion reprend immédiatement.",[34,38,49,52,80,83,87,90,125],{"type":35,"title":36,"body":37},"h2","Les régressions Sentry 26.4.x qui poussent à migrer","En août 2026, trois issues ont accumulé suffisamment de rapports dans le dépôt getsentry\u002Fself-hosted pour constituer un signal de migration clair. L'issue #4301 documente un deadlock du consumer Kafka ingest-monitors après mise à jour vers 26.4.1 : le groupe consumer reste joint, mais CURRENT-OFFSET cesse d'avancer. Conséquence directe — tous les moniteurs de crons basculent en erreur avec un backfill manqué, et la fonction Crons devient inopérante à l'échelle de l'organisation entière. Le problème se manifeste uniquement sur des instances avec données accumulées (plus de 1,2 million de lignes dans sentry_monitorcheckin) ; un redémarrage des containers n'apporte qu'un répit de quelques minutes. L'issue #4306 signale que tous les consumers Snuba impriment en boucle l'erreur 'Failed to read directory \u002Fetc\u002Fsentry-options\u002Fvalues: No such file or directory' — fermée sans correctif officiel avec le statut 'not planned'. L'issue #4321 concerne la version 26.4.2 : les containers seaweedfs-1 et web-1 sont déclarés unhealthy au démarrage sur des installations x86_64, rendant Sentry impossible à démarrer de façon fiable. Ces trois régressions combinées forment un argument solide pour sortir du cycle de mises à jour Sentry self-hosted, au moins temporairement.",{"type":39,"title":40,"items":41},"ul","Ce que GlitchTip v6 apporte comme alternative",[42,43,44,45,46,47,48],"**Compatibilité SDK sur le protocole fil** — GlitchTip implémente le même protocole d'ingestion que Sentry. Le DSN a la même forme (`https:\u002F\u002F\u003Ckey>@host\u002F\u003Cproject-id>`), et les packages `@sentry\u002Fbrowser`, `sentry-sdk` Python, `sentry-rails` Ruby ou `sentry-go` fonctionnent sans modification de code.","**Licence AGPL-3.0, code source ouvert** — GlitchTip v6 (sorti le 3 février 2026) est maintenu par une équipe indépendante, financée par les utilisateurs. Pas de double licence, pas de composants propriétaires.","**Empreinte Docker réduite** — La v6 remplace Celery par django-vtasks, Uvicorn\u002FGunicorn par Granian (serveur HTTP en Rust), et propose un mode tout-en-un stable pour les instances modestes.","**UUIDv7 et partitionnement amélioré** — La v6 a revu la gestion des clés primaires (UUIDv7) et le partitionnement des tables pour des requêtes plus rapides sur les volumes d'événements importants.","**Support des logs et du tracing (v6.1)** — La version 6.1, sortie le 23 mars 2026, ajoute l'ingestion de logs via sentry-sdk et un stockage froid optionnel avec DuckDB, ce qui étend GlitchTip au-delà du seul suivi d'erreurs.","**Coût réduit à l'infrastructure seule** — Un VPS 2 Go de RAM suffit pour les charges modérées. Contrairement au plan Sentry Team ({{sentry.team.price}}\u002Fmois pour 50 000 erreurs), seul le coût du serveur entre en compte.","**Swap DSN réversible** — Si le besoin revient vers Sentry, un nouveau swap de variable suffit. Aucune dépendance de code n'est introduite par la migration.",{"type":35,"title":50,"body":51},"Prérequis avant de lancer la migration","Ce guide suppose que GlitchTip est déjà déployé et opérationnel sur votre VPS. Si ce n'est pas le cas, l'article 'Héberger GlitchTip v6 sur VPS avec Docker Compose' couvre l'installation de zéro — consultez-le en premier. Pour la migration elle-même, vous avez besoin de trois éléments concrets : un accès administrateur à votre instance Sentry self-hosted (pour lire les DSN existants et exporter la configuration des alertes), un accès administrateur à votre instance GlitchTip (pour créer les projets équivalents et récupérer les nouveaux DSN), et la liste des variables d'environnement ou fichiers de configuration de chaque application qui contient la valeur SENTRY_DSN ou équivalent. La migration s'effectue projet par projet. Si vous avez cinq projets Sentry, vous aurez cinq projets GlitchTip à créer et cinq variables à permuter. Prévoyez environ dix minutes par projet, la première fois ; les suivantes prennent deux à trois minutes chacune.",{"type":53,"title":54,"steps":55},"steps","Procédure de migration — du premier projet à la coupure Sentry",[56,59,62,65,68,71,74,77],{"title":57,"body":58},"Inventorier les projets Sentry et leurs DSN.","Dans l'interface Sentry, rendez-vous sur Paramètres > Projets. Pour chaque projet, notez le nom, la plateforme (Python, JavaScript, PHP, etc.) et le DSN complet (Paramètres > Clés client). Exportez également la liste de vos règles d'alerte (Alertes > Règles) : les conditions et destinataires devront être recréées manuellement dans GlitchTip, car il n'existe pas d'import automatique.",{"title":60,"body":61},"Créer les projets équivalents dans GlitchTip.","Dans l'interface GlitchTip, accédez à votre organisation, puis à Projets > Nouveau projet. Choisissez la plateforme correspondante. Le nom n'a pas besoin d'être identique à celui de Sentry — choisissez ce qui vous convient. Une fois le projet créé, GlitchTip affiche immédiatement le DSN du projet sous la forme `https:\u002F\u002F\u003Cclé-publique>@votre-domaine.com\u002F\u003Cid-numérique>`.",{"title":63,"body":64},"Copier et noter le nouveau DSN GlitchTip.","Depuis la page du projet GlitchTip : Paramètres > Clés client > DSN. Copiez la valeur complète. C'est la seule information dont vous avez besoin pour le swap.",{"title":66,"body":67},"Reconfigurer les alertes dans GlitchTip.","Avant de basculer le trafic, recréez dans GlitchTip les règles d'alerte que vous utilisiez dans Sentry : seuil d'erreurs, notifications par e-mail ou webhook, fréquence. GlitchTip supporte les webhooks entrants, ce qui couvre la majorité des intégrations (Slack, PagerDuty, etc.).",{"title":69,"body":70},"Permuter le DSN dans votre application.","Remplacez la valeur de la variable SENTRY_DSN (ou le paramètre `dsn` dans l'initialisation du SDK) par le nouveau DSN GlitchTip. Redéployez ou redémarrez le process applicatif. Aucune autre ligne de code ne change.",{"title":72,"body":73},"Vérifier la réception des événements dans GlitchTip.","Déclenchez manuellement une erreur de test (appel à `Sentry.captureException(new Error('test'))` ou équivalent). Dans GlitchTip, l'événement doit apparaître dans les Issues du projet dans les secondes qui suivent. Si ce n'est pas le cas, consultez la section dépannage ci-dessous.",{"title":75,"body":76},"Répéter pour chaque projet.","Une fois le premier projet validé, reprenez les étapes 1 à 6 pour chaque projet Sentry. Gardez Sentry actif pendant la période de transition — l'historique passé reste consultable tant que l'instance tourne.",{"title":78,"body":79},"Couper Sentry une fois la période de validation terminée.","Après deux semaines de fonctionnement nominal dans GlitchTip (voir le conseil ci-dessous), arrêtez les containers Sentry (`docker compose down`). L'historique reste accessible si vous remontez l'instance ponctuellement, mais les nouvelles erreurs n'y arrivent plus.",{"type":35,"title":81,"body":82},"Compatibilité SDK — frameworks et langages supportés","GlitchTip ne réimplémente pas les SDK : il consomme le même protocole fil que Sentry, ce qui signifie que tout SDK officiel Sentry fonctionne sans modification. Les langages et frameworks les plus courants sont couverts nativement. En Python, `sentry-sdk` s'intègre avec Django, Flask, FastAPI et Celery. En JavaScript et TypeScript, `@sentry\u002Fbrowser`, `@sentry\u002Fnode`, `@sentry\u002Fnextjs` et `@sentry\u002Fvue` fonctionnent directement. En Ruby, `sentry-rails` et `sentry-ruby` sont supportés. Go dispose de `getsentry\u002Fsentry-go`. PHP peut utiliser `sentry\u002Fsentry-laravel` ou `sentry\u002Fsentry-symfony`. Java et Android ont leurs SDK officiels. La seule option à désactiver dans certains SDK est `auto_session_tracking` — GlitchTip ne supporte pas le suivi de session en temps réel, mais cette fonctionnalité n'affecte pas la remontée d'erreurs. Le paramètre `traces_sample_rate` pour le tracing de performance est pris en charge depuis GlitchTip v6.1 avec DuckDB activé.",{"type":84,"title":85,"body":86},"tip","Garder Sentry en parallèle pendant la période de validation","Même si les régressions 26.4.x rendent Sentry peu fiable, ne coupez pas l'instance immédiatement après le premier swap. Laissez tourner les deux systèmes en parallèle pendant une à deux semaines : Sentry pour consulter l'historique passé, GlitchTip pour recevoir les nouvelles erreurs. Cela vous donne le temps de vérifier que les alertes GlitchTip se déclenchent correctement, que le groupement des erreurs correspond à vos attentes, et que les intégrations webhook fonctionnent. Une fois la période de validation écoulée et aucune régression constatée, vous pouvez arrêter Sentry en confiance. Note importante : les événements passés ne se transfèrent pas de Sentry vers GlitchTip. Il n'existe pas d'outil d'import d'historique — et c'est délibéré, car les formats internes diffèrent. L'enjeu de cette migration n'est pas de conserver six mois de logs, mais de retrouver une ingestion fonctionnelle dès aujourd'hui.",{"type":35,"title":88,"body":89},"Dépannage — les trois problèmes les plus courants après le swap","**Les événements n'arrivent pas dans GlitchTip.** Vérifiez d'abord que le DSN est syntaxiquement correct : la forme attendue est `https:\u002F\u002F\u003Cclé>@votre-domaine.com\u002F\u003Cid>`. Si votre instance GlitchTip est derrière un reverse proxy, assurez-vous que les en-têtes `X-Forwarded-For` et `X-Forwarded-Proto` sont transmis — un proxy mal configuré peut renvoyer des erreurs 400 ou 413 silencieuses du côté applicatif. Consultez les logs du container GlitchTip (`docker compose logs web`) pour confirmer la réception. **Le DSN est rejeté avec une erreur 401 ou 403.** Le plus souvent, la clé publique dans le DSN ne correspond pas au projet GlitchTip cible. Chaque projet a sa propre clé — vérifiez que vous avez copié le DSN depuis le bon projet. Si l'erreur persiste, vérifiez que l'organisation et le projet existent bien et que le compte utilisé a les droits d'écriture. **Le groupement des erreurs ne ressemble pas à Sentry.** GlitchTip utilise son propre algorithme de fingerprinting. Les erreurs du même type seront groupées, mais la correspondance avec les groupes Sentry n'est pas garantie — surtout pour les exceptions avec des stacktraces dynamiques. C'est un comportement attendu, pas un bug. Si vous avez des règles de fingerprinting personnalisées dans Sentry, recréez-les dans GlitchTip via l'option 'Fingerprinting' du projet.",{"type":91,"title":92,"left_label":93,"right_label":94,"rows":95,"headers":124},"comparison","Sentry cloud vs GlitchTip self-hosted — ce qui change vraiment","Sentry Team (cloud)","GlitchTip self-hosted",[96,100,104,108,112,116,120],[97,98,99],"Coût de base","{{sentry.team.price}}\u002Fmois (annuel) — 50 000 erreurs incluses","Coût du VPS uniquement — 99 DH\u002Fmois\u002Fmois",[101,102,103],"Limite d'erreurs","Quota strict, dépassement facturé","Aucun quota — limité par le stockage du VPS",[105,106,107],"Compatibilité SDK","Protocole natif Sentry","Même protocole fil — aucun changement de code",[109,110,111],"Import d'historique","Sans objet","Non disponible — les événements passés restent dans Sentry",[113,114,115],"Alertes et intégrations","Interface complète, Slack, PagerDuty, Jira natifs","Webhooks entrants, e-mail — couvre les cas courants",[117,118,119],"Maintenance","Gérée par Sentry (mises à jour auto)","À votre charge — `docker compose pull && docker compose up -d`",[121,122,123],"Licence","Propriétaire (BSL 1.1 pour le cloud)","AGPL-3.0 — code source auditable",[5,93,94],{"type":35,"title":126,"body":127},"Démarrer depuis zéro avec GlitchTip sur un VPS ServOrbit","Si vous n'avez pas encore d'instance GlitchTip en production et que vous souhaitez sortir de Sentry self-hosted sans repartir sur un autre outil complexe à opérer, un VPS 2 Go de RAM suffit pour démarrer GlitchTip v6 en configuration tout-en-un. L'installation complète — Docker Compose, nginx en reverse proxy, certificat TLS, variables d'environnement — est documentée dans l'article dédié 'Héberger GlitchTip v6 sur VPS avec Docker Compose'. Une fois l'instance en place, la migration depuis Sentry se fait selon la procédure décrite dans cet article : créer les projets, récupérer les DSN, permuter les variables. Le temps total entre la création du VPS et la réception du premier événement dans GlitchTip est généralement inférieur à une heure, en comptant l'installation et la migration de deux à trois projets. Pour les équipes qui suivent plusieurs applications en production, c'est une fenêtre de migration réaliste — sans interruption de service côté applicatif, puisque le seul geste visible est un redémarrage du process après le changement de variable.","Déployez GlitchTip sur un VPS ServOrbit","Un VPS 2 Go de RAM suffit pour héberger GlitchTip v6 et recevoir les erreurs de tous vos projets. Pas de quota d'événements, pas d'abonnement mensuel par fonctionnalité.","Déployer GlitchTip sur VPS","\u002Fmarketplace\u002Fdeveloppement\u002Fglitchtip",[133,149,171],{"id":134,"slug":135,"slugs":136,"title":140,"excerpt":141,"readTime":142,"views":16,"isPinned":17,"publishedAt":143,"category":144,"categories":145,"featuredImage":27,"bgImage":28,"posterImage":147,"relatedSolution":148},250,"self-host-glitchtip-vps",{"fr":135,"en":137,"ar":138,"es":139},"self-host-glitchtip-on-a-vps-a-sovereign-error-tracker","تثبيت-glitchtip-على-vps-تتبع-الأخطاء-بشكل-مستقل","instalar-glitchtip-en-un-vps","Installer GlitchTip sur un VPS : le tracker d'erreurs souverain","Déployez GlitchTip v6 sur votre VPS Linux avec Docker Compose. Compatible SDK Sentry, il tient dans 2 Go de RAM et se branche en remplaçant un DSN.",7,"2026-08-13T00:00:00+00:00",{"id":20,"name":21,"slug":22,"color":23,"icon":24},[146],{"id":20,"name":21,"slug":22,"color":23,"icon":24},"\u002Fblog\u002Fcovers\u002Fself-host-glitchtip-vps-poster.svg",{"categorySlug":22,"appSlug":31},{"id":150,"slug":151,"slugs":152,"title":156,"excerpt":157,"readTime":20,"views":16,"isPinned":17,"publishedAt":158,"category":159,"categories":165,"featuredImage":27,"bgImage":28,"posterImage":167,"relatedSolution":168},220,"opentelemetry-grafana-tempo-vps",{"fr":151,"en":153,"ar":154,"es":155},"grafana-tempo-and-opentelemetry-distributed-tracing-on-vps","grafana-tempo-وopentelemetry-التتبع-الموزع-على-خادم-vps","grafana-tempo-opentelemetry-trazado-distribuido-vps","Grafana Tempo et OpenTelemetry : traçage distribué sur VPS","Déployez un stack de traçage distribué complet sur votre VPS avec OpenTelemetry et Grafana Tempo, sans vendor lock-in ni coût APM.","2026-08-04T00:00:00+00:00",{"id":160,"name":161,"slug":162,"color":163,"icon":164},8,"Sécurité & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[166],{"id":160,"name":161,"slug":162,"color":163,"icon":164},"\u002Fblog\u002Fcovers\u002Fopentelemetry-grafana-tempo-vps-poster.svg",{"categorySlug":169,"appSlug":170},"monitoring","grafana",{"id":172,"slug":173,"slugs":174,"title":178,"excerpt":179,"readTime":160,"views":16,"isPinned":17,"publishedAt":180,"category":181,"categories":186,"featuredImage":27,"bgImage":28,"posterImage":188,"relatedSolution":27},229,"docker-compose-production-checklist",{"fr":173,"en":175,"ar":176,"es":177},"docker-compose-in-production-10-point-checklist","docker-compose-في-الإنتاج-قائمة-التحقق-من-10-نقاط","checklist-docker-compose-en-produccion","Docker Compose en production : checklist des 10 points","Checklist Docker Compose en production : 10 paramètres essentiels, gestion des secrets sans downtime, sauvegarde volumes sans corruption, CVE-2026-17106.","2026-08-06T00:00:00+00:00",{"id":182,"name":183,"slug":184,"color":185,"icon":184},3,"Déploiement","deploiement","bg-success\u002F10 text-success",[187],{"id":182,"name":183,"slug":184,"color":185,"icon":184},"\u002Fblog\u002Fcovers\u002Fdocker-compose-production-checklist-poster.svg",1788446336232]