Skip to content

arrighi-fabien/Projet-Programmation-Systeme

Repository files navigation

EasySave By ProSoft

forthebadge forthebadge

This project is a simple backup software that allows you to create backups of your files and folders.

Summary

Built With

  • .NET
  • C#

Languages

  • English
  • French
  • Spanish
  • German
  • Italian
  • Russian
  • Arabic

Usage Guide

EasySave now offers an enhanced interface for managing your backup jobs. Below is a comprehensive guide to navigate through the application's features.

Main Menu

Upon launching the application, the main menu presents you with the following options:

  • Execute Save Job : Run configured backup jobs.
  • Create Save Job : Set up a new backup job.
  • Update Save Job : Modify existing backup jobs.
  • Delete Save Job : Remove backup jobs that are no longer needed.
  • Settings : Adjust application settings such as language, log format, encryption extensions and professional app.

Execute or Delete Save Job

To execute or delete a save job:

  • Navigate to the corresponding option from the main menu.
  • Select the desired job from the list displayed on the right side of the interface.

Create or Update Save Job

Both creating a new save job and updating an existing one share a similar process:

  • For creation : Choose Create Save Job from the main menu. A new page opens.
  • For update : Select a save job to modify, then choose Update Save Job. You'll be directed to a similar page as for creation.

On the configuration page:

  • Save Job Name : Enter a unique name for the job.
  • Source Folder : Specify the folder you wish to back up.
  • Destination Folder : Define where the backup should be stored.
  • Save Type : Select between a full or differential backup.

Settings

Accessing Settings from the main menu opens a new page where you can configure:

  • Language : Choose between English and French.
  • Log Format : Select your preferred format for logs, either JSON or XML.
  • Extensions to Encrypt : Manually input file extensions you want to encrypt during the backup process.
  • Professional App : Block the transfer if the application(s) in Professional App are open
  • Priority Extension : No backup of a non-priority file can be made as long as there are priority extensions pending on at least one job.
  • Limited weight(Ko) : To avoid overloading the bandwidth, no two files larger than n KB may be transferred at the same time.
  • Server Status : Start or shut down the server, so you can monitor the progress of backups in real time on a remote workstation
  • Server Port : Port to set up the TCP connection (client-server)

Closing the Application

To exit the application safely:

  • Navigate to Close Application from any page.
  • Confirm to ensure all your settings and configurations are saved.

By adhering to this guide, you'll be able to efficiently manage your backup jobs with EasySave. Whether it's performing routine backups or adjusting settings, EasySave's intuitive interface caters to all your data protection needs.

Download and use

Depending on your operating system, download the appropriate zip file from the releases on our GitHub page.

For the EasySave Main Application (Windows 64-bit)

For the EasySave Remote GUI Application (Windows 64-bit)

Note: EasySave_RemoteGUI is designed to work in conjunction with EasySaveGUI. Make sure that EasySaveGUI is running on your network or accessible over the internet before connecting with EasySave_RemoteGUI.

Linux 64-bit

  • Download EasySaveConsole_Linux64.tar.gz
  • Extract the tar file with tar -xzvf EasySaveConsole_Linux.tar.gz.
  • Open a terminal and navigate to the extracted folder: cd /path/to/linux-x64.
  • Make the file executable with chmod +x EasySaveConsole.
  • Launch the application with ./EasySaveConsole.

Use the console application with Docker

A Docker container is available to easily test the application on Linux. You can pull it from Docker Hub:
docker pull airg213/easysaveconsole-v1.1:latest

To launch the container and access the application:
docker run -it --name easysaveconsole-v1.1 airg213/easysaveconsole-v1.1:latest

Once in the container, navigate to the application directory:
cd /opt/linux-x64

Launch the application with:
./EasySaveConsole

CI/CD Pipeline for EasySave with GitHub Actions

The CI/CD pipeline for EasySave is now powered by GitHub Actions, enabling automated workflows for building, testing, and deploying both the EasySave main application (EasySaveGUI) and the remote GUI application (EasySave_RemoteGUI) directly from GitHub. This pipeline ensures that every change pushed to the main branch goes through a rigorous process of validation before being made available for release.

Workflow Stages

1. Build and Test

  • Trigger: Any push or pull request to the main branch.
  • Actions: The .NET applications (EasySaveGUI and EasySave_RemoteGUI) are built and tested using the latest version of the .NET framework. This ensures that all changes are verified and meet the project's quality standards.

2. Publish

  • Trigger: Successful completion of the build and test stage on the main branch.
  • Actions: Each application is published, and the artifacts (executable files) are prepared for deployment. These artifacts are then archived and uploaded as workflow artifacts, ensuring they are available for deployment.

3. Release

  • Trigger: Manual trigger by the repository maintainers or automated trigger upon successful completion of the publish stage.
  • Actions: A new release is created on GitHub, and the archived artifacts from the publish stage for both EasySaveGUI and EasySave_RemoteGUI are attached to the release. This makes the latest version of each application readily available for users to download directly from the GitHub releases page.

Getting Started with GitHub Actions

To view and manage the CI/CD pipeline:

  1. Navigate to the GitHub repository.
  2. Click on the "Actions" tab to see the list of workflows.
  3. You can see the status of recent workflows, view logs, and manage workflow runs.

Download and Use

To download the latest version of EasySave:

  • Visit the Releases page of the EasySave GitHub repository.
  • Download the appropriate artifact for your operating system (Windows/Linux).
  • Follow the usage guide for installation and operation instructions.

The GitHub Actions CI/CD pipeline ensures that EasySave is continuously integrated and delivered with the highest standards of quality and reliability.

For more details on GitHub Actions and workflows, visit the GitHub Actions documentation.

Authors

Project Link: https://github.com/arrighi-fabien/Projet-Programmation-Systeme

About

Projet Programmation Système / FISA A3 INFO

Topics

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages