Remote Shutdown App est un projet qui combine un serveur Flask pour exécuter des commandes d'arrêt à distance sur un PC, et une application mobile Flutter qui sert d'interface utilisateur. L'application permet à un utilisateur de :
- Éteindre immédiatement son PC.
- Planifier un arrêt dans un délai spécifié (par exemple, dans 10 minutes).
Le projet est composé de deux parties :
- Un serveur Flask hébergé sur le PC pour recevoir les commandes d'arrêt.
- Une application Flutter qui communique avec ce serveur.
L'application est entièrement open-source.
- Python 3.x et Flask pour le serveur.
- Flutter SDK pour l'application mobile.
- Android Studio ou VS Code pour développer et exécuter l'application.
- Git pour la gestion de version.
- Un PC Windows (pour les commandes shutdown).
- Un iPhone ou un émulateur iOS (pour tester l'application Flutter).
-
Assure-toi que Flask est installé :
pip install flask
-
Installe Flutter : Suis les instructions d'installation sur flutter.dev.
-
Vérifie que Flutter est installé :
flutter doctor
Voici la structure globale du projet :
SHUTDOWNPCWITHIPHONE/
├── client/ # Application Flutter
│ ├── assets/ # Images et icônes
│ │ └── shutdown_icon.png # Icône personnalisée
│ ├── lib/ # Code source Flutter
│ │ ├── main.dart # Code principal de l'application
│ ├── test/ # Tests unitaires Flutter
│ │ └── widget_test.dart # Tests de l'interface
│ ├── pubspec.yaml # Configuration Flutter
│ └── ...
│
└── server/ # Serveur Flask
└── app.py # Code principal du serveur
Le serveur Flask (écrit dans app.py
) s'occupe de recevoir des requêtes HTTP pour éteindre le PC.
Fonctionnalités :
- /shutdown-now : Arrête immédiatement le PC.
- /shutdown-delay?minutes=X : Arrête le PC après X minutes.
- Va dans le dossier
server/
:cd server
- Lance le serveur Flask :
python app.py
- Sortie attendue :
* Running on http://0.0.0.0:5000
- Assure-toi que l'IP est utilisable sur ton réseau local (par exemple
192.168.0.92
).
L'application Flutter communique avec le serveur Flask via des requêtes HTTP GET.
- Bouton « Éteindre Maintenant » : Envoie une requête au serveur pour arrêter le PC immédiatement.
- Bouton « Éteindre dans 10 Minutes » : Envoie une requête avec un délai.
- Paramètres de connexion : Configuration dynamique de l'adresse IP et du mot de passe.
- Gradient dans l'AppBar.
- Cartes avec bordures arrondies.
- Boutons avec icônes et effets d'animation grâce à
flutter_animate
.
Ajoute les dépendances nécessaires :
dependencies:
flutter:
sdk: flutter
http: ^1.2.0
flutter_animate: ^4.2.0
flutter:
uses-material-design: true
assets:
- assets/shutdown_icon.png
- Clone le projet :
git clone <lien-github>
- Installe Flask :
pip install flask
- Lance le serveur Flask :
python server/app.py
- Accède au dossier
client/
:cd client
- Installe les dépendances Flutter :
flutter pub get
- Lance l'application :
flutter run
- Teste l'application sur ton téléphone (iOS ou Android).
- Lance le serveur Flask sur ton PC Windows.
- Exécute l'application Flutter sur ton téléphone.
- Assure-toi que ton PC et ton téléphone sont connectés au même réseau local.
- Appuie sur les boutons pour tester les fonctionnalités !
- Éteindre immédiatement le PC.
- Planifier l'arrêt avec un délai de 10 minutes.
- Configuration dynamique de l'IP et du mot de passe.
- Feedback visuel pour les commandes envoyées.
✅