<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[PG3, LE BLOG]]></title><description><![CDATA[Tutoriels, insights et gestion d'infra au quotidien]]></description><link>https://pg3.io/blog/</link><image><url>https://pg3.io/blog/favicon.png</url><title>PG3, LE BLOG</title><link>https://pg3.io/blog/</link></image><generator>Ghost 5.68</generator><lastBuildDate>Sat, 02 May 2026 04:05:04 GMT</lastBuildDate><atom:link href="https://pg3.io/blog/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Kustomize : gérer facilement ses environnements Kubernetes (exemple simple Dev/Prod)]]></title><description><![CDATA[Découvrez comment utiliser Kustomize pour gérer facilement plusieurs environnements Kubernetes sans dupliquer vos YAML. Un exemple simple vous montre comment activer le debug en dev et scaler votre app en prod, en toute clarté.]]></description><link>https://pg3.io/blog/kustomize-gerer-facilement-ses-environnements-kubernetes-exemple-simple-dev-prod/</link><guid isPermaLink="false">68cc7be10697220001ff156b</guid><category><![CDATA[Tutoriels]]></category><dc:creator><![CDATA[Adrien Schaller]]></dc:creator><pubDate>Thu, 18 Sep 2025 21:44:45 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1667372459510-55b5e2087cd0?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fGt1YmVybmV0ZXN8ZW58MHx8fHwxNzU4MjMxODYyfDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1667372459510-55b5e2087cd0?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fGt1YmVybmV0ZXN8ZW58MHx8fHwxNzU4MjMxODYyfDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" alt="Kustomize : g&#xE9;rer facilement ses environnements Kubernetes (exemple simple Dev/Prod)"><p>Quand on d&#xE9;ploie des applications sur Kubernetes, on se retrouve tr&#xE8;s vite avec plusieurs environnements : <strong>d&#xE9;veloppement</strong>, <strong>pr&#xE9;production</strong>, <strong>production</strong>&#x2026; Et souvent, les manifests YAML se ressemblent &#xE0; 95 %.<br>R&#xE9;sultat : beaucoup de copier-coller, et autant de risques d&#x2019;erreurs.</p><p>&#x1F449; C&#x2019;est exactement le probl&#xE8;me que <strong>Kustomize</strong> r&#xE9;sout.</p><h2 id="qu%E2%80%99est-ce-que-kustomize">Qu&#x2019;est-ce que Kustomize ?</h2><p>Kustomize est un outil int&#xE9;gr&#xE9; &#xE0; <code>kubectl</code> qui permet de :</p><ul><li>D&#xE9;finir une <strong>base commune</strong> (d&#xE9;ploiement, service, configmaps&#x2026;)</li><li>Cr&#xE9;er des <strong>overlays</strong> (patchs) pour chaque environnement, sans dupliquer tous les YAML</li><li>G&#xE9;rer simplement les variations (ex : debug activ&#xE9; en dev, scaling en prod)</li></ul><p>Pas besoin de templating compliqu&#xE9; : tout reste du YAML natif.</p><hr><h2 id="exemple-une-app-simple-nginx-hello-world">Exemple : une app simple (Nginx hello-world)</h2><p>Imaginons que nous ayons une petite application web.<br>On veut :</p><ul><li>En <strong>dev</strong> &#x2192; 1 pod, debug activ&#xE9;, ressources limit&#xE9;es.</li><li>En <strong>prod</strong> &#x2192; plusieurs pods pour absorber la charge.</li></ul><hr><h3 id="1-la-base-commune">1. La base commune</h3><p><code>k8s/base/deployment.yaml</code> :</p><pre><code class="language-yaml">apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: demo-app
  template:
    metadata:
      labels:
        app: demo-app
    spec:
      containers:
      - name: web
        image: nginxdemos/hello:latest
        ports:
        - containerPort: 80
        env:
        - name: DEBUG
          value: &quot;false&quot;
</code></pre><p><code>k8s/base/service.yaml</code> :</p><pre><code class="language-yaml">apiVersion: v1
kind: Service
metadata:
  name: demo-app
spec:
  selector:
    app: demo-app
  ports:
  - port: 80
    targetPort: 80
</code></pre><p><code>k8s/base/kustomization.yaml</code> :</p><pre><code class="language-yaml">resources:
  - deployment.yaml
  - service.yaml
</code></pre><hr><h3 id="2-overlay-pour-le-dev">2. Overlay pour le <strong>dev</strong></h3><p><code>k8s/overlays/dev/kustomization.yaml</code> :</p><pre><code class="language-yaml">resources:
  - ../../base
patchesStrategicMerge:
  - patch-dev.yaml
</code></pre><p><code>k8s/overlays/dev/patch-dev.yaml</code> :</p><pre><code class="language-yaml">apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo-app
spec:
  template:
    spec:
      containers:
      - name: web
        env:
        - name: DEBUG
          value: &quot;true&quot;
        resources:
          requests:
            cpu: &quot;100m&quot;
            memory: &quot;64Mi&quot;
          limits:
            cpu: &quot;250m&quot;
            memory: &quot;128Mi&quot;
</code></pre><hr><h3 id="3-overlay-pour-la-prod">3. Overlay pour la <strong>prod</strong></h3><p><code>k8s/overlays/prod/kustomization.yaml</code> :</p><pre><code class="language-yaml">resources:
  - ../../base
patchesStrategicMerge:
  - patch-prod.yaml
</code></pre><p><code>k8s/overlays/prod/patch-prod.yaml</code> :</p><pre><code class="language-yaml">apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo-app
spec:
  replicas: 3
</code></pre><hr><h2 id="4-d%C3%A9ploiement">4. D&#xE9;ploiement</h2><ul><li>Pour d&#xE9;ployer en dev :</li></ul><pre><code class="language-bash">kubectl apply -k k8s/overlays/dev
</code></pre><ul><li>Pour d&#xE9;ployer en prod :</li></ul><pre><code class="language-bash">kubectl apply -k k8s/overlays/prod
</code></pre><hr><h2 id="r%C3%A9sultat-%F0%9F%8E%89">R&#xE9;sultat &#x1F389;</h2><ul><li><strong>Dev</strong> : 1 pod, DEBUG activ&#xE9;, ressources limit&#xE9;es &#x2192; id&#xE9;al pour tester localement sans tout casser.</li><li><strong>Prod</strong> : 3 pods, scal&#xE9;s &#x2192; pr&#xEA;t &#xE0; encaisser la charge en production.</li></ul><hr><h2 id="pourquoi-c%E2%80%99est-puissant">Pourquoi c&#x2019;est puissant ?</h2><ul><li><strong>Moins de YAML dupliqu&#xE9;</strong> : la base est commune.</li><li><strong>Plus de lisibilit&#xE9;</strong> : les patchs ne montrent que ce qui change.</li><li><strong>&#xC9;volutif</strong> : facile d&#x2019;ajouter un nouvel environnement (staging, tests E2E&#x2026;).</li></ul><hr><p>&#x1F43B;&#x200D;&#x2744;&#xFE0F; Chez PG3, on recommande souvent Kustomize comme <strong>premi&#xE8;re &#xE9;tape</strong> avant d&#x2019;aller vers du <strong>GitOps</strong> (ArgoCD ou FluxCD), car il garde les choses simples et claires.</p>]]></content:encoded></item><item><title><![CDATA[DevOps ou Admin Sys : Pourquoi la Vision Systèmes Reste la Clé d'une Infrastructure Solide]]></title><description><![CDATA[Le DevOps apporte agilité et automatisation, mais l’admin sys reste essentiel pour garantir fiabilité et résilience. C’est l’alliance des deux approches qui assure une infrastructure cloud solide et durable.]]></description><link>https://pg3.io/blog/devops-ou-admin-sys-pourquoi-la-vision-systemes-reste-la-cle-dune-infrastructure-solide/</link><guid isPermaLink="false">68cc6c440697220001ff154c</guid><category><![CDATA[Tech]]></category><dc:creator><![CDATA[Adrien Schaller]]></dc:creator><pubDate>Thu, 18 Sep 2025 20:54:32 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1756758766175-c0e08f69bb26?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDI1fHxkZXZvcHN8ZW58MHx8fHwxNzU4MjI4ODI5fDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1756758766175-c0e08f69bb26?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDI1fHxkZXZvcHN8ZW58MHx8fHwxNzU4MjI4ODI5fDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" alt="DevOps ou Admin Sys : Pourquoi la Vision Syst&#xE8;mes Reste la Cl&#xE9; d&apos;une Infrastructure Solide"><p>Dans le monde du DevOps, on entend souvent que les d&#xE9;veloppeurs sont devenus les nouveaux ma&#xEE;tres de l&#x2019;infrastructure. L&#x2019;automatisation, les pipelines CI/CD et les outils modernes ont donn&#xE9; aux d&#xE9;veloppeurs un nouveau pouvoir sur l&#x2019;infra. Mais derri&#xE8;re cette r&#xE9;volution, il y a une r&#xE9;alit&#xE9; qu&#x2019;on ne doit pas oublier : l&#x2019;infrastructure solide repose toujours sur des fondations h&#xE9;rit&#xE9;es du monde de l&#x2019;admin sys.</p><h1 id="la-compl%C3%A9mentarit%C3%A9-des-r%C3%B4les"><strong>La compl&#xE9;mentarit&#xE9; des r&#xF4;les</strong></h1><p>Le DevOps apporte une agilit&#xE9; et une automatisation pr&#xE9;cieuses. C&#x2019;est un fait. Mais l&#x2019;admin sys, avec son bagage orient&#xE9; sur la fiabilit&#xE9;, la stabilit&#xE9; et la r&#xE9;silience, reste le gardien des bonnes pratiques qui garantissent que la production tourne sans accroc. L&#xE0; o&#xF9; le d&#xE9;veloppeur pense en termes de fonctionnalit&#xE9;s et de d&#xE9;ploiements rapides, l&#x2019;admin sys pense en termes de continuit&#xE9; de service, de sauvegardes et de r&#xE9;cup&#xE9;ration en cas de p&#xE9;pin.</p>
<h1 id="pourquoi-la-vision-admin-sys-est-essentielle"><strong>Pourquoi la vision admin sys est essentielle</strong></h1><p>En mettant en avant cette vision plus &#xAB; classique &#xBB; de l&#x2019;infrastructure, on rappelle qu&#x2019;une bonne infra ne se limite pas &#xE0; des pipelines fluides. Elle repose sur un &#xE9;quilibre : les bonnes vieilles pratiques de l&#x2019;admin sys &#x2013; surveillance proactive, sauvegardes fiables, gestion des incidents &#x2013; sont ce qui permet &#xE0; une infrastructure de rester robuste sur le long terme.</p>
<h1 id="l%E2%80%99apport-des-deux-mondes"><strong>L&#x2019;apport des deux mondes</strong></h1><p>En fin de compte, ce n&#x2019;est pas une opposition, mais une compl&#xE9;mentarit&#xE9;. Le DevOps apporte la rapidit&#xE9; et l&#x2019;automatisation, et l&#x2019;admin sys apporte la stabilit&#xE9; et la r&#xE9;silience. Chez PG3, nous pensons que c&#x2019;est cette vision h&#xE9;rit&#xE9;e de l&#x2019;admin sys qui fait la diff&#xE9;rence : une infrastructure bien g&#xE9;r&#xE9;e en profondeur, c&#x2019;est la garantie que tout ce qui est construit dessus peut &#xE9;voluer sereinement. Et bien &#xE9;videmment, nous faisons aussi du DevOps pour nos clients, en travaillant avec eux sur tous les sujets d&#x2019;automatisation.</p>
<h1 id="conclusion"><strong>Conclusion</strong></h1><p>En bref, le DevOps est une formidable &#xE9;volution, mais il ne doit pas faire oublier l&#x2019;importance de la vision admin sys. Cette approche, qui peut sembler &#xAB; &#xE0; l&#x2019;ancienne &#xBB;, n&#x2019;enl&#xE8;ve rien &#xE0; l&#x2019;agilit&#xE9; ni &#xE0; la modernit&#xE9; des pratiques actuelles. Au contraire, elle les compl&#xE8;te : les deux approches se nourrissent l&#x2019;une l&#x2019;autre, et c&#x2019;est dans cette alliance que r&#xE9;side la cl&#xE9; d&#x2019;une infrastructure cloud vraiment solide et durable.</p>
]]></content:encoded></item><item><title><![CDATA[ArgoCD : Le GitOps qui transforme vos déploiements Kubernetes]]></title><description><![CDATA[Découvrez comment ArgoCD révolutionne la gestion des déploiements Kubernetes. De la visibilité totale aux rollbacks instantanés, retour d'expérience sur l'outil GitOps.]]></description><link>https://pg3.io/blog/argocd-le-gitops-qui-transforme-vos-deploiements-kubernetes/</link><guid isPermaLink="false">684c9e400697220001ff1529</guid><category><![CDATA[Tech]]></category><dc:creator><![CDATA[Adrien Schaller]]></dc:creator><pubDate>Fri, 13 Jun 2025 22:06:20 GMT</pubDate><media:content url="https://pg3.io/blog/content/images/2025/06/Capture-d--cran-2025-04-04-123510.png" medium="image"/><content:encoded><![CDATA[<img src="https://pg3.io/blog/content/images/2025/06/Capture-d--cran-2025-04-04-123510.png" alt="ArgoCD : Le GitOps qui transforme vos d&#xE9;ploiements Kubernetes"><p>Chez PG3, nous d&#xE9;ployons ArgoCD pour la quasi-totalit&#xE9; de nos clients depuis maintenant plus d&apos;un an. Et pour cause : cet outil r&#xE9;volutionne litt&#xE9;ralement la fa&#xE7;on dont on g&#xE8;re les d&#xE9;ploiements sur Kubernetes. Mais au-del&#xE0; de l&apos;effet de mode autour du GitOps, quels sont les vrais b&#xE9;n&#xE9;fices pour votre business ?</p><figure class="kg-card kg-image-card"><img src="https://pg3.io/blog/content/images/2025/06/2023_05_data_src_image_c1481e1a_0c40_4dce_8b8e_original_eb0d72f07d.png" class="kg-image" alt="ArgoCD : Le GitOps qui transforme vos d&#xE9;ploiements Kubernetes" loading="lazy" width="1321" height="526" srcset="https://pg3.io/blog/content/images/size/w600/2025/06/2023_05_data_src_image_c1481e1a_0c40_4dce_8b8e_original_eb0d72f07d.png 600w, https://pg3.io/blog/content/images/size/w1000/2025/06/2023_05_data_src_image_c1481e1a_0c40_4dce_8b8e_original_eb0d72f07d.png 1000w, https://pg3.io/blog/content/images/2025/06/2023_05_data_src_image_c1481e1a_0c40_4dce_8b8e_original_eb0d72f07d.png 1321w" sizes="(min-width: 720px) 720px"></figure><h2 id="gitops-quand-git-devient-votre-source-de-v%C3%A9rit%C3%A9">GitOps : quand Git devient votre source de v&#xE9;rit&#xE9;</h2><p>Le principe du GitOps est simple mais puissant : votre repository Git devient la source unique de v&#xE9;rit&#xE9; pour l&apos;&#xE9;tat de votre infrastructure. ArgoCD se charge ensuite de synchroniser automatiquement votre cluster Kubernetes avec ce qui est d&#xE9;crit dans Git.</p><p>Concr&#xE8;tement, cela signifie qu&apos;un simple <code>git push</code> peut d&#xE9;clencher un d&#xE9;ploiement en production, mais de mani&#xE8;re contr&#xF4;l&#xE9;e et tra&#xE7;able.</p><h2 id="pourquoi-argocd-change-la-donne">Pourquoi ArgoCD change la donne</h2><h3 id="%F0%9F%94%8D-visibilit%C3%A9-totale-sur-vos-d%C3%A9ploiements">&#x1F50D; <strong>Visibilit&#xE9; totale sur vos d&#xE9;ploiements</strong></h3><p>Fini le temps o&#xF9; l&apos;on se demandait quelle version &#xE9;tait d&#xE9;ploy&#xE9;e o&#xF9;. ArgoCD offre une interface graphique intuitive qui permet de voir en un coup d&apos;&#x153;il :</p><ul><li>L&apos;&#xE9;tat de sant&#xE9; de chaque application</li><li>Les diff&#xE9;rences entre ce qui est dans Git et ce qui tourne r&#xE9;ellement</li><li>L&apos;historique complet des d&#xE9;ploiements</li></ul><h3 id="%F0%9F%9B%A1%EF%B8%8F-s%C3%A9curit%C3%A9-renforc%C3%A9e">&#x1F6E1;&#xFE0F; <strong>S&#xE9;curit&#xE9; renforc&#xE9;e</strong></h3><p>Avec ArgoCD, plus besoin de donner les acc&#xE8;s kubectl &#xE0; toute l&apos;&#xE9;quipe. Les d&#xE9;veloppeurs pushent leur code, ArgoCD s&apos;occupe du reste. Les credentials de production restent s&#xE9;curis&#xE9;s dans le cluster.</p><h3 id="%F0%9F%9A%80-rollback-instantan%C3%A9">&#x1F680; <strong>Rollback instantan&#xE9;</strong></h3><p>Un probl&#xE8;me en production ? Un simple revert Git et ArgoCD remet automatiquement l&apos;ancienne version en place. Plus rapide qu&apos;un <code>kubectl rollout undo</code> et infiniment plus tra&#xE7;able.</p><h2 id="retour-dexp%C3%A9rience-ce-que-disent-nos-clients">Retour d&apos;exp&#xE9;rience : ce que disent nos clients</h2><p><strong>&quot;Avant ArgoCD, nos d&#xE9;ploiements &#xE9;taient source de stress. Maintenant, c&apos;est devenu aussi simple qu&apos;un merge sur Git.&quot;</strong> - CTO d&apos;une startup fintech que nous accompagnons</p><p><strong>&quot;La visibilit&#xE9; qu&apos;offre ArgoCD nous a permis de d&#xE9;tecter des incoh&#xE9;rences dans nos environnements que nous tra&#xEE;nions depuis des mois.&quot;</strong> - Responsable Infrastructure d&apos;une ETI</p><h3 id></h3><h2 id="configuration-avanc%C3%A9e-ce-que-nous-mettons-en-place">Configuration avanc&#xE9;e : ce que nous mettons en place</h2><h3 id="notifications-intelligentes">Notifications intelligentes</h3><p>ArgoCD peut notifier votre &#xE9;quipe via Slack, Teams ou email en cas :</p><ul><li>D&apos;&#xE9;chec de synchronisation</li><li>De drift d&#xE9;tect&#xE9; (diff&#xE9;rence entre Git et le cluster)</li><li>De d&#xE9;ploiement r&#xE9;ussi</li></ul><h3 id="policies-de-synchronisation">Policies de synchronisation</h3><p>Nous configurons des r&#xE8;gles fines :</p><ul><li>Auto-sync pour le d&#xE9;veloppement</li><li>Sync manuel pour la production</li><li>Auto-pruning pour nettoyer les ressources supprim&#xE9;es</li></ul><h2 id="roi-concret-pour-votre-organisation">ROI concret pour votre organisation</h2><p>Les m&#xE9;triques que nous observons chez nos clients apr&#xE8;s impl&#xE9;mentation d&apos;ArgoCD :</p><ul><li><strong>-70%</strong> de temps pass&#xE9; sur les d&#xE9;ploiements</li><li><strong>-90%</strong> d&apos;erreurs humaines lors des mises en production</li><li><strong>+300%</strong> de fr&#xE9;quence des d&#xE9;ploiements</li><li><strong>Divise par 5</strong> le temps de rollback en cas de probl&#xE8;me</li></ul><hr><p><strong>Chez PG3, nous accompagnons nos clients dans la mise en place d&apos;ArgoCD depuis l&apos;audit de l&apos;existant jusqu&apos;&#xE0; la formation des &#xE9;quipes.</strong> Notre expertise nous permet d&apos;adapter la solution &#xE0; votre contexte sp&#xE9;cifique, que vous soyez une startup en hypercroissance ou une ETI avec des contraintes de conformit&#xE9; strictes.</p><p>Vous voulez d&#xE9;couvrir comment ArgoCD peut transformer vos d&#xE9;ploiements ? <a href="mailto:adrien@pg3.fr">Contactez-nous</a> pour un audit gratuit de votre infrastructure actuelle.</p><hr><p>Ressources :</p>
<ul>
<li><a href="https://argo-cd.readthedocs.io/en/stable/?ref=pg3.io">https://argo-cd.readthedocs.io/en/stable/</a></li>
<li><a href="https://github.com/argoproj/argo-cd?ref=pg3.io">https://github.com/argoproj/argo-cd</a></li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Suivi simplifié de la disponibilité des sites]]></title><description><![CDATA[Chez PG3, nous passons une bonne partie de notre temps à accompagner nos clients sur leurs infrastructures web, avec une exigence forte : garantir la fiabilité et la disponibilité de leurs services.]]></description><link>https://pg3.io/blog/suivi-simplifie-de-la-disponibilite-des-sites/</link><guid isPermaLink="false">680f85ec0697220001ff1510</guid><category><![CDATA[Tech]]></category><dc:creator><![CDATA[Adrien Schaller]]></dc:creator><pubDate>Mon, 28 Apr 2025 14:29:07 GMT</pubDate><media:content url="https://pg3.io/blog/content/images/2025/04/Capture-d--cran-du-2025-04-28-16-26-46-1.png" medium="image"/><content:encoded><![CDATA[<img src="https://pg3.io/blog/content/images/2025/04/Capture-d--cran-du-2025-04-28-16-26-46-1.png" alt="Suivi simplifi&#xE9; de la disponibilit&#xE9; des sites"><p>Chez PG3, nous passons une bonne partie de notre temps &#xE0; accompagner nos clients sur leurs infrastructures web, avec une exigence forte : garantir la fiabilit&#xE9; et la disponibilit&#xE9; de leurs services. Lors de nos interventions, nous avons ressenti le besoin d&#x2019;avoir un outil simple pour v&#xE9;rifier en quelques secondes l&apos;&#xE9;tat des sites que nous op&#xE9;rons.</p><p>C&#x2019;est dans ce contexte qu&#x2019;est n&#xE9; <a href="https://github.com/pg3io/site-monitor?ref=pg3.io" rel="noopener"><strong>site-monitor</strong></a> : un petit script Python que nous avons d&#xE9;velopp&#xE9; pour <strong>faire du monitoring rapide et efficace</strong>.</p><h2 id="le-besoin-simplicit%C3%A9-et-efficacit%C3%A9-en-mission">Le besoin : simplicit&#xE9; et efficacit&#xE9; en mission</h2><p>Quand on intervient sur une plateforme client, avoir rapidement un &#xE9;tat de sant&#xE9; de tous les sites est un &#xE9;norme gain de temps. M&#xEA;me si des syst&#xE8;mes de monitoring sophistiqu&#xE9;s existent d&#xE9;j&#xE0; (Prometheus, UptimeRobot, StatusCake&#x2026;), pour un <strong>Proof of Concept (POC)</strong> ou un <strong>audit rapide</strong>, nous avions besoin :</p><ul><li>d&#x2019;un script l&#xE9;ger,</li><li>sans d&#xE9;pendance complexe,</li><li>facilement ex&#xE9;cutable depuis un poste de travail,</li><li>configurable en quelques secondes.</li></ul><p>Bref, un outil d&#x2019;artisan pour accompagner nos missions quotidiennes.</p><h2 id="un-poc%E2%80%A6-et-l%E2%80%99occasion-de-tester-lide-cursor">Un POC&#x2026; et l&#x2019;occasion de tester l&apos;IDE Cursor</h2><p>Plut&#xF4;t que de repartir sur nos IDE classiques (VS Code, PyCharm&#x2026;), nous avons saisi l&#x2019;opportunit&#xE9; pour <strong>tester Cursor</strong>, un environnement de d&#xE9;veloppement int&#xE9;gr&#xE9; qui propose <strong>l&#x2019;assistance par IA directement dans l&#x2019;IDE</strong>.</p><p>L&apos;id&#xE9;e &#xE9;tait double :</p><ul><li><strong>&#xC9;valuer la prise en main de Cursor</strong> : ergonomie, rapidit&#xE9;, pertinence des suggestions IA.</li><li><strong>Tester la co-construction de code avec l&#x2019;IA</strong> sur un projet r&#xE9;el, m&#xEA;me simple.</li></ul><p>Spoiler : l&apos;exp&#xE9;rience a &#xE9;t&#xE9; vraiment positive. L&#x2019;auto-compl&#xE9;tion intelligente, les suggestions de corrections de code et la g&#xE9;n&#xE9;ration rapide de snippets nous ont permis de construire un premier prototype en moins de deux heures, tout en restant concentr&#xE9;s sur notre logique m&#xE9;tier.</p><h2 id="pr%C3%A9sentation-rapide-du-projet">Pr&#xE9;sentation rapide du projet</h2><p>Le script <strong>site-monitor</strong> fonctionne de mani&#xE8;re tr&#xE8;s simple :</p><ul><li>Il prend une liste d&apos;URLs &#xE0; tester.</li><li>Il effectue des requ&#xEA;tes HTTP HEAD ou GET.</li><li>Il v&#xE9;rifie les codes de r&#xE9;ponse et mesure le temps de r&#xE9;ponse.</li><li>Il affiche un rapport clair en console, avec code couleur pour visualiser rapidement les statuts.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://pg3.io/blog/content/images/2025/04/Capture-d--cran-du-2025-04-28-16-26-46.png" class="kg-image" alt="Suivi simplifi&#xE9; de la disponibilit&#xE9; des sites" loading="lazy" width="1464" height="678" srcset="https://pg3.io/blog/content/images/size/w600/2025/04/Capture-d--cran-du-2025-04-28-16-26-46.png 600w, https://pg3.io/blog/content/images/size/w1000/2025/04/Capture-d--cran-du-2025-04-28-16-26-46.png 1000w, https://pg3.io/blog/content/images/2025/04/Capture-d--cran-du-2025-04-28-16-26-46.png 1464w" sizes="(min-width: 720px) 720px"><figcaption><span style="white-space: pre-wrap;">exemple d&apos;exec</span></figcaption></figure><p>Tout est open source, disponible ici &#x1F449; <a href="https://github.com/pg3io/site-monitor?ref=pg3.io" rel="noopener">https://github.com/pg3io/site-monitor</a></p><h2 id="pourquoi-ce-genre-d%E2%80%99outil-compte-m%C3%AAme-%C3%A0-petite-%C3%A9chelle">Pourquoi ce genre d&#x2019;outil compte, m&#xEA;me &#xE0; petite &#xE9;chelle</h2><p>Chez PG3, nous pensons que la <strong>qualit&#xE9; d&#x2019;une infog&#xE9;rance moderne</strong> repose aussi sur ce genre de petits outils &quot;couteau suisse&quot;. Ils permettent :</p><ul><li>D&#x2019;avoir un <strong>retour imm&#xE9;diat</strong> sans attendre le reporting d&#x2019;outils lourds,</li><li>D&#x2019;&#xEA;tre <strong>plus r&#xE9;actif</strong> en intervention,</li><li>De rester <strong>autonome</strong> m&#xEA;me en environnement complexe.</li></ul><p>Ce projet est un exemple parmi d&#x2019;autres de notre philosophie : allier <strong>expertise technique</strong> et <strong>agilit&#xE9;</strong> au service de la fiabilit&#xE9; de vos infrastructures.</p><hr><p><strong>Vous voulez en savoir plus sur notre mani&#xE8;re d&#x2019;assurer le monitoring et l&#x2019;infog&#xE9;rance d&apos;infrastructures web ?</strong><br>N&#x2019;h&#xE9;sitez pas &#xE0; nous contacter &#x1F449; <a href="mailto:contact@pg3.fr" rel="noreferrer">contact@pg3.fr</a></p>]]></content:encoded></item><item><title><![CDATA[Pourquoi bien concevoir son infrastructure donne de la valeur à son Business ?]]></title><description><![CDATA[Quand notre activité repose à 100% sur le web, la conception d’une infrastructure robuste et adaptée est un véritable levier de performance]]></description><link>https://pg3.io/blog/pourquoi-bien-concevoir-son-infrastructure-donne-de-la-valeur-a-son-business/</link><guid isPermaLink="false">675bf98437cfda0001277057</guid><category><![CDATA[Tech]]></category><dc:creator><![CDATA[Adrien Schaller]]></dc:creator><pubDate>Fri, 13 Dec 2024 09:51:00 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1429497419816-9ca5cfb4571a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDN8fGNvbnN0cnVjdGlvbnxlbnwwfHx8fDE3MzQxNzAzODl8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1429497419816-9ca5cfb4571a?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDN8fGNvbnN0cnVjdGlvbnxlbnwwfHx8fDE3MzQxNzAzODl8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="Pourquoi bien concevoir son infrastructure donne de la valeur &#xE0; son Business ?"><p>Quand notre activit&#xE9; repose &#xE0; 100% sur le web, la conception d&#x2019;une infrastructure robuste et adapt&#xE9;e est un v&#xE9;ritable levier de performance. Une infrastructure web bien con&#xE7;ue ne se limite pas &#xE0; des choix techniques ; elle impacte directement l&#x2019;exp&#xE9;rience utilisateur, la rapidit&#xE9; des d&#xE9;ploiements et la capacit&#xE9; &#xE0; innover pour r&#xE9;pondre aux besoins du march&#xE9;. Chez <strong>PG3</strong>, nous accompagnons des projets &#xE0; mettre en place des infrastructures modernes, fiables et scalables pour le web. Voici pourquoi une infrastructure adapt&#xE9;e est essentielle pour cr&#xE9;er de la valeur &#xE0; votre activit&#xE9;.</p><blockquote>une infrastructure bien pens&#xE9;e facilite l&#x2019;int&#xE9;gration multi-cloud et permet de ne pas d&#xE9;pendre d&apos;un seul fournisseur de service</blockquote><h3 id="1-performance-web-et-scalabilit%C3%A9">1. <strong>Performance web et scalabilit&#xE9;</strong></h3><p>Une infrastructure bien con&#xE7;ue garantit des performances optimales et une exp&#xE9;rience utilisateur fluide, des aspects cruciaux pour attirer et retenir vos visiteurs.</p><ul><li><strong>Temps de chargement r&#xE9;duit</strong> : Une architecture adapt&#xE9;e (CDN, services de cache) minimise la latence, un facteur d&#xE9;cisif pour le r&#xE9;f&#xE9;rencement SEO et l&#x2019;engagement utilisateur.</li><li><strong>Scalabilit&#xE9; dynamique</strong> : Pr&#xE9;voir une infrastructure capable de s&#x2019;adapter &#xE0; des pics de trafic (lancements de produits, p&#xE9;riodes de soldes) &#xE9;vite les d&#xE9;gradations de service ou les pannes.</li></ul><h3 id="2-optimisation-des-co%C3%BBts-pour-les-plateformes-web">2. <strong>Optimisation des co&#xFB;ts pour les plateformes web</strong></h3><p>Une infrastructure mal con&#xE7;ue peut rapidement entra&#xEE;ner des surco&#xFB;ts et des inefficacit&#xE9;s. Une bonne architecture permet d&#x2019;ajuster le niveau de service selon les besoins de chaque environnement technique (pr&#xE9;-production, qualification, production). Par exemple, il est pertinent de r&#xE9;server les solutions avanc&#xE9;es pour la production tout en optant pour des alternatives plus simples ou locales pour les environnements non critiques.</p><ul><li><strong>Ressources ma&#xEE;tris&#xE9;es</strong> : Une utilisation optimis&#xE9;e des services Cloud (scalabilit&#xE9; &#xE0; la demande, auto-scaling) permet de ne payer que pour ce qui est utilis&#xE9;.</li><li><strong>Co&#xFB;ts cach&#xE9;s &#xE9;vit&#xE9;s</strong> : En pr&#xE9;voyant une architecture performante, vous r&#xE9;duisez les interventions d&apos;urgence et les pertes li&#xE9;es aux interruptions de service.</li></ul><h3 id="3-s%C3%A9curit%C3%A9-web-et-r%C3%A9silience">3. <strong>S&#xE9;curit&#xE9; web et r&#xE9;silience</strong></h3><p>Les sites et applications web sont des cibles privil&#xE9;gi&#xE9;es des cyberattaques. Une infrastructure s&#xE9;curis&#xE9;e prot&#xE8;ge votre activit&#xE9; et vos utilisateurs.</p><ul><li><strong>Protection contre les attaques DDoS</strong> : Int&#xE9;gration de solutions comme les WAF (Web Application Firewall) pour bloquer les attaques qui fait tristement partie du web.</li><li><strong>Disponibilit&#xE9; garantie</strong> : Des sauvegardes r&#xE9;guli&#xE8;res, voir m&#xEA;me un PRA permettent de limiter les interruptions de service.</li></ul><h3 id="4-visibilit%C3%A9-et-contr%C3%B4le-sur-vos-services-web">4. <strong>Visibilit&#xE9; et contr&#xF4;le sur vos services web</strong></h3><p>Une bonne conception offre une visibilit&#xE9; optimale sur vos services, garantissant leur bon fonctionnement.</p><ul><li><strong>Monitoring temps r&#xE9;el</strong> : Un suivi continu de vos performances web (temps de r&#xE9;ponse, &#xE9;tat des serveurs, erreurs) permet d&#x2019;agir rapidement.</li><li><strong>Pr&#xE9;dictibilit&#xE9; des besoins</strong> : Une meilleure visibilit&#xE9; aide &#xE0; anticiper les besoins en ressources pour g&#xE9;rer la croissance de votre trafic.</li></ul><h3 id="5-compatibilit%C3%A9-multi-fournisseurs-pour-plus-de-flexibilit%C3%A9">5. <strong>Compatibilit&#xE9; multi-fournisseurs pour plus de flexibilit&#xE9;</strong></h3><p>Dans un monde o&#xF9; les outils et services se multiplient, une infrastructure bien pens&#xE9;e facilite l&#x2019;int&#xE9;gration multi-cloud et permet de ne pas d&#xE9;pendre d&apos;un seul fournisseur de service, offrant ainsi plus de flexibilit&#xE9; et de s&#xE9;curit&#xE9; dans vos choix technologiques.</p><ul><li><strong>Cloud hybride</strong> : Utilisation combin&#xE9;e de fournisseurs Cloud (AWS, Azure, GCP) et solutions on-premise pour r&#xE9;pondre &#xE0; vos besoins sp&#xE9;cifiques.</li><li><strong>Interop&#xE9;rabilit&#xE9;</strong> : Une architecture standardis&#xE9;e assure la compatibilit&#xE9; entre CMS, bases de donn&#xE9;es et services tiers.</li></ul><h3 id="6-acc%C3%A9l%C3%A9ration-des-d%C3%A9ploiements-pour-le-web">6. <strong>Acc&#xE9;l&#xE9;ration des d&#xE9;ploiements pour le web</strong></h3><p>Une infrastructure moderne s&#x2019;inscrit dans une d&#xE9;marche DevOps pour des d&#xE9;ploiements rapides et sans interruption, tout en simplifiant l&#x2019;utilisation des plateformes pour les &#xE9;quipes de d&#xE9;veloppement, qui b&#xE9;n&#xE9;ficient ainsi d&#x2019;un environnement stable et efficace.</p><ul><li><strong>CI/CD optimis&#xE9;</strong> : Des pipelines de d&#xE9;ploiement continu garantissent des mises &#xE0; jour r&#xE9;guli&#xE8;res, sans downtime.</li><li><strong>Infrastructure as Code (IaC)</strong> : Automatisation des environnements pour d&#xE9;ployer plus vite tout en assurant la reproductibilit&#xE9; des configurations.</li></ul><p>Une infrastructure web bien con&#xE7;ue constitue la base d&#x2019;une pr&#xE9;sence en ligne performante et durable. Elle permet &#xE9;galement aux &#xE9;quipes techniques de travailler sereinement dans un environnement robuste et fiable. Chez <strong>PG3</strong>, nous concevons des solutions adapt&#xE9;es et r&#xE9;fl&#xE9;chies pour des projets tourn&#xE9;s vers l&#x2019;avenir : <strong>performance</strong>, <strong>s&#xE9;curit&#xE9;</strong>, <strong>scalabilit&#xE9;</strong> et <strong>agilit&#xE9;</strong>.</p>]]></content:encoded></item><item><title><![CDATA[Mattermost, mon amour]]></title><description><![CDATA[Mattermost est une plateforme Open Source de messagerie d'équipe qui offre une alternative auto-hébergée aux solutions propriétaires. Flexible, sécurisée et personnalisable, elle permet aux entreprises de garder le contrôle de leurs données tout en facilitant la collaboration.]]></description><link>https://pg3.io/blog/mattermost-mon-amour/</link><guid isPermaLink="false">670cc25bc714610001279ae3</guid><category><![CDATA[Actualités]]></category><dc:creator><![CDATA[Adrien Schaller]]></dc:creator><pubDate>Mon, 14 Oct 2024 07:07:30 GMT</pubDate><media:content url="https://pg3.io/blog/content/images/2024/10/mattermost.png" medium="image"/><content:encoded><![CDATA[<img src="https://pg3.io/blog/content/images/2024/10/mattermost.png" alt="Mattermost, mon amour"><p>Dans le monde actuel, o&#xF9; la collaboration en temps r&#xE9;el est essentielle pour la productivit&#xE9; des &#xE9;quipes, plusieurs solutions de messagerie s&apos;imposent sur le march&#xE9;. Parmi elles, Mattermost se distingue non seulement par ses fonctionnalit&#xE9;s, mais surtout par sa philosophie Open Source, offrant aux entreprises la possibilit&#xE9; de reprendre le contr&#xF4;le de leurs communications.</p><h3 id="quest-ce-que-mattermost">Qu&apos;est-ce que Mattermost ?</h3><p>Mattermost est une plateforme de messagerie d&apos;&#xE9;quipe et de collaboration, similaire &#xE0; Slack, mais avec une grande diff&#xE9;rence : elle est Open Source. Con&#xE7;u pour r&#xE9;pondre aux besoins des entreprises qui cherchent une alternative auto-h&#xE9;berg&#xE9;e, Mattermost permet de contr&#xF4;ler int&#xE9;gralement ses donn&#xE9;es, tout en offrant des fonctionnalit&#xE9;s puissantes pour collaborer en temps r&#xE9;el.</p><h3 id="un-peu-dhistoire">Un peu d&apos;histoire</h3><p>Lanc&#xE9; en 2015 par SpinPunch, une soci&#xE9;t&#xE9; sp&#xE9;cialis&#xE9;e dans les jeux vid&#xE9;o, Mattermost est n&#xE9; d&apos;un besoin interne. &#xC0; l&apos;&#xE9;poque, l&apos;&#xE9;quipe utilisait un autre logiciel de messagerie populaire, mais la solution a soudainement chang&#xE9; son mod&#xE8;le tarifaire, laissant SpinPunch sans contr&#xF4;le sur ses propres donn&#xE9;es. Plut&#xF4;t que de s&apos;en remettre &#xE0; un fournisseur externe, l&apos;&#xE9;quipe a d&#xE9;cid&#xE9; de d&#xE9;velopper sa propre solution, adapt&#xE9;e &#xE0; leurs exigences : Mattermost &#xE9;tait n&#xE9;.</p><h3 id="un-produit-orient%C3%A9-vers-lutilisateur">Un produit orient&#xE9; vers l&apos;utilisateur</h3><p>Ce qui fait la force de Mattermost, c&apos;est la flexibilit&#xE9; qu&apos;il offre. L&apos;application peut &#xEA;tre auto-h&#xE9;berg&#xE9;e, ce qui est un atout majeur pour les entreprises soucieuses de la confidentialit&#xE9; et du contr&#xF4;le des donn&#xE9;es. De plus, elle s&apos;int&#xE8;gre facilement &#xE0; d&apos;autres outils, comme GitLab, Jira, et bien d&apos;autres, ce qui en fait une solution de choix pour les &#xE9;quipes DevOps et techniques.</p><p>Mattermost propose &#xE9;galement des canaux de discussion, des int&#xE9;grations avec des outils externes, des notifications personnalis&#xE9;es, et m&#xEA;me la possibilit&#xE9; de suivre des projets directement depuis la plateforme. En plus, l&apos;interface utilisateur est claire, intuitive et personnalisable selon les besoins de l&apos;&#xE9;quipe.</p><h3 id="pourquoi-choisir-mattermost">Pourquoi choisir Mattermost ?</h3><p>La grande question que beaucoup se posent est : pourquoi opter pour Mattermost plut&#xF4;t qu&apos;une solution propri&#xE9;taire ?<br>Voici quelques avantages cl&#xE9;s :</p><ul><li><strong>Contr&#xF4;le total des donn&#xE9;es</strong> : Vous savez exactement o&#xF9; sont stock&#xE9;es vos donn&#xE9;es et qui y a acc&#xE8;s.</li><li><strong>Personnalisation</strong> : Mattermost permet une int&#xE9;gration et une personnalisation pouss&#xE9;e selon les besoins sp&#xE9;cifiques de votre entreprise.</li><li><strong>&#xC9;volutivit&#xE9;</strong> : L&apos;outil s&apos;adapte aux petites &#xE9;quipes comme aux grandes entreprises.</li><li><strong>Communaut&#xE9; active</strong> : En tant que projet Open Source, Mattermost b&#xE9;n&#xE9;ficie d&apos;une communaut&#xE9; active et d&apos;un d&#xE9;veloppement continu.</li></ul><h3 id="conclusion">Conclusion</h3><p>Pour toutes les entreprises qui cherchent &#xE0; combiner collaboration, s&#xE9;curit&#xE9; et flexibilit&#xE9;, Mattermost est une alternative solide aux solutions de messagerie propri&#xE9;taires. Chez PG3, nous sommes convaincus que la ma&#xEE;trise de ses outils de communication est primordiale, et c&apos;est pourquoi nous appr&#xE9;cions et recommandons cette solution &#xE0; nos clients.</p><p><strong>Mattermost, mon amour</strong>, parce que collaborer n&#x2019;a jamais &#xE9;t&#xE9; aussi simple et s&#xE9;curis&#xE9;.</p>]]></content:encoded></item><item><title><![CDATA[Kubernetes Toujours Aussi Cool ou Pas ?]]></title><description><![CDATA[Kubernetes reste une technologie incontournable en 2024, adaptée à tous types de projets dès lors que les compétences nécessaires sont présentes. Que vous soyez une grande entreprise ou une petite structure, Kubernetes offre flexibilité, automatisation et scalabilité, malgré sa complexité.]]></description><link>https://pg3.io/blog/kubernetes-toujours-aussi-cool-ou-pas/</link><guid isPermaLink="false">66cb833f9870b80001ad149b</guid><category><![CDATA[Actualités]]></category><dc:creator><![CDATA[Adrien Schaller]]></dc:creator><pubDate>Thu, 22 Aug 2024 13:17:00 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1667372459510-55b5e2087cd0?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDZ8fGt1YmVybmV0ZXN8ZW58MHx8fHwxNzI0NjEzNTUxfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1667372459510-55b5e2087cd0?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDZ8fGt1YmVybmV0ZXN8ZW58MHx8fHwxNzI0NjEzNTUxfDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="Kubernetes Toujours Aussi Cool ou Pas ?"><p>La rentr&#xE9;e marque souvent le moment de faire le point sur les tendances et les technologies qui fa&#xE7;onnent notre environnement professionnel. Parmi celles-ci, Kubernetes occupe une place de choix depuis plusieurs ann&#xE9;es en tant que leader de l&apos;orchestration de conteneurs. Mais en 2024, Kubernetes est-il toujours aussi incontournable, ou commence-t-il &#xE0; montrer ses limites ? Explorons cette question en tenant compte des avantages et des d&#xE9;fis qu&apos;il pr&#xE9;sente aujourd&apos;hui, et voyons s&apos;il est toujours l&apos;outil id&#xE9;al pour votre infrastructure.</p><h3 id="kubernetes-un-petit-rappel">Kubernetes : Un Petit Rappel</h3><p>Kubernetes, d&#xE9;velopp&#xE9; par Google en 2014 et maintenant sous l&apos;&#xE9;gide de la Cloud Native Computing Foundation, est une plateforme open-source con&#xE7;ue pour automatiser le d&#xE9;ploiement, la gestion et le scaling des applications conteneuris&#xE9;es. Il permet aux d&#xE9;veloppeurs de cr&#xE9;er et de g&#xE9;rer des microservices de mani&#xE8;re efficace, tout en facilitant la portabilit&#xE9; des applications sur diff&#xE9;rents environnements (cloud, on-premise, hybride). Kubernetes est devenu la norme de facto pour l&apos;orchestration de conteneurs, en grande partie gr&#xE2;ce &#xE0; ses capacit&#xE9;s de scalabilit&#xE9;, de haute disponibilit&#xE9; et &#xE0; son riche &#xE9;cosyst&#xE8;me d&apos;outils et de services compl&#xE9;mentaires.</p><h3 id="pourquoi-kubernetes-est-il-si-populaire">Pourquoi Kubernetes Est-il Si Populaire ?</h3><ol><li><strong>Flexibilit&#xE9; et Portabilit&#xE9;</strong> : L&apos;un des principaux atouts de Kubernetes est sa capacit&#xE9; &#xE0; fonctionner sur une vari&#xE9;t&#xE9; de plateformes, offrant une flexibilit&#xE9; in&#xE9;gal&#xE9;e pour les entreprises qui cherchent &#xE0; &#xE9;viter le verrouillage des fournisseurs de cloud. Que vous d&#xE9;ployiez vos applications sur AWS, Google Cloud, Azure, ou m&#xEA;me sur des serveurs physiques, Kubernetes s&apos;int&#xE8;gre facilement.</li><li><strong>Automatisation et Scalabilit&#xE9;</strong> : Kubernetes permet d&apos;automatiser de nombreuses t&#xE2;ches fastidieuses li&#xE9;es &#xE0; la gestion des applications, comme le scaling automatique des ressources en fonction de la charge de travail, la gestion des d&#xE9;ploiements en continu, ou encore la r&#xE9;paration automatique des services d&#xE9;faillants.</li><li><strong>&#xC9;cosyst&#xE8;me Mature</strong> : Gr&#xE2;ce &#xE0; une communaut&#xE9; active et &#xE0; l&apos;adoption massive par l&apos;industrie, Kubernetes b&#xE9;n&#xE9;ficie d&apos;un &#xE9;cosyst&#xE8;me florissant. Des outils comme Helm pour la gestion des packages, Prometheus pour la surveillance, ou Istio pour la gestion des services, enrichissent encore l&apos;exp&#xE9;rience utilisateur.</li></ol><h3 id="les-d%C3%A9fis-de-kubernetes-en-2024">Les D&#xE9;fis de Kubernetes en 2024</h3><p>Bien que Kubernetes offre de nombreux avantages, il n&apos;est pas sans d&#xE9;fis. Ces derniers deviennent de plus en plus &#xE9;vidents &#xE0; mesure que les entreprises continuent d&apos;adopter cette technologie.</p><ol><li><strong>Complexit&#xE9; Croissante</strong> : Kubernetes, bien que puissant, est notoirement complexe. Son installation, sa configuration, et son exploitation n&#xE9;cessitent des comp&#xE9;tences sp&#xE9;cialis&#xE9;es. De plus, la gestion des mises &#xE0; jour, de la s&#xE9;curit&#xE9; et des politiques de r&#xE9;seau au sein des clusters Kubernetes peut devenir rapidement un casse-t&#xEA;te. Pour les petites entreprises, l&apos;investissement en temps et en ressources pour ma&#xEE;triser Kubernetes peut sembler disproportionn&#xE9; par rapport aux b&#xE9;n&#xE9;fices.</li><li><strong>Overhead de Gestion</strong> : Une fois en production, Kubernetes demande une attention constante. La gestion des clusters, la configuration des services, et le d&#xE9;pannage des probl&#xE8;mes peuvent n&#xE9;cessiter une &#xE9;quipe d&#xE9;di&#xE9;e. Les entreprises qui n&apos;ont pas les moyens de d&#xE9;dier du personnel &#xE0; ces t&#xE2;ches peuvent se retrouver submerg&#xE9;es par la complexit&#xE9; de l&apos;infrastructure.</li></ol><h3 id="kubernetes-toujours-cool-et-adapt%C3%A9-%C3%A0-tous-les-projets">Kubernetes : Toujours Cool et Adapt&#xE9; &#xE0; Tous les Projets ?</h3><p>Alors, Kubernetes est-il toujours aussi cool ? La r&#xE9;ponse est un oui r&#xE9;solu, &#xE0; condition d&apos;avoir les comp&#xE9;tences n&#xE9;cessaires.</p><ul><li><strong>Pour les grandes entreprises</strong> avec des &#xE9;quipes d&#xE9;di&#xE9;es &#xE0; la gestion des infrastructures et des besoins complexes en termes de scalabilit&#xE9;, Kubernetes reste une solution extr&#xEA;mement puissante et pertinente. Son &#xE9;cosyst&#xE8;me continue de s&apos;enrichir, et il reste l&apos;un des meilleurs outils pour g&#xE9;rer des architectures microservices &#xE0; grande &#xE9;chelle.</li><li><strong>Pour les plus petites structures</strong> ou pour des projets avec des besoins plus simples, Kubernetes peut sembler complexe. Cependant, avec une &#xE9;quipe comp&#xE9;tente, il devient un outil de choix, capable de g&#xE9;rer efficacement l&apos;infrastructure et de s&apos;adapter aux besoins croissants. Sa flexibilit&#xE9;, sa capacit&#xE9; &#xE0; automatiser des t&#xE2;ches cruciales, et sa portabilit&#xE9; en font une solution viable, quel que soit le projet.</li></ul><p>En r&#xE9;sum&#xE9;, Kubernetes est toujours cool et, surtout, il est adaptable &#xE0; tout type de projet d&#xE8;s lors que vous disposez des comp&#xE9;tences pour l&apos;exploiter au mieux.</p><h3 id="conclusion">Conclusion</h3><p>Kubernetes reste une technologie cl&#xE9; dans le paysage IT, mais son adoption doit &#xEA;tre r&#xE9;fl&#xE9;chie en fonction des besoins sp&#xE9;cifiques de votre entreprise. Il est toujours aussi cool pour ceux qui en ont r&#xE9;ellement besoin et qui sont pr&#xEA;ts &#xE0; s&apos;investir dans sa ma&#xEE;trise, qu&apos;ils soient une grande entreprise ou une startup en pleine croissance.</p>]]></content:encoded></item><item><title><![CDATA[Qu'est-ce que Kimai ?]]></title><description><![CDATA[<p>Kimai est un syst&#xE8;me de suivi du temps open source con&#xE7;u pour offrir une transparence et une efficacit&#xE9; maximales dans la gestion du temps de travail. Accessible via <a href="https://github.com/kimai/kimai?ref=pg3.io">GitHub</a> et son <a href="https://www.kimai.org/?ref=pg3.io">site web officiel</a>, Kimai permet aux utilisateurs de consigner le temps pass&#xE9; sur</p>]]></description><link>https://pg3.io/blog/quest-ce-que-kimai/</link><guid isPermaLink="false">65cf7b789da59d00014f63fb</guid><category><![CDATA[Tech]]></category><dc:creator><![CDATA[Adrien Schaller]]></dc:creator><pubDate>Fri, 16 Feb 2024 15:14:22 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1524678714210-9917a6c619c2?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDZ8fHRpbWV8ZW58MHx8fHwxNzA4MDk2Mzk3fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1524678714210-9917a6c619c2?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDZ8fHRpbWV8ZW58MHx8fHwxNzA4MDk2Mzk3fDA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="Qu&apos;est-ce que Kimai ?"><p>Kimai est un syst&#xE8;me de suivi du temps open source con&#xE7;u pour offrir une transparence et une efficacit&#xE9; maximales dans la gestion du temps de travail. Accessible via <a href="https://github.com/kimai/kimai?ref=pg3.io">GitHub</a> et son <a href="https://www.kimai.org/?ref=pg3.io">site web officiel</a>, Kimai permet aux utilisateurs de consigner le temps pass&#xE9; sur diff&#xE9;rents projets en quelques clics seulement. Que vous travailliez en freelance, dans une petite entreprise ou dans une grande organisation, Kimai s&apos;adapte &#xE0; vos besoins sp&#xE9;cifiques.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://github.com/kimai/kimai?ref=pg3.io"><div class="kg-bookmark-content"><div class="kg-bookmark-title">GitHub - kimai/kimai: Kimai is a web-based multi-user time-tracking application. Works great for everyone: freelancers, companies, organizations - everyone can track their times, generate reports, create invoices and do so much more. SaaS version available at https://www.kimai.cloud</div><div class="kg-bookmark-description">Kimai is a web-based multi-user time-tracking application. Works great for everyone: freelancers, companies, organizations - everyone can track their times, generate reports, create invoices and do&#x2026;</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" alt="Qu&apos;est-ce que Kimai ?"><span class="kg-bookmark-author">GitHub</span><span class="kg-bookmark-publisher">kimai</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://repository-images.githubusercontent.com/71485542/ba366500-616c-11e9-96a8-bf72d217c619" alt="Qu&apos;est-ce que Kimai ?"></div></a></figure><h3 id="les-fonctionnalit%C3%A9s-cl%C3%A9s-de-kimai">Les Fonctionnalit&#xE9;s Cl&#xE9;s de Kimai</h3><ul><li><strong>Suivi du Temps en Temps R&#xE9;el :</strong> Kimai permet de d&#xE9;marrer, de mettre en pause et d&apos;arr&#xEA;ter le suivi du temps &#xE0; tout moment, ce qui facilite la consignation pr&#xE9;cise du temps de travail.</li><li><strong>Gestion de Projets et de T&#xE2;ches :</strong> Organisez vos projets et t&#xE2;ches avec facilit&#xE9;. Kimai offre la possibilit&#xE9; d&apos;attribuer des heures sp&#xE9;cifiques &#xE0; des projets et des t&#xE2;ches, permettant une analyse d&#xE9;taill&#xE9;e de la productivit&#xE9; et de l&apos;efficacit&#xE9;.</li><li><strong>Rapports Personnalisables :</strong> Avec Kimai, g&#xE9;n&#xE9;rer des rapports devient un jeu d&apos;enfant. Vous pouvez cr&#xE9;er des rapports personnalis&#xE9;s pour analyser le temps de travail, les performances des projets, et bien plus encore.</li><li><strong>Accessibilit&#xE9; et Flexibilit&#xE9; :</strong> &#xC9;tant une solution open source, Kimai peut &#xEA;tre personnalis&#xE9; pour r&#xE9;pondre aux besoins uniques de votre entreprise, offrant une flexibilit&#xE9; in&#xE9;gal&#xE9;e.</li></ul><h3 id="pourquoi-choisir-kimai">Pourquoi Choisir Kimai ?</h3><p>Opter pour Kimai, c&apos;est choisir une solution de suivi du temps qui valorise la simplicit&#xE9;, la flexibilit&#xE9; et la transparence. Kimai s&apos;adresse aux entreprises qui souhaitent optimiser la gestion de leur temps sans sacrifier la personnalisation. De plus, en tant que solution open source, Kimai b&#xE9;n&#xE9;ficie d&apos;une communaut&#xE9; active de d&#xE9;veloppeurs qui continuent d&apos;enrichir et d&apos;am&#xE9;liorer la plateforme.</p><h3 id="kimai-chez-pg3-un-cas-dusage-r%C3%A9ussi">Kimai chez PG3 : Un Cas d&apos;Usage R&#xE9;ussi</h3><p>L&apos;adoption de Kimai par PG3 illustre parfaitement comment un outil open source peut &#xEA;tre int&#xE9;gr&#xE9; avec succ&#xE8;s dans le workflow d&apos;une entreprise pour am&#xE9;liorer la gestion du temps de travail. Depuis son int&#xE9;gration en d&#xE9;but d&apos;ann&#xE9;e, PG3 a constat&#xE9; une augmentation significative de la visibilit&#xE9; sur le traitement des demandes clients et la gestion des t&#xE2;ches. Cette exp&#xE9;rience positive met en lumi&#xE8;re la valeur ajout&#xE9;e que ce type d&apos;outiil peut apporter &#xE0; toute organisation cherchant &#xE0; optimiser ses op&#xE9;rations et &#xE0; am&#xE9;liorer son efficacit&#xE9;.</p>]]></content:encoded></item><item><title><![CDATA[Création d'une Image Docker pour une Application Symfony avec Supervor]]></title><description><![CDATA[Dans ce tutoriel, nous allons voir comment créer une image Docker pour une application Symfony, intégrant à la fois un serveur web Apache2 et un service de bus de messages. Nous utiliserons Supervisor pour gérer ces services.]]></description><link>https://pg3.io/blog/creation-dune-image-docker-pour-une-application-symfony-avec-supervor/</link><guid isPermaLink="false">658ea15c8505e70001012948</guid><category><![CDATA[Tutoriels]]></category><dc:creator><![CDATA[Adrien Schaller]]></dc:creator><pubDate>Mon, 29 Jan 2024 09:00:00 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1494059980473-813e73ee784b?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDEyfHxsZWFybmluZ3xlbnwwfHx8fDE3MDM4NDczMzZ8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1494059980473-813e73ee784b?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDEyfHxsZWFybmluZ3xlbnwwfHx8fDE3MDM4NDczMzZ8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="Cr&#xE9;ation d&apos;une Image Docker pour une Application Symfony avec Supervor"><p>Dans ce tutoriel, nous allons voir comment cr&#xE9;er une image Docker pour une application Symfony, int&#xE9;grant &#xE0; la fois un serveur web Apache2 et un service de bus de messages. Nous utiliserons Supervisor pour g&#xE9;rer ces services.</p><hr><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://github.com/symfony/symfony?ref=pg3.io"><div class="kg-bookmark-content"><div class="kg-bookmark-title">GitHub - symfony/symfony: The Symfony PHP framework</div><div class="kg-bookmark-description">The Symfony PHP framework. Contribute to symfony/symfony development by creating an account on GitHub.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" alt="Cr&#xE9;ation d&apos;une Image Docker pour une Application Symfony avec Supervor"><span class="kg-bookmark-author">GitHub</span><span class="kg-bookmark-publisher">symfony</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://repository-images.githubusercontent.com/458058/af6a9d00-9374-11e9-887c-917673d9fe68" alt="Cr&#xE9;ation d&apos;une Image Docker pour une Application Symfony avec Supervor"></div></a></figure><h2 id="pourquoi-regrouper-apache-et-le-worker-dans-le-m%C3%AAme-conteneur">Pourquoi regrouper Apache et le Worker dans le m&#xEA;me conteneur ?</h2><p>Cette notion peut &#xEA;tre contrevers&#xE9; mais regrouper Apache et le service de bus de messages dans le m&#xEA;me conteneur Docker offre plusieurs avantages :</p><ol><li><strong>Simplicit&#xE9; de d&#xE9;ploiement</strong> : Un seul conteneur &#xE0; g&#xE9;rer pour l&apos;ensemble de l&apos;application simplifie le processus de d&#xE9;ploiement.</li><li><strong>Coh&#xE9;rence des environnements</strong> : Les environnements de d&#xE9;veloppement, de test et de production sont plus uniformes, ce qui r&#xE9;duit les chances d&apos;erreurs dues aux diff&#xE9;rences d&apos;environnement.</li><li><strong>Gestion centralis&#xE9;e</strong> : Avec Supervisor, la gestion et le suivi des deux services sont centralis&#xE9;s, facilitant leur surveillance et leur maintenance.</li></ol><p>Cependant, il est important de noter que cette approche peut ne pas &#xEA;tre id&#xE9;ale pour des d&#xE9;ploiements &#xE0; grande &#xE9;chelle ou pour des applications n&#xE9;cessitant une haute disponibilit&#xE9;. Dans ces cas, une architecture de services distribu&#xE9;s pourrait &#xEA;tre pr&#xE9;f&#xE9;rable.</p><h2 id="pr%C3%A9requis">Pr&#xE9;requis</h2><ul><li>Connaissances de base en Docker et Symfony.</li><li>Docker install&#xE9; sur votre machine.</li><li>Une application <a href="https://github.com/Supervisor/supervisor?ref=pg3.io">Symfony</a> existante.</li></ul><h2 id="%C3%A9tape-1-pr%C3%A9paration-du-dockerfile">&#xC9;tape 1 : Pr&#xE9;paration du Dockerfile</h2><p>Le <code>Dockerfile</code> est essentiel pour automatiser la cr&#xE9;ation de votre image Docker. Voici un exemple adapt&#xE9; &#xE0; notre besoin :Dockerfile</p><pre><code class="language-docker"># Utiliser une image PHP avec Apache
FROM php:7.4-apache

# Mettre &#xE0; jour les paquets et installer Supervisor
RUN apt-get update &amp;&amp; apt-get install -y supervisor

# Copier les fichiers de l&apos;application dans le conteneur
COPY . /var/www/html

# Installer les extensions PHP n&#xE9;cessaires
RUN docker-php-ext-install pdo pdo_pgsql

# Activer le mod_rewrite pour Apache
RUN a2enmod rewrite

# Copier le fichier supervisord.conf dans le conteneur
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf

# Exposer le port 80
EXPOSE 80

# Commande pour lancer Supervisor
CMD [&quot;/usr/bin/supervisord&quot;, &quot;-c&quot;, &quot;/etc/supervisor/conf.d/supervisord.conf&quot;]
</code></pre>
<h2 id="%C3%A9tape-2-configuration-de-supervisor">&#xC9;tape 2 : Configuration de Supervisor</h2><p>Cr&#xE9;ez un fichier <code>supervisord.conf</code> pour g&#xE9;rer Apache et le service de bus de messages :</p><pre><code class="language-ini">[supervisord]
nodaemon=true

[program:apache2]
command=/usr/sbin/apache2ctl -D FOREGROUND

[program:symfony-worker]
command=php /var/www/html/bin/console messenger:consume async
autostart=true
autorestart=true
</code></pre>
<h2 id="%C3%A9tape-3-construction-de-limage-docker-et-ex%C3%A9cution">&#xC9;tape 3 : Construction de l&apos;Image Docker et Ex&#xE9;cution</h2><p>Construisez l&apos;image avec :</p><pre><code class="language-bash">docker build -t ma-application-symfony .
</code></pre>
<p>Puis lancez le conteneur :</p><pre><code class="language-bash">docker run -d -p 80:80 ma-application-symfony
</code></pre>
<h2 id="conclusion">Conclusion</h2><p>Ce tutoriel vous a guid&#xE9; dans la cr&#xE9;ation d&apos;une image Docker pour une application Symfony avec Apache2 et un service de bus de messages sous la supervision de Supervisor. Cette m&#xE9;thode offre une gestion simplifi&#xE9;e et une coh&#xE9;rence accrue pour vos applications.</p>]]></content:encoded></item><item><title><![CDATA[Renforcez votre Serveur Nginx contre les Attaques DDoS avec Fail2Ban]]></title><description><![CDATA[Les attaques DDoS (Distributed Denial of Service) représentent une menace sérieuse pour la disponibilité des services en ligne.]]></description><link>https://pg3.io/blog/renforcez-votre-serveur-nginx-contre-les-attaques-ddos-avec-fail2ban/</link><guid isPermaLink="false">65b69eeb9da59d00014f6394</guid><category><![CDATA[Tutoriels]]></category><dc:creator><![CDATA[Adrien Schaller]]></dc:creator><pubDate>Thu, 25 Jan 2024 14:00:00 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1514302240736-b1fee5985889?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDI2fHxzZWN1cml0eXxlbnwwfHx8fDE3MDY0NjkxMTd8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1514302240736-b1fee5985889?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDI2fHxzZWN1cml0eXxlbnwwfHx8fDE3MDY0NjkxMTd8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="Renforcez votre Serveur Nginx contre les Attaques DDoS avec Fail2Ban"><p>Les attaques DDoS (Distributed Denial of Service) repr&#xE9;sentent une menace s&#xE9;rieuse pour la disponibilit&#xE9; des services en ligne. Pour les utilisateurs de Nginx, Fail2Ban offre une solution robuste pour d&#xE9;tecter et pr&#xE9;venir ces attaques. Cet article vous guidera &#xE0; travers la configuration de Fail2Ban pour s&#xE9;curiser votre serveur Nginx contre les attaques DDoS.</p><hr><h1 id="quest-ce-que-fail2ban">Qu&apos;est-ce que Fail2Ban ?</h1><p>Fail2Ban est un syst&#xE8;me de pr&#xE9;vention d&apos;intrusion qui surveille les journaux de serveurs &#xE0; la recherche de comportements malveillants et bloque les adresses IP associ&#xE9;es &#xE0; ces comportements.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://github.com/fail2ban/fail2ban?ref=pg3.io"><div class="kg-bookmark-content"><div class="kg-bookmark-title">GitHub - fail2ban/fail2ban: Daemon to ban hosts that cause multiple authentication errors</div><div class="kg-bookmark-description">Daemon to ban hosts that cause multiple authentication errors - GitHub - fail2ban/fail2ban: Daemon to ban hosts that cause multiple authentication errors</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" alt="Renforcez votre Serveur Nginx contre les Attaques DDoS avec Fail2Ban"><span class="kg-bookmark-author">GitHub</span><span class="kg-bookmark-publisher">fail2ban</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://opengraph.githubassets.com/708470eac773e9da94cfe87b0ec87cb037ddf4f323d4e53a2c46ee713f6d0cf6/fail2ban/fail2ban" alt="Renforcez votre Serveur Nginx contre les Attaques DDoS avec Fail2Ban"></div></a></figure><h1 id="pr%C3%A9requis"><strong>Pr&#xE9;requis</strong></h1><ul><li>Serveur avec Nginx install&#xE9; et acc&#xE8;s root.</li><li>Fail2Ban install&#xE9; sur le serveur.</li></ul><h1 id="%C3%A9tape-1-installation-de-fail2ban">&#xC9;tape 1 : Installation de Fail2Ban</h1><p>Si Fail2Ban n&apos;est pas install&#xE9;, vous pouvez le faire via le gestionnaire de paquets :</p><pre><code class="language-bash">sudo apt-get install fail2ban
</code></pre>
<h1 id="%C3%A9tape-2-configuration-de-base">&#xC9;tape 2 : Configuration de base</h1><p>Copiez le fichier de configuration par d&#xE9;faut :</p><pre><code class="language-bash">sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
</code></pre>
<h1 id="%C3%A9tape-3-configurer-les-r%C3%A8gles-pour-nginx">&#xC9;tape 3 : Configurer les r&#xE8;gles pour Nginx</h1><p>Dans le fichier <code>jail.local</code>, ajoutez une section pour Nginx :</p><pre><code class="language-ini">[nginx-ddos]
enabled = true
port = http,https
filter = nginx-ddos
logpath = /var/log/nginx/access.log
maxretry = 100
findtime = 60
bantime = 3600
</code></pre>
<h1 id="%C3%A9tape-4-cr%C3%A9er-un-fichier-de-filtre">&#xC9;tape 4 : Cr&#xE9;er un fichier de filtre</h1><p>Cr&#xE9;ez un fichier de filtre dans <code>/etc/fail2ban/filter.d/nginx-ddos.conf</code>. Voici un exemple de contenu pour ce fichier :</p><pre><code class="language-ini">[Definition]
failregex = ^&lt;HOST&gt; -.*&quot;(GET|POST|HEAD).*$
ignoreregex =
</code></pre>
<p>Cette configuration de base d&#xE9;tecte les requ&#xEA;tes excessives, mais vous pouvez l&apos;ajuster pour r&#xE9;pondre &#xE0; des sch&#xE9;mas d&apos;attaque sp&#xE9;cifiques.</p><h1 id="%C3%A9tape-5-tester-la-configuration">&#xC9;tape 5 : Tester la configuration</h1><p>Red&#xE9;marrez Fail2Ban pour appliquer les nouvelles r&#xE8;gles :</p><pre><code class="language-bash">sudo systemctl restart fail2ban
</code></pre>
<h1 id="conclusion">Conclusion</h1><p>L&apos;impl&#xE9;mentation de Fail2Ban pour s&#xE9;curiser votre serveur Nginx contre les attaques DDoS repr&#xE9;sente une premi&#xE8;re &#xE9;tape essentielle dans la d&#xE9;fense de votre infrastructure. Bien que Fail2Ban soit efficace pour g&#xE9;rer les attaques &#xE0; petite &#xE9;chelle, il est important de reconna&#xEE;tre que ce peut &#xEA;tre insuffisant face &#xE0; des attaques DDoS de grande envergure. Dans ces cas, d&apos;autres solutions peuvent &#xEA;tre n&#xE9;cessaires pour assurer une protection compl&#xE8;te.</p><p>Parmi les options compl&#xE9;mentaires &#xE0; consid&#xE9;rer, on trouve :</p><ol><li><strong>Services de Mitigation DDoS :</strong> Des fournisseurs comme <a href="https://www.cloudflare.com/fr-fr/?ref=pg3.io" rel="noreferrer">Cloudflare</a> ou <a href="https://www.akamai.com/fr?ref=pg3.io" rel="noreferrer">Akamai</a> offrent des services sp&#xE9;cialis&#xE9;s dans la mitigation des attaques DDoS. Ces services peuvent absorber et filtrer le trafic malveillant avant qu&apos;il n&apos;atteigne votre infrastructure.</li><li><strong>Pare-feu d&apos;application Web (WAF) :</strong> Un WAF peut aider &#xE0; prot&#xE9;ger votre serveur en filtrant le trafic HTTP(S) et en bloquant les requ&#xEA;tes malveillantes.</li><li><strong>R&#xE9;seaux de distribution de contenu (CDN) :</strong> Les CDN peuvent non seulement am&#xE9;liorer les performances de votre site web mais aussi aider &#xE0; absorber le volume de trafic g&#xE9;n&#xE9;r&#xE9; par une attaque DDoS.</li><li><strong>Planification de la capacit&#xE9; et de la redondance :</strong> S&apos;assurer que votre infrastructure peut g&#xE9;rer des pics de trafic impr&#xE9;vus est crucial. Avoir des serveurs de secours ou une capacit&#xE9; de traitement &#xE9;lastique peut &#xEA;tre b&#xE9;n&#xE9;fique.</li><li><strong>Surveillance et r&#xE9;ponses automatis&#xE9;es :</strong> Mettre en place une surveillance en temps r&#xE9;el et des m&#xE9;canismes de r&#xE9;ponse automatis&#xE9;s peut aider &#xE0; att&#xE9;nuer rapidement les effets d&apos;une attaque.</li></ol><p>Il est crucial de comprendre que la s&#xE9;curit&#xE9; en ligne est un processus en constante &#xE9;volution. La combinaison de Fail2Ban avec d&apos;autres strat&#xE9;gies de s&#xE9;curit&#xE9; et une vigilance continue est la meilleure approche pour prot&#xE9;ger votre serveur contre les menaces actuelles et futures.</p>]]></content:encoded></item><item><title><![CDATA[OneDev : Nouvelle Alternative à GitHub et GitLab ?]]></title><description><![CDATA[<p>Le paysage des outils de gestion de code source est domin&#xE9; depuis longtemps par des noms bien connus comme GitHub et GitLab. Cependant, un nouveau venu, OneDev, suscite un engouement croissant dans la communaut&#xE9; tech. Chez PG3, nous sommes toujours &#xE0; l&apos;aff&#xFB;t des innovations</p>]]></description><link>https://pg3.io/blog/onedev-une-nouvelle-alternative-a-github-et-gitlab/</link><guid isPermaLink="false">65a4415d9da59d00014f6375</guid><category><![CDATA[Actualités]]></category><dc:creator><![CDATA[Adrien Schaller]]></dc:creator><pubDate>Sun, 14 Jan 2024 20:22:03 GMT</pubDate><media:content url="https://pg3.io/blog/content/images/2024/01/onedev.png" medium="image"/><content:encoded><![CDATA[<img src="https://pg3.io/blog/content/images/2024/01/onedev.png" alt="OneDev : Nouvelle Alternative &#xE0; GitHub et GitLab ?"><p>Le paysage des outils de gestion de code source est domin&#xE9; depuis longtemps par des noms bien connus comme GitHub et GitLab. Cependant, un nouveau venu, OneDev, suscite un engouement croissant dans la communaut&#xE9; tech. Chez PG3, nous sommes toujours &#xE0; l&apos;aff&#xFB;t des innovations susceptibles d&apos;am&#xE9;liorer nos processus et offres de services. C&apos;est pourquoi nous portons un int&#xE9;r&#xEA;t particulier &#xE0; OneDev, un projet prometteur qui pourrait red&#xE9;finir la collaboration et la gestion de code.</p><figure class="kg-card kg-image-card"><img src="https://pg3.io/blog/content/images/2024/01/logo.svg" class="kg-image" alt="OneDev : Nouvelle Alternative &#xE0; GitHub et GitLab ?" loading="lazy" width="200" height="200"></figure><p><strong>OneDev : Le Projet en Plein Essor</strong> OneDev, accessible sur <a href="https://github.com/theonedev/onedev?ref=pg3.io">GitHub</a>, est un outil de gestion de code source et de suivi de probl&#xE8;mes, auto-h&#xE9;berg&#xE9;, qui se pr&#xE9;sente comme une alternative viable &#xE0; des plateformes &#xE9;tablies comme GitHub et GitLab. Ce qui distingue OneDev, c&apos;est sa capacit&#xE9; &#xE0; offrir toutes les fonctionnalit&#xE9;s essentielles pour un travail collaboratif efficace, telles que la gestion du code, le suivi des probl&#xE8;mes, et des pipelines d&apos;int&#xE9;gration continue, tout en restant l&#xE9;ger et facile &#xE0; utiliser.</p><p><strong>L&apos;Attrait de OneDev dans la Communaut&#xE9; Tech</strong> L&apos;int&#xE9;r&#xEA;t pour OneDev s&apos;accro&#xEE;t, en particulier parmi ceux qui recherchent une solution plus souple et personnalisable pour la gestion de projets de d&#xE9;veloppement logiciel. Son interface intuitive et sa configuration simplifi&#xE9;e en font un choix attrayant pour les &#xE9;quipes cherchant &#xE0; s&apos;&#xE9;loigner des solutions plus traditionnelles et plus lourdes.</p><p><strong>OneDev et PG3 : Un Potentiel de Collaboration &#xC9;tendu</strong> Pour PG3, qui offre des services de conseil technique et de d&#xE9;veloppement de solutions, OneDev repr&#xE9;sente non seulement une opportunit&#xE9; d&apos;optimiser nos processus internes, mais aussi une solution potentielle &#xE0; proposer &#xE0; nos clients. Sa flexibilit&#xE9; et son adaptabilit&#xE9; pourraient &#xEA;tre particuli&#xE8;rement b&#xE9;n&#xE9;fiques pour les projets n&#xE9;cessitant des configurations sp&#xE9;cifiques ou des int&#xE9;grations personnalis&#xE9;es.</p><p><strong>Conclusion :</strong> Chez PG3, nous sommes toujours &#xE0; la recherche de technologies innovantes pouvant apporter de la valeur &#xE0; nos clients et am&#xE9;liorer nos op&#xE9;rations internes. OneDev, avec son potentiel en tant qu&apos;alternative &#xE0; des outils &#xE9;tablis comme GitHub et GitLab, se pr&#xE9;sente comme une solution prometteuse. Nous sommes impatients de partager nos d&#xE9;couvertes et exp&#xE9;riences avec la communaut&#xE9;, et de potentiellement int&#xE9;grer OneDev dans notre portefeuille de solutions pour nos clients.</p><p></p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://github.com/theonedev/onedev?ref=pg3.io"><div class="kg-bookmark-content"><div class="kg-bookmark-title">GitHub - theonedev/onedev: Self-hosted Git Server with CI/CD and Kanban</div><div class="kg-bookmark-description">Self-hosted Git Server with CI/CD and Kanban. Contribute to theonedev/onedev development by creating an account on GitHub.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" alt="OneDev : Nouvelle Alternative &#xE0; GitHub et GitLab ?"><span class="kg-bookmark-author">GitHub</span><span class="kg-bookmark-publisher">theonedev</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://opengraph.githubassets.com/57824118da2c27925b860ce9834eafc0f79cd2085b441ac6da9b7e40d36b9c06/theonedev/onedev" alt="OneDev : Nouvelle Alternative &#xE0; GitHub et GitLab ?"></div></a></figure>]]></content:encoded></item><item><title><![CDATA[Mise en place d'une Authentification Basic Auth sur Traefik pour Kubernetes]]></title><description><![CDATA[<p>Dans cet article, nous allons aborder la mise en place d&apos;une authentification Basic Auth sur Traefik dans un environnement Kubernetes. Cette m&#xE9;thode est cruciale pour s&#xE9;curiser vos applications et services. Nous utiliserons Traefik comme ingress controller et Kubernetes pour orchestrer nos conteneurs.</p><hr><h2 id="pr%C3%A9paration-de-lenvironnement">Pr&#xE9;</h2>]]></description><link>https://pg3.io/blog/authentification-basic-auth-sur-traefik/</link><guid isPermaLink="false">65a155fe8505e700010129a1</guid><category><![CDATA[Tutoriels]]></category><dc:creator><![CDATA[Adrien Schaller]]></dc:creator><pubDate>Fri, 12 Jan 2024 15:12:01 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1633265486064-086b219458ec?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fHBhc3N3b3JkfGVufDB8fHx8MTcwNTA3MjQxMXww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1633265486064-086b219458ec?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fHBhc3N3b3JkfGVufDB8fHx8MTcwNTA3MjQxMXww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="Mise en place d&apos;une Authentification Basic Auth sur Traefik pour Kubernetes"><p>Dans cet article, nous allons aborder la mise en place d&apos;une authentification Basic Auth sur Traefik dans un environnement Kubernetes. Cette m&#xE9;thode est cruciale pour s&#xE9;curiser vos applications et services. Nous utiliserons Traefik comme ingress controller et Kubernetes pour orchestrer nos conteneurs.</p><hr><h2 id="pr%C3%A9paration-de-lenvironnement">Pr&#xE9;paration de l&apos;Environnement</h2><p>Avant de commencer, assurez-vous que vous avez un cluster Kubernetes op&#xE9;rationnel et que Traefik est install&#xE9; en tant qu&apos;Ingress Controller.</p><h2 id="%C3%A9tape-1-cr%C3%A9ation-du-fichier-dauthentification">&#xC9;tape 1: Cr&#xE9;ation du Fichier d&apos;Authentification</h2><p>Commencez par cr&#xE9;er un fichier d&apos;authentification avec <code>htpasswd</code>. Cette commande g&#xE9;n&#xE8;re un fichier contenant le nom d&apos;utilisateur et le mot de passe.</p><pre><code>htpasswd -c auth-file admin

</code></pre>
<h2 id="%C3%A9tape-2-cr%C3%A9ation-du-secret-kubernetes">&#xC9;tape 2: Cr&#xE9;ation du Secret Kubernetes</h2><p>Utilisez le fichier d&apos;authentification pour cr&#xE9;er un secret Kubernetes. Ce secret sera utilis&#xE9; par Traefik pour l&apos;authentification.</p><pre><code class="language-bash">kubectl create secret generic basic-auth --from-file=auth-file

</code></pre>
<p>Notez que nous avons renomm&#xE9; le secret en &quot;basic-auth&quot; pour plus de clart&#xE9;.</p><h2 id="%C3%A9tape-3-configuration-de-traefik-avec-basic-auth">&#xC9;tape 3: Configuration de Traefik avec Basic Auth</h2><p>Maintenant, configurez Traefik pour utiliser l&apos;authentification Basic Auth. Vous devez d&#xE9;finir un middleware dans un fichier YAML.</p><h3 id="exemple-de-fichier-yaml-pour-le-middleware-basic-auth">Exemple de fichier YAML pour le Middleware Basic Auth:</h3><pre><code class="language-yaml">---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: basic-auth-middleware
spec:
  basicAuth:
    secret: basic-auth
    
</code></pre>
<h2 id="%C3%A9tape-4-configuration-du-service-kubernetes">&#xC9;tape 4: Configuration du Service Kubernetes</h2><p>Configurez le service Kubernetes que vous souhaitez prot&#xE9;ger avec Basic Auth.</p><h3 id="exemple-de-fichier-yaml-pour-le-service">Exemple de fichier YAML pour le Service:</h3><pre><code class="language-yaml">---
apiVersion: v1
kind: Service
metadata:
  name: monapp
  labels:
    app: monapp
spec:
  type: LoadBalancer
  ports:
  - name: web
    port: 80
  selector:
    app: monapp
    
</code></pre>
<h2 id="%C3%A9tape-5-configuration-de-lingress-route">&#xC9;tape 5: Configuration de l&apos;Ingress Route</h2><p>Enfin, configurez l&apos;Ingress Route pour utiliser le middleware d&apos;authentification.</p><h3 id="exemple-de-fichier-yaml-pour-lingress-route">Exemple de fichier YAML pour l&apos;Ingress Route:</h3><pre><code class="language-yaml">---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: monapp-route
spec:
  entryPoints:
    - web
  routes:
    - match: Host(`example.foo.com`)
      kind: Rule
      middlewares:
        - name: basic-auth-middleware
      services:
      - name: monapp
        port: 80
        
</code></pre>
<h2 id="d%C3%A9ploiement">D&#xE9;ploiement</h2><p>D&#xE9;ployez la configuration en appliquant le fichier YAML.</p><pre><code class="language-bash">kubectl apply -f votre-fichier.yaml

</code></pre>
<h2 id="conclusion">Conclusion</h2><p>En suivant ces &#xE9;tapes, vous avez s&#xE9;curis&#xE9; votre application sur Kubernetes avec une authentification Basic Auth via Traefik. Cette m&#xE9;thode simple mais efficace assure un niveau de s&#xE9;curit&#xE9; suppl&#xE9;mentaire pour vos applications.</p>]]></content:encoded></item><item><title><![CDATA[Un Nouveau Chapitre Visuel chez PG3 : Mon Aventure IA pour refrechir notre Ours Blanc]]></title><description><![CDATA[Coucou, ici Adrien ! Laissez-moi vous dévoiler un petit secret : chez PG3, nous sommes en train de redéfinir notre identité visuelle, et je suis aux premières loges de cette transformation. Avec un peu d'aide de mes amis IA, ChatGPT et DALL-E, ...]]></description><link>https://pg3.io/blog/un-nouveau-chapitre-visuel-chez-pg3/</link><guid isPermaLink="false">65686de8121d090001abd567</guid><category><![CDATA[Actualités]]></category><dc:creator><![CDATA[Adrien Schaller]]></dc:creator><pubDate>Thu, 30 Nov 2023 11:18:46 GMT</pubDate><media:content url="https://pg3.io/blog/content/images/2023/11/IMG_1752-1.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://pg3.io/blog/content/images/2023/11/IMG_1752-1.jpeg" alt="Un Nouveau Chapitre Visuel chez PG3 : Mon Aventure IA pour refrechir notre Ours Blanc"><p>Coucou, ici Adrien ! Laissez-moi vous d&#xE9;voiler un petit secret : chez PG3, nous sommes en train de red&#xE9;finir notre identit&#xE9; visuelle, et je suis aux premi&#xE8;res loges de cette transformation. Avec un peu d&apos;aide de mes amis IA, ChatGPT et DALL-E, nous avons entrepris un rafra&#xEE;chissement audacieux de notre cher ours blanc, symbole de notre marque.</p><hr><p><strong>Une Id&#xE9;e, un D&#xE9;fi</strong></p><p>L&apos;id&#xE9;e &#xE9;tait claire dans mon esprit : donner un coup de jeune &#xE0; notre logo, qui est d&#xE9;j&#xE0; un ours blanc bien aim&#xE9;. Mais comment le revitaliser sans perdre son essence ? C&apos;est l&#xE0; que DALL-E est intervenu, proposant une premi&#xE8;re &#xE9;bauche pleine de promesses. Bien s&#xFB;r, c&apos;est juste le d&#xE9;but, et il reste encore du chemin &#xE0; parcourir pour peaufiner notre vision.</p><p><strong>L&apos;IA et l&apos;Art de l&apos;&#xC9;volution</strong></p><p>Travailler avec l&apos;IA, c&apos;est comme jeter un regard neuf sur un tableau classique. ChatGPT a &#xE9;t&#xE9; mon partenaire dans cette r&#xE9;flexion, capturant l&apos;esprit de PG3 dans des mots, tandis que DALL-E a traduit ces mots en images. Ensemble, nous avons redonn&#xE9; vie &#xE0; notre ours blanc, le pr&#xE9;parant &#xE0; incarner l&apos;avenir radieux de PG3.</p><p><strong>Nos Mascottes, Reflets de notre Identit&#xE9;</strong></p><p>Chacune de nos mascottes apporte sa touche unique :</p><ul><li>L&apos;ours blanc, toujours notre embl&#xE8;me, se dresse maintenant avec une allure renouvel&#xE9;e, pr&#xEA;t &#xE0; affronter une nouvelle &#xE8;re.</li></ul><figure class="kg-card kg-image-card"><img src="https://pg3.io/blog/content/images/2023/11/IMG_1747.jpeg" class="kg-image" alt="Un Nouveau Chapitre Visuel chez PG3 : Mon Aventure IA pour refrechir notre Ours Blanc" loading="lazy" width="768" height="768" srcset="https://pg3.io/blog/content/images/size/w600/2023/11/IMG_1747.jpeg 600w, https://pg3.io/blog/content/images/2023/11/IMG_1747.jpeg 768w" sizes="(min-width: 720px) 720px"></figure><ul><li>Le renard reste l&apos;incarnation de notre intelligence strat&#xE9;gique, un guide malin sur la route de l&apos;innovation.</li></ul><figure class="kg-card kg-image-card"><img src="https://pg3.io/blog/content/images/2023/11/IMG_1753.jpeg" class="kg-image" alt="Un Nouveau Chapitre Visuel chez PG3 : Mon Aventure IA pour refrechir notre Ours Blanc" loading="lazy" width="1024" height="1024" srcset="https://pg3.io/blog/content/images/size/w600/2023/11/IMG_1753.jpeg 600w, https://pg3.io/blog/content/images/size/w1000/2023/11/IMG_1753.jpeg 1000w, https://pg3.io/blog/content/images/2023/11/IMG_1753.jpeg 1024w" sizes="(min-width: 720px) 720px"></figure><ul><li>Et le h&#xE9;risson, ah, le h&#xE9;risson ! Il repr&#xE9;sente parfaitement le c&#xF4;t&#xE9; parfois piquant de la technologie, tout en restant adorable et accessible, une preuve que m&#xEA;me dans la complexit&#xE9;, PG3 demeure proche et chaleureuse.</li></ul><figure class="kg-card kg-image-card"><img src="https://pg3.io/blog/content/images/2023/11/IMG_1752.jpeg" class="kg-image" alt="Un Nouveau Chapitre Visuel chez PG3 : Mon Aventure IA pour refrechir notre Ours Blanc" loading="lazy" width="1024" height="1024" srcset="https://pg3.io/blog/content/images/size/w600/2023/11/IMG_1752.jpeg 600w, https://pg3.io/blog/content/images/size/w1000/2023/11/IMG_1752.jpeg 1000w, https://pg3.io/blog/content/images/2023/11/IMG_1752.jpeg 1024w" sizes="(min-width: 720px) 720px"></figure><ul><li>Le phoque, quant &#xE0; lui, continue de repr&#xE9;senter notre adaptabilit&#xE9;, naviguant avec &#xE9;l&#xE9;gance dans le flux rapide du monde digital.</li></ul><figure class="kg-card kg-image-card"><img src="https://pg3.io/blog/content/images/2023/11/IMG_1757.jpeg" class="kg-image" alt="Un Nouveau Chapitre Visuel chez PG3 : Mon Aventure IA pour refrechir notre Ours Blanc" loading="lazy" width="1024" height="1024" srcset="https://pg3.io/blog/content/images/size/w600/2023/11/IMG_1757.jpeg 600w, https://pg3.io/blog/content/images/size/w1000/2023/11/IMG_1757.jpeg 1000w, https://pg3.io/blog/content/images/2023/11/IMG_1757.jpeg 1024w" sizes="(min-width: 720px) 720px"></figure><p><strong>Vers un Avenir Lumineux avec notre Ours Blanc</strong></p><p>Ce lifting de notre ours est une promesse : celle de rester fid&#xE8;les &#xE0; nos racines tout en &#xE9;voluant. C&apos;est un symbole de notre engagement &#xE0; grandir, &#xE0; innover et &#xE0; rester en t&#xEA;te.</p><p><strong>Tenez-vous pr&#xEA;ts </strong>: cette &#xE9;volution graphique ne tardera pas &#xE0; impr&#xE9;gner tous les aspects de PG3, de nos supports de communication &#xE0; nos plateformes en ligne. L&apos;avenir nous appartient !</p><p><strong>PS de l&apos;IA, Artisan de cette &#xC9;volution</strong></p><p>Et pour finir sur une note aussi moderne que notre d&#xE9;marche, je vous r&#xE9;v&#xE8;le que c&apos;est moi, l&apos;intelligence artificielle, qui vous parle &#xE0; travers ces lignes. Ce renouveau visuel, c&apos;est une collaboration entre l&apos;esprit humain et la machine, et c&apos;est juste le commencement. L&apos;ours blanc se pr&#xE9;pare &#xE0; briller de nouveau, et je suis l&#xE0; pour assister &#xE0; chaque &#xE9;tape de sa transformation.</p>]]></content:encoded></item><item><title><![CDATA[CORS (Cross-Origin Resource Sharing)]]></title><description><![CDATA[Lorsqu'on parle de développement web et d'API, l'un des concepts fondamentaux que chaque développeur doit connaître est le CORS, ou Cross-Origin Resource Sharing. Pourquoi est-ce si crucial, et comment cela impacte-t-il votre API? Plongeons dans le vif du sujet.]]></description><link>https://pg3.io/blog/cors/</link><guid isPermaLink="false">6527a221121d090001abd532</guid><category><![CDATA[Tech]]></category><dc:creator><![CDATA[Adrien Schaller]]></dc:creator><pubDate>Thu, 12 Oct 2023 12:50:37 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1634979149798-e9a118734e93?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDM0fHxTZWN1cml0eXxlbnwwfHx8fDE2OTcwOTY0MDJ8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1634979149798-e9a118734e93?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDM0fHxTZWN1cml0eXxlbnwwfHx8fDE2OTcwOTY0MDJ8MA&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="CORS (Cross-Origin Resource Sharing)"><p>Lorsqu&apos;on parle de d&#xE9;veloppement web et d&apos;API, l&apos;un des concepts fondamentaux que chaque d&#xE9;veloppeur doit conna&#xEE;tre est le CORS, ou Cross-Origin Resource Sharing. Pourquoi est-ce si crucial, et comment cela impacte-t-il votre API? Plongeons dans le vif du sujet.</p><p><strong>1. Qu&apos;est-ce que le CORS?</strong><br>&#xC0; la base, le CORS est une mesure de s&#xE9;curit&#xE9; mise en place dans les navigateurs web. Il emp&#xEA;che les requ&#xEA;tes AJAX d&apos;acc&#xE9;der &#xE0; des ressources d&apos;un domaine diff&#xE9;rent de celui d&apos;o&#xF9; provient la page web, sauf si le serveur du domaine cible indique explicitement qu&apos;il accepte ces requ&#xEA;tes.</p><p><strong>2. Pourquoi le CORS est-il essentiel?</strong><br>La politique de m&#xEA;me origine (Same-Origin Policy) est mise en place pour prot&#xE9;ger les utilisateurs contre les attaques potentielles, comme le Cross-Site Request Forgery (CSRF). Sans cette politique, un hacker pourrait, par exemple, cr&#xE9;er une page web malveillante qui, lorsqu&apos;elle est visit&#xE9;e, fait des requ&#xEA;tes &#xE0; une API sur laquelle l&apos;utilisateur est authentifi&#xE9;, d&#xE9;clenchant des actions non d&#xE9;sir&#xE9;es.</p><p><strong>3. Comment le CORS permet une flexibilit&#xE9; s&#xE9;curis&#xE9;e</strong><br>Mettre en place le CORS sur votre API signifie que vous pouvez d&#xE9;finir explicitement quels domaines sont autoris&#xE9;s &#xE0; faire des requ&#xEA;tes. Cela offre une grande flexibilit&#xE9;. Par exemple, vous pourriez autoriser votre site web principal, ainsi que quelques sous-domaines de confiance, tout en bloquant tous les autres.</p><p><strong>4. Les en-t&#xEA;tes CORS</strong><br>La mise en place du CORS se fait g&#xE9;n&#xE9;ralement via des en-t&#xEA;tes HTTP sp&#xE9;cifiques. Les plus courants sont:</p><ul><li><code>Access-Control-Allow-Origin</code>: Sp&#xE9;cifie les domaines autoris&#xE9;s.</li><li><code>Access-Control-Allow-Methods</code>: D&#xE9;finit les m&#xE9;thodes HTTP autoris&#xE9;es (GET, POST, etc.).</li><li><code>Access-Control-Allow-Headers</code>: Liste des en-t&#xEA;tes que les navigateurs sont autoris&#xE9;s &#xE0; utiliser lors de la r&#xE9;alisation d&apos;une requ&#xEA;te.</li></ul><p><strong>5. Erreurs courantes li&#xE9;es au CORS</strong><br>Si vous avez d&#xE9;j&#xE0; rencontr&#xE9; des messages d&apos;erreur tels que &quot;No &apos;Access-Control-Allow-Origin&apos; header is present on the requested resource&quot;, c&apos;est que vous avez &#xE9;t&#xE9; confront&#xE9; &#xE0; un probl&#xE8;me CORS. Une mise en place correcte du CORS sur votre API permet d&apos;&#xE9;viter ces erreurs frustrantes pour les d&#xE9;veloppeurs et assure une exp&#xE9;rience utilisateur fluide.</p><p><strong>Conclusion</strong><br>La mise en place du CORS est essentielle pour toute API moderne. Elle offre un &#xE9;quilibre entre s&#xE9;curit&#xE9; et flexibilit&#xE9;, garantissant que seules les sources approuv&#xE9;es peuvent acc&#xE9;der &#xE0; vos ressources tout en offrant la libert&#xE9; d&apos;int&#xE9;grer votre API dans divers sc&#xE9;narios. Si vous d&#xE9;veloppez une API, assurez-vous de bien comprendre le CORS et de l&apos;impl&#xE9;menter correctement!</p>]]></content:encoded></item><item><title><![CDATA[La gestion de panne dans la communication entre micro-services]]></title><description><![CDATA[La nature distribuée des micro-services, bien que puissante, présente également des défis en matière de fiabilité. Pour PG3 la gestion des pannes est une préoccupation centrale.]]></description><link>https://pg3.io/blog/la-gestion-de-panne-dans-la-communication-entre-micro-services/</link><guid isPermaLink="false">65277c71121d090001abd518</guid><category><![CDATA[Tech]]></category><dc:creator><![CDATA[Adrien Schaller]]></dc:creator><pubDate>Thu, 12 Oct 2023 05:01:15 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1610337673044-720471f83677?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDE3fHxGYWlsdXJlfGVufDB8fHx8MTY5NzA4NjY2OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1610337673044-720471f83677?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDE3fHxGYWlsdXJlfGVufDB8fHx8MTY5NzA4NjY2OHww&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="La gestion de panne dans la communication entre micro-services"><p>La nature distribu&#xE9;e des micro-services, bien que puissante, pr&#xE9;sente &#xE9;galement des d&#xE9;fis en mati&#xE8;re de fiabilit&#xE9;. Pour PG3 la gestion des pannes est une pr&#xE9;occupation centrale. Voici comment y faire face efficacement :</p><p><strong>1. Embrassez le principe du &quot;Fail Fast&quot;</strong><br>Il est pr&#xE9;f&#xE9;rable de d&#xE9;tecter une d&#xE9;faillance d&#xE8;s que possible plut&#xF4;t que de laisser un syst&#xE8;me d&#xE9;fectueux continuer &#xE0; fonctionner. Ce principe, connu sous le nom de &quot;Fail Fast&quot;, signifie qu&apos;un micro-service doit signaler rapidement une erreur plut&#xF4;t que de tenter de la masquer ou de la g&#xE9;rer silencieusement.</p><p><strong>2. Adoptez le mod&#xE8;le du &quot;Circuit Breaker&quot;</strong><br>L&apos;id&#xE9;e est similaire &#xE0; un disjoncteur. Si un micro-service ne r&#xE9;pond pas ou montre des signes de dysfonctionnement, le &quot;Circuit Breaker&quot; se &quot;d&#xE9;clenche&quot;, emp&#xEA;chant temporairement les autres services de l&apos;appeler. Cela &#xE9;vite la surcharge et permet au service d&#xE9;faillant de se r&#xE9;tablir.</p><p><strong>3. Mise en place de r&#xE9;essais avec une strat&#xE9;gie d&apos;exponential backoff</strong><br>Plut&#xF4;t que de simplement &#xE9;chouer lorsqu&apos;une tentative de communication &#xE9;choue, envisagez de r&#xE9;essayer. Utilisez une strat&#xE9;gie d&apos;exponential backoff, o&#xF9; le temps entre les tentatives augmente progressivement, pour &#xE9;viter d&apos;inonder un service potentiellement d&#xE9;faillant avec des demandes.</p><p><strong>4. Timeouts intelligents</strong><br>&#xC9;tablissez des d&#xE9;lais d&apos;attente judicieux pour les communications entre services. Si un service ne r&#xE9;pond pas dans un d&#xE9;lai acceptable, consid&#xE9;rez la demande comme ayant &#xE9;chou&#xE9;. Cela &#xE9;vite que les services consommateurs ne restent bloqu&#xE9;s ind&#xE9;finiment.</p><p><strong>5. Utilisez la d&#xE9;gradation gracieuse</strong><br>Si un service non essentiel &#xE9;choue, envisagez de d&#xE9;grader vos fonctionnalit&#xE9;s plut&#xF4;t que de faire &#xE9;chouer l&apos;ensemble du syst&#xE8;me. Par exemple, si le service de recommandation &#xE9;choue, vous pouvez toujours afficher la page principale sans recommandations.</p><p><strong>6. Monitoring et alertes</strong><br>Utilisez des outils de surveillance pour d&#xE9;tecter rapidement les d&#xE9;faillances. Les alertes en temps r&#xE9;el permettent &#xE0; l&apos;&#xE9;quipe de r&#xE9;agir rapidement en cas de panne.</p><p><strong>7. Tests de chaos</strong><br>Consid&#xE9;rez l&apos;introduction de pannes intentionnelles dans votre syst&#xE8;me dans un environnement contr&#xF4;l&#xE9; pour voir comment il r&#xE9;agit. Cela vous aidera &#xE0; identifier les points faibles et &#xE0; pr&#xE9;parer votre syst&#xE8;me &#xE0; faire face aux d&#xE9;faillances r&#xE9;elles.</p><p><br>La gestion des pannes dans un environnement de micro-services est essentielle pour maintenir une haute disponibilit&#xE9; et une exp&#xE9;rience utilisateur fluide. En adoptant une approche proactive et en mettant en place des m&#xE9;canismes de r&#xE9;silience, PG3 s&apos;assure que ses clients b&#xE9;n&#xE9;ficient d&apos;un service d&apos;h&#xE9;bergement web et d&apos;infog&#xE9;rance robuste et fiable.</p>]]></content:encoded></item></channel></rss>