Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1940 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Notification sur smartphone quand un fichier sur PC est modifié

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Notification sur smartphone quand un fichier sur PC est modifié

n°2323493
raph 182
Posté le 03-11-2018 à 18:32:36  profilanswer
 

Bonjour,

 

J'ai un système automatisé qui ajoute une ligne dans un fichier .txt sur un PC (Win7) quand un événement survient.
Mon projet est de recevoir une notification push sur des appareils Android ou Ios pour prévenir de l’événement avec le texte de la dernière ligne.

 

Pouvez vous me proposer des méthodes pour arriver à cela?
Mes faibles compétences en programmation sont "universitaires" et ce n'était pas la spécialité de ma branche!
Du coup j'envisage de creuser du côté du planificateur de tâche de Windows ou à IFTTT. Vous pensez qu'un outil de ce genre peut faire le job?

 

Merci


Message édité par raph 182 le 03-11-2018 à 18:33:08
mood
Publicité
Posté le 03-11-2018 à 18:32:36  profilanswer
 

n°2323501
Je@nb
Kindly give dime
Posté le 04-11-2018 à 11:26:21  profilanswer
 

Tu peux coupler un script ou programme qui implémente un "file system watcher" (très simple en powershell ou c#) qui va déclencher une action pour lire la dernière ligne du fichier et appeler un webhook sur IFFT (Receive a web request par exemple) pour générer ta notification android/ios

n°2323513
raph 182
Posté le 04-11-2018 à 23:43:02  profilanswer
 

Merci de ta réponse,  
 
Du coup je me suis lancé dans le C# en trouvant des extraits de programmes qui circulent sur le net.
 
Bon, j'ai pas encore capté la façon d'articuler cela proprement (namespace, déclaration...) donc ça me renvoi des erreurs mais ma grande question pour l'instant est:  
Comment émettre par Webhook depuis un programme C#?  
 
 

Code :
  1. using System;
  2. using System.IO;
  3. using System.Security.Permissions;
  4. public class Watcher
  5. {
  6.     public static void Main()
  7.     {
  8.     Run();
  9.     }
  10.     [PermissionSet(SecurityAction.Demand, Name="FullTrust" )]
  11.     public static void Run()
  12.     {
  13.         // Create a new FileSystemWatcher and set its properties.
  14.         FileSystemWatcher watcher = new FileSystemWatcher();
  15.         watcher.Path = @"C:\Storage Card MMC\Historique";
  16.        
  17.         /* Watch for changes in LastWrite times */
  18.         watcher.NotifyFilter = NotifyFilters.LastWrite;
  19.        
  20.         // Only watch the text files.
  21.         watcher.Filter = "Historique0.txt";
  22.         // Add event handlers.
  23.         watcher.Changed += new FileSystemEventHandler(OnChanged);
  24.        
  25.         // Begin watching.
  26.         watcher.EnableRaisingEvents = true;
  27.         // Wait for the user to quit the program.
  28.         Console.WriteLine("Pressez \'q\' pour arrêter l'envoi de notifications de pannes" );
  29.         while(Console.Read()!='q');
  30.     }
  31.     // Define the event handlers.
  32.     private static void OnChanged(object source, FileSystemEventArgs e)
  33.     {
  34.     // Specify what is done when a file is changed
  35.        
  36.     public static string ReadLastLine(string path);
  37.      {
  38.         // Récupération de la derniere ligne du fichier
  39.       string dernligne = File.ReadAllLines(@"C:\Storage Card MMC\Historique\Historique0.txt" ).last();
  40.       // Séparation en colonnes
  41.       string[] colonnes = dernligne.Split('\t');
  42.       // Récupération de la 14ème et 15ème colonne (commence à 0)
  43.       string datepanne = colonnes[13];
  44.       string panne = colonnes[14];
  45.      }
  46.     }
  47. }

n°2323514
Je@nb
Kindly give dime
Posté le 05-11-2018 à 00:02:43  profilanswer
 

Sur ifft tu crées une recette avec le trigger receive web request https://ifttt.com/maker_webhooks
Puis dans ton code c# tu fais une requêtes http de type post (avec httpclient par exemple ou en legacy HttpWebRequest).
Si tu veux envoyer le contenu de ta ligne tu peux faire un json qui contient value1 comme nom et ton texte en value.
Genre { "value1": "montexte" } (si ton texte contient des caractères réservés faut les escap)

 

Edit : vaut mieux utiliser ReadLines que ReadAllLines si possible


Message édité par Je@nb le 05-11-2018 à 00:03:11

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Notification sur smartphone quand un fichier sur PC est modifié

 

Sujets relatifs
Lecteur audio et fichier acentué[DEBUTANT] Condition pour ouvrir un fichier ne fonctionne pas
Tester si la chaine de caractère mène a un dossier ou un fichierVBA : Autoriser modifications à l'ouverture d'un fichier
paramétre dans un fichier de confMacro copier-coller d'un fichier vers un autre
Développer efficacement sur 2 PCDéplacer plusieurs fichier en ajoutant la date
Lecture d'un fichier sur pyzoutiliser les valeurs d'un fichier texte [ résolu ].
Plus de sujets relatifs à : Notification sur smartphone quand un fichier sur PC est modifié


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR