Veille Technologique - GitHub

Plateforme de développement collaboratif et de gestion de versions

Mon Compte GitHub

Mon profil GitHub

À propos de mon compte

Mon compte GitHub reflète mon parcours en BTS SIO SISR et mon intérêt pour l'administration réseau. J'utilise cette plateforme pour :

  • Stocker mes configurations réseau
  • Partager mes scripts d'automatisation
  • Collaborer sur des projets d'infrastructure
  • Documenter mes expériences et apprentissages

Présentation

GitHub est une plateforme de développement collaboratif qui permet de stocker, gérer et suivre les modifications de code source. Fondée en 2008, elle est devenue un outil essentiel pour les développeurs du monde entier.

  • Gestion de versions avec Git
  • Collaboration en équipe
  • Intégration continue
  • Gestion de projets

Évolution Récente

GitHub continue d'innover avec de nouvelles fonctionnalités :

  • GitHub Copilot (IA pour l'assistance au codage)
  • Amélioration de la sécurité avec Dependabot
  • GitHub Actions pour l'automatisation
  • GitHub Projects pour la gestion de projet

Fonctionnalités Clés

  • Pull Requests et Code Review

    Les Pull Requests sont comme des demandes pour ajouter vos modifications au projet principal. Imaginez que vous avez amélioré une partie du réseau et vous voulez que l'équipe vérifie votre travail avant de l'appliquer. Vous créez une Pull Request, et vos collègues peuvent voir exactement ce que vous avez changé, faire des commentaires et suggérer des améliorations. C'est un peu comme demander à un collègue de vérifier votre travail avant de le finaliser. Une fois approuvé, votre code est intégré au projet principal.

  • Issue Tracking

    Le système d'Issues est simplement un tableau des problèmes et tâches à effectuer. Comme un carnet de tâches partagé où vous pouvez signaler des bugs (par exemple "le pare-feu bloque incorrectement certains sites"), demander des améliorations ("pouvons-nous ajouter une règle pour ce nouveau service?") ou planifier des tâches ("mise à jour des routeurs prévue le 15 juin"). Chaque issue peut être assignée à une personne, étiquetée pour l'organisation et suivie jusqu'à sa résolution.

  • GitHub Pages pour l'hébergement

    GitHub Pages est un service gratuit qui transforme vos fichiers en site web. Sans avoir besoin d'un serveur web séparé, vous pouvez publier facilement votre documentation réseau, vos guides techniques ou vos procédures. Par exemple, vous pourriez créer un site interne expliquant comment configurer le VPN de l'entreprise ou documenter l'architecture réseau. Le site est automatiquement mis à jour quand vous modifiez les fichiers dans GitHub.

  • Sécurité avancée

    GitHub offre des fonctionnalités qui vous aident à rendre votre travail plus sûr. Il peut analyser automatiquement votre code pour trouver des failles de sécurité potentielles, comme des mots de passe hardcodés dans vos scripts réseau. Il vérifie aussi si les bibliothèques et outils que vous utilisez ont des vulnérabilités connues et vous propose des mises à jour. Pour les règles sensibles comme les configurations de pare-feu, GitHub permet de limiter qui peut voir ou modifier certains fichiers, garantissant que seules les personnes autorisées y accèdent.

Bonnes Pratiques

  • Utilisation de branches pour chaque fonctionnalité
  • Commits atomiques et messages descriptifs
  • Revue de code systématique
  • Documentation à jour

GitHub et l'Administration Réseau (SISR)

Infrastructure as Code

GitHub permet aux administrateurs réseau de sauvegarder et suivre les changements de leurs scripts (en Python ou Bash) qui configurent automatiquement les équipements. On peut aussi y stocker des fichiers de configuration (en format YAML ou JSON) utilisés par des outils comme Ansible ou Terraform. Cela nous aide à garder des modèles de configuration pour différents équipements (Cisco, Juniper) et à assurer que tout le monde utilise les mêmes paramètres.

Sécurité et Monitoring

Les équipes réseau utilisent GitHub pour travailler ensemble sur les règles de pare-feu et partager des scripts qui surveillent le réseau. On y trouve aussi des outils gratuits comme Wireshark ou Nmap qui aident à analyser le réseau. GitHub nous permet de partager des scripts qui examinent les journaux d'activité et le trafic réseau, ce qui aide à trouver et résoudre les problèmes plus rapidement.

Documentation et Collaboration

Sur GitHub, on peut sauvegarder les plans du réseau, créer des pages d'information pour l'équipe, et tenir à jour les procédures à suivre en cas de problème. Cela permet à toute l'équipe d'accéder aux mêmes informations et de les mettre à jour facilement. Les guides de dépannage sont accessibles à tous, ce qui améliore la rapidité de réaction quand il y a un problème.

Automatisation

GitHub facilite l'application des méthodes de développement au monde du réseau. On peut créer des chaînes de tests automatiques pour vérifier les configurations avant de les appliquer. GitHub Actions permet de lancer automatiquement des tests de connexion. On peut aussi créer des environnements de test rapides grâce aux conteneurs. Tout cela permet aux équipes réseau de profiter des avantages de l'automatisation, comme le font déjà les développeurs.

Limitations et Fonctionnalités des Repositories

Comptes Gratuits

GitHub offre beaucoup aux utilisateurs gratuits. Depuis 2020, vous pouvez créer autant de dépôts que vous voulez, publics ou privés. Vous pouvez travailler avec autant de personnes que vous le souhaitez sur ces dépôts, ce qui est parfait pour les projets étudiants. Vous avez aussi droit à 2000 minutes par mois pour utiliser GitHub Actions (qui automatise des tâches) et vous pouvez créer des sites web avec GitHub Pages. Pour nos projets SISR, c'est très pratique pour sauvegarder les configurations réseau, travailler en équipe et automatiser certaines tâches.

Limitations de Stockage

Même si vous pouvez créer autant de dépôts que vous voulez, il y a des limites sur la taille des fichiers. Un fichier ne devrait pas dépasser 50 Mo, avec un maximum absolu de 100 Mo. Un dépôt entier ne devrait pas dépasser 5 Go. C'est important pour nous en réseau, car on travaille parfois avec de gros fichiers comme des captures Wireshark ou des images de machines virtuelles. Pour ces gros fichiers, GitHub propose un service appelé LFS qui donne 1 Go de stockage gratuit par mois.

Bonnes Pratiques pour le Réseau

Pour bien utiliser GitHub avec nos projets réseau, il faut paramétrer le fichier .gitignore pour exclure certains types de fichiers. Par exemple, les gros fichiers de logs, les grosses captures Wireshark, les images de machines virtuelles et les fichiers temporaires. Cela permet de garder nos dépôts légers et rapides, tout en conservant les configurations et scripts importants. Pour les fichiers binaires volumineux, mieux vaut utiliser GitHub LFS, surtout pour les images de machines virtuelles, les grosses captures réseau et les fichiers ISO.