5av€, application de sauvegarde.

Projet académique : Continuité de service

Contexte du projet

Ce projet a été réalisé dans le cadre d'un travail dirigé pour cloturer le module de continuité de service en troisième année de BUT Informatique. Ce travail a été réalisé sur du 20 novembre 2024 au 13 janvier 2025. Ce projet est un programme Client/Server en python pour effectuer une sauvegarde externalisée de dossiers et fichiers.

Ce travail a été réalisé par groupe de trois, avec Charlotte LEWIS et Jade RENAUT.

Le projet était en python, nous avons utilisé Gitlab et visual studio code.

Méthode de travail

Au sein de mon équipe la méthode de travail était classique. Toutes les semaines nous faisions le point. De plus, nous nous organisions sur les tâches à faire via un fichier TODO.md dans le répertoire gitlab dans le quel nous nous assignons les tâches.

J'étais chargée d'implémenter la partie sécurité du programme. De ce fait, j'ai implémenté la sécurisation du flux de données passant par le réseau en implémnetant des sockets sécurisées (SSL) avec la librairie openssl, j'ai aussi développé un script bash afin de générer le certificat et la clé privée du serveur, nécessaire à la communication sécurisée. De plus, j'ai implémenté le chiffrement et déchiffrement AES-256 des sauvegardes côté serveur, avec une génération de la paire de clé pour le chiffrement et déchiffrement.

Résultats obtenus

Nous avons nommé l'application de sauvegarde Client/Server "5av€". Une documentation détaillée a été rédigée. L'application client/server fonctionne, on peut envoyer un dossier au serveur pour effectuer une sauvegarde, on peut lister les sauvegardes stockées côté serveur, nous pouvons supprimer une sauvegarde et enfin nous pouvons restaurer un dossier supprimé côté client grâce à la sauvegarde côté serveur.
L'application client possède un mode interface graphique et un mode ligne de commande, à l'envoie d'un dossier il faut fournir un fichier .txt dans lequel les extensions des fichiers que l'on souhaite sauvegardé sont mentionnées.

Une documentation complète et détaillée a été rédigée et générée grâce à Sphynx. Pour fournir plus d'informations sur l'utilisation, les prérequis etc. un fichier README.md a été soigneusement rédigé pour rendre plus accessible l'utilisation du projet.

1 / 3
2 / 3
3 / 3

Compétences acquises

Cette expérience m'a permise de développer mes compétences en python, en maîtrise de la librairie openssl et en bash. J'ai pu me remémorer l'utilisation de GitHub et travailler en équipe.