Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • lydra/www/lydra.fr
1 result
Show changes
Commits on Source (15)
Showing
with 834 additions and 155 deletions
---
title: "💥 Explose les limites du Docker Hub | TUTO GitLab CI"
description: "Découvre comment contourner les limites du Docker Hub grâce à GitLab CI. Tuto vidéo complet, astuces runners, proxy et registry GitLab."
date: "2025-04-03"
authors: "cchaudier"
slug: "explose-les-limites-du-docker-hub-TUTO-GitLab-CI"
image: "2025/YT-explose-les-limites-du-docker-hub-TUTO-GitLab-CI-740.png"
tags:
- "Devops"
- "Tutotutoriels"
- "videos"
- "gitlab"
- "gitlab ci"
- "docker"
sites: ["lydra.fr","compagnons-devops.fr","froggit.fr"]
---
Tu galères avec des jobs GitLab CI qui échouent à cause des limitations du Docker Hub ? Respire. Ce tuto vidéo + mon article t’expliquent 4 techniques concrètes pour optimiser tes pipelines GitLab CI et contourner les limites de pull Docker. Une ressource à garder sous le coude.
<!-- truncate -->
✋ Mais avant, si tu veux en savoir plus sur ces limitations, [j'ai fais un article et un podcast qui expliquent tout ici](/blog/les-limites-du-docker-hub-en-solo).
## Ce que tu vas apprendre dans cet article
Tu utilises GitLab CI et Docker pour ton intégration continue ? Alors tu as sûrement déjà vu ce message de rate limit du Docker Hub… Et c’est frustrant. Très frustrant même.
Mais bonne nouvelle : il existe des solutions simples, propres, et efficaces pour **contourner ces limites**.
Dans cet article, basé sur ma vidéo tuto, je te partage **4 techniques puissantes** pour que tes pipelines GitLab CI tournent comme une horloge.
Tu trouveras [mon dépôt de code ici 🐸](https://lab.frogg.it/compagnons-devops/tutos/repousser-les-limites-du-docker-hub).
Avant de lire l’article complet, je t’invite à **regarder la vidéo** si ce n’est pas encore fait. Ça rend tout bien plus clair, crois-moi.
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/dobmI-9uHDo?si=MiHuEkCqj3yQ8mxM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
<FrgCommu/>
## Authentifie tes jobs GitLab CI avec le Docker Hub
### Pourquoi faire ?
Le Docker Hub impose une limite pour les utilisateurs anonymes. Une fois cette limite atteinte, tes jobs échouent.
En authentifiant tes jobs CI avec un compte Docker, tu augmentes ta limite. C’est la première étape pour souffler un peu.
### Comment faire ?
1. Crée un token d’accès personnel sur le Docker Hub.
2. Génère une chaîne d’authentification en base64 :
```bash
echo -n "utilisateur:docker_personal_access_token" | openssl base64 -A
```
3. Formate cette chaîne dans une variable GitLab CI nommée `DOCKER_AUTH_CONFIG` :
```json
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "TOKEN_EN_BASE64"
}
}
}
```
4. Ajoute-la dans ton projet GitLab : `Settings > CI/CD > Variables`.
Et voilà, ton pipeline est maintenant authentifié. Les pulls sont plus nombreux, et tes jobs ne plantent plus.
[📙 Documentation de GitLab : utiliser une autentification sur un registre de conteneurs](https://docs.gitlab.com/ci/docker/using_docker_images/#use-statically-defined-credentials)
## Authentifie tes runners GitLab
Deuxième solution : tu ajoutes l’authentification **au niveau des runners**. C’est utile si tu auto-héberges tes runners.
### Étapes à suivre
1. Modifie le fichier `/etc/gitlab-runner/config.toml`.
2. Ajoute la variable d’environnement `DOCKER_AUTH_CONFIG` dans la section `[[runners]]` :
```toml
[[runners]]
name = "runner_name"
environment = ["DOCKER_AUTH_CONFIG={\"auths\":{\"https://index.docker.io/v1/\":{\"auth\":\"<TOKEN_EN_BASE64>\"}}}"]
```
3. Redémarre le runner pour prendre en compte la config.
Cette méthode te donne plus de contrôle, surtout si tu veux éviter de dupliquer des tokens dans tous tes projets.
[📙 Documentation de GitLab : utiliser une autentification sur un runner](https://docs.gitlab.com/ci/docker/using_docker_images/#configuring-a-runner)
:::info
[👕 DevOps addict ? 🔥 Montre-le avec swag !](https://bref.lydra.fr/cddgoodies)
:::
## Utilise le proxy de dépendance GitLab
Troisième astuce : le **proxy de dépendance** intégré à GitLab.
Il permet de mettre en cache les images Docker directement sur ta forge. Résultat ? Moins de pulls sur le Docker Hub, et un pipeline **plus rapide**.
### Configuration simple
1. Active le proxy au niveau du _namespace_ (groupe de premier niveau) dans GitLab : `Settings > Packages and registries > Dependency Proxy`.
2. Dans ton `.gitlab-ci.yml`, change l’image en ajoutant `${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/`, comme ceci :
```yaml
image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/alpine:3.21
```
Dès le premier pull, l’image est mise en cache.
Et les suivants utiliseront directement le proxy GitLab. Bluffant, non ?
[🐸 Ma branche avec le code.](https://lab.frogg.it/compagnons-devops/tutos/repousser-les-limites-du-docker-hub/-/merge_requests/2)
[📙 Documentation de GitLab : le proxy de dépendance de conteneurs](https://docs.gitlab.com/user/packages/dependency_proxy/)
## Héberge tes images dans le registre de conteneur de GitLab
Quatrième et dernière méthode : héberges **toi-même** tes images dans le registre de conteneurs GitLab.
C’est la solution la plus robuste et la plus souveraine.
### Comment ça marche ?
1. Utilise l’outil `crane` pour copier les images depuis Docker Hub vers GitLab :
```yaml
script:
- |
crane auth login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
while IFS= read -r image; do
if [ ! -z "${image}" ]; then
echo "📥 Download image: $image"
crane copy "${image}" "${CI_REGISTRY_IMAGE}/${image}"
fi
done < .gitlab/ci/images.txt
```
2. Gère tes images dans un fichier `.gitlab/ci/images.txt` pour automatiser la récupération.
3. Utilise les pipelines planifiés pour les mettre à jour régulièrement.
Plus de surprises, plus de dépendance externe.
Et tes pipelines tournent même quand Docker Hub tousse.
[🐸 Ma branche avec le code.](https://lab.frogg.it/compagnons-devops/tutos/repousser-les-limites-du-docker-hub/-/merge_requests/1)
[📙 Crane l'outil pour manipuler les images](https://github.com/google/go-containerregistry/blob/main/cmd/crane/doc/crane.md)
:::tip
Besoin d'aide pour gérer ta forge GitLab ou pour tout ce qui touche à GitLab-CI ?
[Contacte-nous](/contacts), nous avons forcément une prestation adaptée.
:::
## En résumé : 4 solutions pour repousser les limites
Voici un petit récap rapide :
- **Authentifier les jobs CI** : rapide à mettre en place, idéal pour commencer.
- **Configurer les runners** : plus durable, surtout pour les infrastructures internes.
- **Activer le proxy de dépendance** : gain de performance et réduction des pulls.
- **Héberger les images dans GitLab** : solution souveraine et full GitLab.
Tu peux même **combiner ces méthodes** pour optimiser au maximum tes pipelines.
## FAQ : les questions qu’on me pose souvent
**Est-ce que ça fonctionne avec [Froggit.fr](https://froggit.fr) ou GitLab.com ?**
Oui, à condition d’avoir les droits pour ajouter des variables et activer les options.
**Le proxy de dépendance est-il disponible dans toutes les éditions de GitLab ?**
Oui, il est disponible dans toutes les versions, ainsi que sur les instances _self-hosted_ à partir de GitLab 14.0.
**Est-ce que je peux utiliser une autre forge que Docker Hub ?**
Absolument. Tu peux adapter ces méthodes pour n’importe quel registre de conteneurs (Quay.io, Harbor, etc.)
## Et maintenant ?
Si tu veux aller plus loin, pense à :
- T’inscrire à ma **[newsletter Git & GitLab](https://bref.lydra.fr/frg-cdd-commu)**.
- Rejoindre cette nouvelle **communauté** pour accéder à des astuces, anti-sèches et tutoriels exclusifs
- [Me soutenir via un petit don 💙](https://soutenir.compagnons-devops.fr) pour continuer à produire ce contenu.
Et surtout : **regarde la vidéo**, elle t’explique tout en détail et avec démos à la clé.
Tu vas voir, ça va tout changer pour ton GitLab CI.
À très vite dans un prochain tuto !
<CddSoutenir/>
<Contenus/>
<RdoEmissions/>
---
## Crédits
- Christophe Chaudier : consultant indépendant au sein du collectif Lydra. Animateur du podcast de la communauté des Compagnons du DevOps. professeur vacataire à Télécom Saint-Étienne et au CFAI Loire. Découvre le : https://lydra.fr/ea-3-le-podcasteur-christophe | LinkedIn : https://www.linkedin.com/in/cchaudier | Froggit : https://froggit.fr/
### Habillage sonore
- L’intro et la fin sont de Baptiste Gaillet : FullStack développeur avec une tendance DevOps au Centre Scientifique et Technique du Bâtiment, Fondateur et développeur de l’application BedFoodCoffee pour aider les personnes en difficultés. Après des études dans le son et différents métiers, il a effectué une reconversion professionnelle en 2015 pour devenir développeur (Formation diplômante dans le cadre d’un CIF). LinkedIn : https://www.linkedin.com/in/baptiste-gaillet-223832b4 | Twitter : https://twitter.com/bat79a
- La musique d’intro est “Tupac Lives” de John Bartmann : https://pixabay.com/fr/music
- La musique de fin est “Passport” de Purple planet : https://www.purple-planet.com/passport
### Habillage graphique
[Image de Tali Despins](https://unsplash.com/fr/photos/un-homme-tenant-une-arme-a-feu-et-debout-devant-un-feu-DuwtKmVjG28)
<Licence/>
---
<ProdLydra/>
---
title: "🐳 Les limites du Docker Hub | En Solo"
meta-title: "Comment contourner les limites du Docker Hub dans ton pipeline GitLab CI/CD"
description: "Découvre comment les nouvelles limites du Docker Hub peuvent bloquer tes pipelines CI/CD et comment les contourner facilement grâce à GitLab et d'autres alternatives."
date: "2025-04-03"
authors: "cchaudier"
slug: "les-limites-du-docker-hub-en-solo"
image: "2025/YT-les-limites-du-docker-hub-en-solo-740.png"
tags:
- "Devops"
- "Podcast"
- "Radio DevOps"
- "Syndicalisme"
- "Lydra"
sites: ["lydra.fr","compagnons-devops.fr"]
---
## Tu galères avec les images Docker dans ton pipeline GitLab CI ?
Depuis le 1er avril 2025, Docker a serré la vis. Résultat : ton pipeline GitLab CI ne fonctionne plus ? T'as des erreurs au pull d'images ?
Pas de panique, je t'explique clairement ce qui se passe, pourquoi ton intégration continue est en PLS, et surtout, comment t’en sortir avec GitLab CI, Docker Hub, et quelques astuces bien senties.
<!-- truncate -->
J'ai fait un podcast vidéo pour démystifier tout ça.
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/buaf2CfsRyE?si=d7Fhja8ojKezjiLv" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
## Pourquoi le Docker Hub est devenu un goulot d’étranglement
Tu l’as peut-être déjà ressenti : des images Docker qui ne se téléchargent plus, des jobs qui plantent, un PO en panique… et ton pipeline CI/CD à l’arrêt.
Depuis le 1er avril 2025, Docker a mis en place de **nouvelles limitations sur les téléchargements** :
- **10 images/heure** pour les utilisateurs *anonymes*
- **100 images/heure** pour les comptes *gratuits authentifiés*
- Illimité pour les *comptes payants*
Ces limites ne sont pas nouvelles, mais elles ont été **renforcées**, et aujourd’hui, elles peuvent paralyser ton workflow.
:::info
[👕 DevOps addict ? 🔥 Montre-le avec swag !](https://bref.lydra.fr/cddgoodies)
:::
## GitLab CI + Docker Hub : comment reprendre la main
### 1. Crée un compte Docker et configure ton CLI
Première étape évidente, mais trop souvent oubliée : **authentifie-toi**. Créer un compte Docker, même gratuit, te fait passer de 10 à 100 téléchargements par heure.
Fais-le sur ton laptop, mais aussi dans ton intégration continue.
### 2. Utilise un compte authentifié dans tes pipelines GitLab
Dans tes pipelines CI/CD, tu dois injecter tes identifiants Docker de manière sécurisée. Crée des **variables CI/CD** dans l’interface GitLab (jamais dans `.gitlab-ci.yml`)
Simple, rapide, et ça évite les surprises.
### 3. Configure tes GitLab Runners pour une authentification globale
Si tu héberges tes propres runners, c’est encore mieux. Tu peux **pré-configurer l'authentification au niveau du runner pour éviter les limitations à la source.
Un seul login, des images partout.
### 4. Active le proxy de dépendance GitLab
C’est la **meilleure astuce**, pourtant si méconnue.
GitLab propose un **proxy de dépendance Docker** :
- GitLab télécharge une seule fois l’image depuis Docker Hub.
- Puis il la met en cache pour tous tes jobs du projet ou du groupe.
- Plus rapide, plus fiable, et sans te faire blacklister.
[Documentation officielle du proxy GitLab Container Registry](https://docs.gitlab.com/ee/user/packages/container_registry/#dependency-proxy)
:::info
[⚡ Propulse ta maîtrise de GitLab à la vitesse supérieure !](https://bref.lydra.fr/academie-froggit)
:::
### 5. Héberge tes propres images Docker dans GitLab
Une autre stratégie gagnante : **héberger toi-même tes images critiques**.
- Crée un projet dédié à ton registre Docker privé.
- Utilise ensuite ces images dans tes jobs CI.
Automatisable avec un petit pipeline, pour du pull régulier → push GitLab.
### 6. Utilise des registres tiers (ou héberge le tien)
Si tu veux te libérer complètement de Docker Hub :
- **[Google Artifact Registry](https://cloud.google.com/artifact-registry/docs/overview?hl=fr)** (utilisé en miroir par GitLab.com)
- **[Harbor](https://goharbor.io/)**, pour du on-prem
- Ou tout autre registre Docker compatible
Tu gagnes en contrôle, en rapidité et en résilience.
### 7. Met en place un miroir d’images Docker
Le niveau expert 👇
Tu peux automatiser un *pipeline GitLab* pour :
- Cloner les images importantes.
- Les tagguer.
- Les stocker dans ton registre de conteneurs GitLab.
En cas d’embargo, d’erreur réseau ou de disparition de repo, tu es couvert. Et tu peux même **scanner tes images automatiquement** via GitLab ou Trivy.
## 💡 Quelle stratégie adopter (et dans quel ordre) ?
Voici un plan d’action clair, que je recommande :
1. **Crée un compte Docker et connecte-toi** partout où tu le peux
2. **Authentifie tes runners et pipelines**
3. **Active le proxy GitLab** pour accélérer et économiser les pulls
4. **Stocke localement les images critiques**
5. **Automatise les push dans ton GitLab Container Registry**
6. **Passe à un registre tiers si besoin**
7. **Crée un miroir interne avec Dockerfiles en backup**
## 🔗 Ressources complémentaires
- [Le post LinkedIn d'Olivier qui m'a alerté](https://www.linkedin.com/posts/oduval_docker-devops-gitlab-activity-7310369335615606784-XsfT)
- [Article de Docker sur les nouvelles limitations](https://www.docker.com/blog/revisiting-docker-hub-policies-prioritizing-developer-experience)
- [Les limites du Docker Hub](https://docs.docker.com/docker-hub/usage/pulls)
- [L'article de blog de Docker pour les limites en 2020](https://web.archive.org/web/20201028192220/https://www.docker.com/blog/docker-hub-image-retention-policy-delayed-and-subscription-updates/)
- [La page de pricing Docker en 2020](https://web.archive.org/web/20200825052448/https://hub.docker.com/pricing)
- [L'article de GitLab qui propose des solutions](https://about.gitlab.com/blog/2025/03/24/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd)
- [Article de Stéphane Robert](https://blog.stephane-robert.info/post/gitlab-docker-rate-limit)
- [Documentation GitLab Proxy de dépendance de conteneurs](https://docs.gitlab.com/user/packages/dependency_proxy)
- [Registry cache de Google](https://cloud.google.com/artifact-registry/docs/pull-cached-dockerhub-images?hl=fr)
:::info
- [Regarde ma vidéo tuto YouTube où je te montre comment faire](https://youtu.be/dobmI-9uHDo?si=7B7NyDE-FI3qDmRX)
:::
## Pour aller plus loin
Tu galères encore avec GitLab CI ?
Tu veux comprendre comment optimiser tes jobs, tes runners ou tes registres ?
👉 Je prépare une **communauté Git & GitLab** pour aller plus loin.
Inscris-toi et reçois mes anti-sèches, des astuces en exclu, et un accès aux prochains lives.
:::info
[🦊 Rejoins la communauté git et GitLab](https://bref.lydra.fr/frg-cdd-commu)
:::
## Questions fréquentes
### Est-ce que les comptes payants Docker valent le coup ?
Oui, si tu veux éviter les galères de limitation sans trop te prendre la tête, c’est la solution la plus simple à court terme.
### Le proxy GitLab fonctionne-t-il sur les GitLab auto-hébergés ?
Oui ! C’est même là qu’il est le plus utile, surtout si tes runners sont proches du serveur GitLab.
### Peut-on utiliser plusieurs comptes Docker ?
Oui, tu peux gérer un compte par projet, ou mutualiser un compte payant pour plusieurs projets avec prudence.
## À retenir
- Les limitations Docker Hub peuvent **casser ton intégration continue**.
- GitLab CI propose plusieurs **solutions simples et efficaces**.
- Pense à la **sécurité** de tes identifiants.
- Investis dans des **solutions durables** : proxy, registre GitLab, miroir d’images.
- Et surtout : **automatise tout ce que tu peux** !
Merci d’avoir lu jusqu’au bout 🙏
:::info
[▶️ Si cet article t’a aidé, n’oublie pas de : liker, partager et commenter la vidéo YouTube associée !](https://youtu.be/buaf2CfsRyE?si=4Ogd2UfmcN2fPSSJ)
:::
À très vite pour un nouvel épisode de Radio DevOps 🎙️
<CddSoutenir/>
<Contenus/>
<RdoEmissions/>
---
## Crédits
- Christophe Chaudier : consultant indépendant au sein du collectif Lydra. Animateur du podcast de la communauté des Compagnons du DevOps. professeur vacataire à Télécom Saint-Étienne et au CFAI Loire. Découvre le : https://lydra.fr/ea-3-le-podcasteur-christophe | LinkedIn : https://www.linkedin.com/in/cchaudier | Froggit : https://froggit.fr/
### Habillage sonore
- L’intro et la fin sont de Baptiste Gaillet : FullStack développeur avec une tendance DevOps au Centre Scientifique et Technique du Bâtiment, Fondateur et développeur de l’application BedFoodCoffee pour aider les personnes en difficultés. Après des études dans le son et différents métiers, il a effectué une reconversion professionnelle en 2015 pour devenir développeur (Formation diplômante dans le cadre d’un CIF). LinkedIn : https://www.linkedin.com/in/baptiste-gaillet-223832b4 | Twitter : https://twitter.com/bat79a
- La musique d’intro est “Tupac Lives” de John Bartmann : https://pixabay.com/fr/music
- La musique de fin est “Passport” de Purple planet : https://www.purple-planet.com/passport
### Habillage graphique
- Image de Freepik https://www.freepik.com/free-photo/high-view-morning-air-radio-stream-coffee_10357388.htm
<Licence/>
---
<ProdLydra/>
blog/images/2025/YT-les-limites-du-docker-hub-en-solo-740.png

380 KiB

......@@ -152,6 +152,10 @@ const config = {
to: '/#team',
activeBasePath: '/#'
},
{
label: 'Nos réseaux',
to: '/nos-reseaux',
},
{
label: 'Nos inspirations',
to: '/nos-inspirations',
......
import React from 'react';
import Link from "@docusaurus/Link";
import Slider from "react-slick";
import React from "react";
import "slick-carousel/slick/slick.css";
import "slick-carousel/slick/slick-theme.css";
import clsx from 'clsx';
import styles from './styles.module.css';
import styles from "./styles.module.css";
import useBaseUrl from "@docusaurus/useBaseUrl";
import { FaLinkedin } from "react-icons/fa";
import Image from '@theme/IdealImage'
import Image from "@theme/IdealImage";
import Link from "@docusaurus/Link";
const FeatureList = [
{
title: 'Christophe Chaudier',
subtitle: 'Formateur et Consultant en méthodologies DevOps',
img: 'img/team/cchaudier_bkg.png',
url: 'https://www.linkedin.com/in/cchaudier/',
description: (
<>
Formateur et Consultant en méthodologies DevOps et expert en déploiement logiciel. Actif sur les réseaux sociaux @c_chaudier. Saint-Étienne, plus de 25 ans dexpérience. Étant expert en déploiements automatisés, Christophe a en charge la partie « R&D opérationnelle » dans le but dautomatiser la plateforme de service et le déploiement des logiciels. Christophe est également en charge de la coordination et de la formation des consultants Lydra. Ayant le plus dexpérience avec les hébergeurs de plateforme en ligne, Christophe est responsable de la relation commerciale et technique avec ces fournisseurs de solutions dhébergement de serveurs.
</>
),
title: "Christophe Chaudier",
subtitle: "Formateur et Consultant en méthodologies DevOps",
img: "img/team/cchaudier_bkg.png",
url: "https://www.linkedin.com/in/cchaudier/",
description:
"Christophe à développé au fil des années une expertise en déploiement logiciel. Actif sur les réseaux sociaux @c_chaudier. Saint-Étienne, plus de 25 ans d’expérience. Étant expert en déploiements automatisés, Christophe a en charge la partie « R&D opérationnelle » dans le but d’automatiser la plateforme de service et le déploiement des logiciels. Christophe est également en charge de la coordination et de la formation des consultants Lydra. Ayant le plus d’expérience avec les hébergeurs de plateforme en ligne, Christophe est responsable de la relation commerciale et technique avec ces fournisseurs de solutions d’hébergement de serveurs.",
},
{
title: 'Thomas Michel',
subtitle: 'Administrateur système et conseil en logiciels libres',
img: 'img/team/tmichel_bkg.png',
url: 'https://www.linkedin.com/in/thomas-michel-598818313',
description: (
<>
Administrateur système et conseil en logiciels libres. Rennes, plus de 20 ans dexpérience. Déjà opérationnel dans la recherche doutils numériques libres pour les offres « clé en main », Thomas a en charge la partie « R&D fonctionnelle » consistant à identifier les logiciels les plus adaptés pour répondre à un besoin, et documenter leur processus de déploiement et de paramétrage. De part son expérience dans la mise à disposition de services en ligne « clé en main », Thomas est également au pilotage des travaux légaux et institutionnels. Thomas a aussi la responsabilité de coordonner les travaux de documentation utilisateur et de support à la clientèle.
</>
),
title: "Thomas Michel",
subtitle: "Administrateur système et conseil en logiciels libres",
img: "img/team/tmichel_bkg.png",
url: "https://www.linkedin.com/in/thomas-michel-598818313",
description:
"Basé à Rennes, plus de 20 ans d’expérience. Thomas a en charge la partie « R&D fonctionnelle » consistant à identifier les logiciels les plus adaptés pour répondre à un besoin, et documenter leur processus de déploiement et de paramétrage. Thomas est également au pilotage des travaux légaux et institutionnels, et d’optimisation financière (FinOps). Thomas a aussi la responsabilité de coordonner les travaux de documentation utilisateur et de support à la clientèle.",
},
{
title: 'Daniel Gonçalves',
subtitle: 'Développeur et administrateur système',
img: 'img/team/dgoncalves_bkg.png',
url: 'https://www.linkedin.com/in/daniel-gon%C3%A7alves-8a635a146/',
description: (
<>
Développeur de formation devenu administrateur systèmes GNU/Linux. Lyon, plus de 15 ans dexpérience. Tombé dans le logiciel libre et la culture du hacking il y a 18 ans, Daniel est particulièrement intéressé par les questions doutillages dans le but de faciliter la vie des administrateurs et développeurs dun projet ou dune équipe. Il opère aujourdhui un savant mélange dadministration système combiné à des connaissances poussées en développement dans le but de maintenir en conditions opérationnelles les solutions de nos clients. Adepte convaincu par les solutions dautomatisation dinfrastructure, Daniel est particulièrement friand dAnsible et AWX.
</>
),
title: "Daniel Gonçalves",
subtitle: "Développeur et administrateur système",
img: "img/team/dgoncalves_bkg2.png",
url: "https://www.linkedin.com/in/daniel-gon%C3%A7alves-8a635a146/",
description:
"Développeur de formation devenu administrateur systèmes GNU/Linux. Lyon, plus de 15 ans d’expérience. Tombé dans le logiciel libre et la culture du hacking il y a 18 ans, Daniel est particulièrement intéressé par les questions d’outillages dans le but de faciliter la vie des administrateurs et développeurs d’un projet ou d’une équipe. Il opère aujourd’hui un savant mélange d’administration système combiné à des connaissances poussées en développement dans le but de maintenir en conditions opérationnelles les solutions de nos clients. Adepte convaincu par les solutions d’automatisation d’infrastructure, Daniel est particulièrement friand d’Ansible et AWX.",
},
{
title: "Sylvain Viart",
subtitle: "Sysadmin GNU/Linux | DevOps | mentor",
img: "img/team/sviart_bkg.png",
description:
"Informaticien passionné, Sylvain adore apprendre et partager. Annecy, il est sysadmin GNU/Linux expert depuis plus de 20 ans et automatise tout. Il incarne le rôle DevOps, assurant la transition entre Sysadmin Ops et les développeurs. Sylvain est également un bon vulgarisateur, collaborant sur le code et la production afin de mener l’équipe à accomplir ses missions et à résoudre les défis humains et techniques. Enthousiaste et déterminé, il est très à l’aise avec les architectures complexes et les environnements datacenter ou cloud. Sylvain vous aidera à surmonter vos défis dans les logiciels libres et Open Source.",
},
{
title: "Arthur Boudreault",
subtitle: "Administrateur systèmes et réseaux spécialisé en Linux et adepte de la méthodologie DevOps",
img: "img/team/aboudreault_bkg.png",
description:
"Passionné d'informatique depuis son adolescence et spécialiste des systèmes Linux, Arthur a rejoint Lydra en 2021, d'abord en stage, puis en alternance. Basé à Tours, son expertise couvre aussi bien le maintien en conditions opérationnelles (MCO) que la recherche et développement (R&D) pour le SaaS Froggit. Il a notamment contribué au déploiement d'une forge logicielle conçue pour 10 000 utilisateurs, ainsi qu'à l'intégration et l'optimisation de Portainer pour la gestion des outils internes de Lydra. Arthur allie rigueur et innovation pour garantir la performance, la résilience et la sécurité des infrastructures informatiques.",
},
{
title: "Céleste Robert",
subtitle: "Développeuse fullstack",
img: "img/team/crobert_bkg.png",
description:
"Basée à Besançon, Céleste a rejoint Lydra en 2022 dans le cadre de son alternance pour le titre de développeur/concepteur d'applications. Elle a travaillé depuis sur divers projets, en particulier le développement des sites statiques de nos marques. Elle a aussi en charge l’automatisation no/low-code avec des outils variés pour nos SaaS. Elle développe les portails clients de nos SaaS et travaille aussi à l'amélioration des chaînes d'intégration continue Gitlab-CI.",
},
{
title: 'Pourquoi pas toi ?',
subtitle: "Rejoins Lydra",
description: "Rejoins Lydra et partage notre passion pour le logiciel libre et Open Source",
img: 'img/team/question-mark.png',
link: "/contacts"
}
];
const Nouveau = {
title: 'Pourquoi pas toi ?',
subtitle: "Rejoins Lydra ",
img: 'img/team/hacker.png',
link: "/contacts"
}
function Feature({ img, title, subtitle, description, url, link }) {
function Feature({img, title, subtitle, description, link, url}) {
if (link) {
return (
<Link className={styles.featureElement} to={link}>
<Image img={useBaseUrl(img)} className={styles.featureSvg} role="img" />
<div className="text--center padding-horiz--md">
return (
<div className={styles.teamElement}>
<div className={styles.teamPicture}>
{url && (
<a
className={styles.linkedinButton}
href={url}
target="_blank"
rel="noreferrer"
>
<FaLinkedin />
</a>
)}
<Image
img={useBaseUrl(img)}
className={styles.featureSvg}
role="img"
/>
</div>
<div className={styles.teamDescription}>
<h3>{title}</h3>
<p> <b>{subtitle}</b></p>
{description && (
<p>{description}</p>
)
}
</div>
</Link>
);
} else {
return (
<div className={styles.featureElement}>
<div style={{position:'relative'}}>
{url && (<a className='linkedin-button' href={url} target='_blank' rel="noreferrer" ><FaLinkedin/></a>)}
<Image img={useBaseUrl(img)} className={styles.featureSvg} role="img" />
</div>
<div className="text--center padding-horiz--md">
<h3>{title}</h3>
<p><b>{subtitle}</b></p>
<p> <b>{subtitle}</b></p>
{description && (
<p>{description}</p>
)
}
</div>
</div>
);
}
<p>{description}</p>
{link && <Link className="button button--sm button--secondary" href={link}> {subtitle} </Link>}
</div>
</div>
);
}
export default function HomepageTeam() {
const settings = {
accessibility: true,
autoplay: true,
autoplaySpeed: 8500,
speed: 1500,
infinite: true,
rtl: true,
slidesToShow: 2,
slidesToScroll: 1,
responsive: [
{
breakpoint: 720,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
initialSlide: 0
}
},
]
};
return (
<section id="team">
<h2 className='text--center margin-top--lg'> Notre Équipe </h2>
<div className={styles.features + ' team'}>
<h2 className="text--center margin-top--lg"> Notre Équipe </h2>
<div className={styles.features + " team"}>
<div className="container">
<div className="row">
<div className={clsx('col col--8')}>
<Slider {...settings}>
{FeatureList.map((props, idx) => (
<Feature key={idx} {...props} />
))}
</Slider>
</div>
<Feature {...Nouveau}/>
</div>
<Feature key={idx} {...props} />
))}
</div>
</div>
</section>
......
.features {
display: flex;
align-items: center;
padding: 2rem 0;
width: 100%;
}
.featureSvg {
height: 200px;
width: 200px;
border-radius: 50%;
margin-bottom: 1rem;
border: 6px solid var(--ifm-color-primary);
background-color: var(--alterning-bkg);
}
.featureElement {
.teamElement {
display: flex;
flex-direction: column;
align-items: center;
margin: 0 auto;
flex-direction: row;
margin-bottom: 3rem;
}
.teamElement h3 {
color: var(--ifm-color-primary);
}
.teamElement:nth-child(even) {
display: flex;
flex-direction: row-reverse;
}
.featureElement:hover {
text-decoration: none;
}
.teamPicture {
position: relative;
}
.teamDescription {
margin-left: 5rem;
}
.teamDescription p, .teamDescription h3 {
text-align: left;
max-width: 860px;
}
.teamElement:nth-child(even) .teamDescription {
margin-right: 5rem;
}
.teamElement:nth-child(even) p, .teamElement:nth-child(even) h3 {
text-align: right;
}
.linkedinButton {
font-size: 3rem;
position: absolute;
top: 150px;
left: 0;
color: #0e76a8;
}
.linkedinButton:hover {
color: #5da8d0;
}
.teamElement:nth-last-child(1) .featureSvg {
border: 6px solid var(--ifm-color-success);
}
.teamElement:nth-last-child(1) h3 {
color: var(--ifm-color-success);
}
@media (max-width: 768px) {
.teamPicture {
margin: 0 auto;
}
.teamDescription {
margin: 0 auto;
}
.teamElement:nth-child(even) .teamDescription {
margin: 0 auto;
}
.teamDescription p, .teamDescription h3, .teamDescription:nth-child(even) p, .teamDescription:nth-child(even) h3 {
text-align: center;
}
.teamElement {
flex-direction: column;
}
.teamElement:nth-child(even) {
flex-direction: column;
}
}
......@@ -103,46 +103,8 @@ i, em {
color: var(--ifm-color-primary) !important;
}
section:nth-child(even) {
background-color: var(--alterning-bkg);
padding: 2rem 0;
}
.linkedin-button {
font-size: 3rem;
position: absolute;
bottom: -1rem;
left: 0;
color: #0e76a8;
}
.linkedin-button:hover {
color: #5da8d0;
}
.team .slick-slide:nth-child(3n+1) img {
background-color: var(--ifm-pastel-success)
}
.team .slick-slide:nth-child(3n+1) h3 {
color: var(--ifm-color-success);
}
.team .slick-slide:nth-child(3n+2) img {
background-color: var(--ifm-pastel-info);
}
.team .slick-slide:nth-child(3n+2) h3 {
color: var(--ifm-color-info);
}
.team .slick-slide:nth-child(3n+3) img {
background-color: var(--ifm-pastel-highlight);
}
.team .slick-slide:nth-child(3n+3) h3 {
color: var(--ifm-color-highlight);
.feature {
margin: auto;
}
.pagination-nav__label {
......@@ -153,6 +115,11 @@ section:nth-child(even) {
text-align: center;
}
section:nth-child(even) {
background-color: var(--alterning-bkg);
padding: 2rem 0;
}
.notFound {
position: absolute;
top: -75px;
......
---
title: Nos réseaux
---
# Nos réseaux
Lydra est impliqué dans plusieurs réseaux qui font sens pour nous et dans lesquels nous pouvons agir.
## Le mouvement Coopératif
En tant que coopérative, nous adhérons de fait [aux réseaux de l'URSCOP AURA et la CGSCOP](https://www.les-scop.coop/haibu) (national). Ce réseau de coopératives est un atout pour être accompagné dans les spécificités de ce statut, et nous permet d'échanger dans un écosystème proche de nos valeurs de coopération et de partage de l'entreprise.
Nous adhérons également [au réseau CoopTech](https://cooptech.fr), qui regroupe les entreprises de la tech numérique sous statut coopératif. Nous pouvons ainsi construire des partenariats avec d'autres entreprises partageant notre rapport au travail et mutualiser nos présences aux grands salons de la tech.
Si vous souhaitez nous rencontrer à Rennes, nous sommes aussi présent dans le [coworking Bigre Lieu](https://www.bigrelieu-coop.fr) qui rassemble beaucoup de coopératives (mais pas que) à Rennes.
## Le mouvement des logiciels libres
Lydra [a fait le choix des logiciels libres](https://lydra.fr/nos-inspirations#le-choix-du-libre) et des services éthiques, ce qui se traduit aussi par nos implications dans les réseaux associés.
[Alliance Libre](http://www.alliance-libre.org/membres/lydra-haibu-scop) est un réseau régional (Bretagne et Pays de la Loire) de professionnels engagés dans les logiciels libres. En y adhérant, nous soutenons également et adhérons indirectement à toutes les associations professionnelles de promotion et défense du logiciel libre (l'[April](https://www.april.org), le [CNLL](http://www.cnll.fr), etc.).
## Les réseaux de la tech
Lydra fait partie de réseaux d'entreprises du numérique de façon plus globale, puisque faisant partie de tout cet écosystème. Ainsi, nous adhérons à [Digital League](https://digital-league.org/members/haibu-30699) (région AURA) et [ADN Ouest](https://www.adnouest.org/structure/lydra) (régions du Grand Ouest) dans lesquels vous pourrez nous retrouver lors des événements.
This diff is collapsed.
static/img/team/aboudrault_bkg.png

108 KiB

static/img/team/aboudreault_bkg.png

108 KiB

static/img/team/crobert_bkg.png

143 KiB

static/img/team/dgoncalves_bkg2.png

100 KiB

static/img/team/hacker.png

28.8 KiB

static/img/team/question-mark.png

15.7 KiB

static/img/team/sviart_bkg.png

81.8 KiB