Projets d'Études · BUT 2ème année

SAE 3.02 — Runker (Load Balancer)

Application client/serveur pour exécution de code distribuée

  • Python
  • SSL/TLS
  • Sockets
  • PyQt6
  • Multiprocessing

Contexte

Projet de développement d'une application communicante permettant l'exécution de code sur des serveurs distants avec répartition de charge entre plusieurs nœuds.

En détail

Technologies

  • Python
  • SSL/TLS
  • Sockets
  • PyQt6
  • Multiprocessing

Mon rôle

Développement complet de l'architecture client/serveur

Architecture

  • Serveur Master (proxy entre clients et nœuds)
  • Nœuds d'exécution (workers)
  • Client GUI PyQt6
  • Communication sécurisée SSL

Réalisations

  • Connexion contrôle sécurisée SSL
  • Serveur de données avec chiffrement
  • Load balancing entre nœuds
  • Interface graphique utilisateur
  • Support multi-langages (Python, C, C++, Java)

Compétences

  • Programmation réseau avancée
  • Sécurisation des communications
  • Architecture distribuée
  • Développement GUI

Ressources

  • Démonstration vidéo disponible
  • GitHub: https://github.com/fnyaker/LoadBalancer_SAE3.2
Programme national
Apprentissages critiques
  • AC21.06 | Travailler en équipe pour développer ses compétences professionnelles
  • AC22.05 | Capacité à questionner un cahier des charges RT
  • AC23.02 | Développer une application à partir d'un cahier des charges donné, pour le Web ou les périphériques mobiles
  • AC23.03 | Utiliser un protocole réseau pour programmer une application client/serveur
  • AC23.04 | Installer, administrer un système de gestion de données
  • AC23.05 | Accéder à un ensemble de données depuis une application et/ou un site web
Composantes essentielles
  • CE1.01 | en choisissant les solutions et technologies réseaux adaptées
  • CE1.02 | en respectant les principes fondamentaux de la sécurité informatique
  • CE2.01 | en communiquant avec le client et les différents acteurs impliqués, parfois en anglais
  • CE3.01 | en étant à l'écoute des besoins du client
  • CE3.02 | en documentant le travail réalisé
  • CE3.03 | en utilisant les outils numériques à bon escient
  • CE3.04 | en choisissant les outils de développement adaptés
  • CE3.05 | en intégrant les problématiques de sécurité
Ressources mobilisées et combinées
  • R3.08 | Consolidation de la programmation
  • R3.09 | Programmation événementielle
  • R3.10 | Gestion d'un système de bases de données
  • R3.11 | Anglais professionnel 1
  • R3.12 | Expression-Culture-Communication professionnelles : Savoir collaborer
  • R3.13 | Projet Personnel et Professionnel
  • R3.15 | Gestion de projet 2 : Utiliser les méthodes de gestion de projet
Compétences ciblées
  • Administrer les réseaux et l'Internet
  • Connecter les entreprises et les usagers
  • Créer des outils et applications informatiques pour les R&T