Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/03/2014, à 20:37

Yoannjap

[Résolu] Gedit,comment diable enregistrer automatiqmt un fichier créé?

Re-bonjour à tous (deuxième post aujourdh'ui :])

Deux éditeurs de texte simples que j'utilise sont imparfaits : il leur manque... la sauvegarde automatique des fichiers non encore enregisrtés une première fois.

Je m'explique : j'ai besoin vite-fait de copier coller un truc, ou de taper quelques mots à ne pas oublier par ma mémoire immédiate cérébrable peu efficace. Gedit ou Kkedit le font bien.
Sauf que : il arrive un souci de je-ne-sais-quoi : mon ordi freeze, ou redémarre, hop ! je n'ai pas la temps d'enregistrer mes fichiers textes.

Alors je sais bien qu'il font la sauvegarde automatique, mais QUE d'un fichie déjà sauvegardé une première fois sous un nom et à un emplacement.
Or dans la vie de tous les jours ou presque, gedit ou Kkedit ne me servent qu'à très court terme, c'est comme un logiciel de brouillon, qui sert à pallier l'incapacité de ma mémoire immédiate. Donc jamais je n'ai réellement besoin de conserver (et donc de suavegarder) un .txt. Sachant que j'oublierai de le faire 99% du temps (comme aujourd'hui).

Donc ma question est : connaissez-vous un moyen (script, add-on, autre logiciel de prise de texte) de sauvegarder automatiquement (et à un emplacement défini) un fichier texte non encore sauvgardé ?? (nommé du genre : date et heure de création.txt)

Thanks a bunch !

Dernière modification par Yoannjap (Le 28/03/2014, à 17:32)

Hors ligne

#2 Le 20/03/2014, à 21:05

Shanx

Re : [Résolu] Gedit,comment diable enregistrer automatiqmt un fichier créé?

Salut,
Je ne sais pas si Gedit propose une option du genre, donc je propose une solution pas tellement élégante, mais qui fonctionne. L’idée est de lancer ce script au lieu de Gedit, en utilisant un alias.

#! /bin/bash

heure=$(date +%H)"h"$(date +%M)
jour=$(date +%Y)"-"$(date +%m)"-"$(date +%d)

gedit $jour"-"$heure".txt"

Ensuite, il faut définir un alias sur gedit pour lancer le script quand tu lances le programme. Pour créer un alias, voir ici.

alias gedit='sh -c /home/user/script.sh'

Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied

Hors ligne

#3 Le 20/03/2014, à 21:31

Yoannjap

Re : [Résolu] Gedit,comment diable enregistrer automatiqmt un fichier créé?

Salut Shanks,

Merci beaucoup pour cette idée ! smile
Élégante ou pas, si elle fonctionne, c'est le principal. D'ailleurs, en le lisant et en essayant de traduire ce script, je ne vois pas où est la commande qui dise à Gedit de sauvegarder automatiquement un fichier qui vient d'être créé et qui n'a pas encore été enregistré une première fois.
    - Tu peux me dire où c'est ? Je ne suis pas très bon en langage de script, mais c'est l'occasion ou jamais pour moi d'apprendre tongue.
    - Sinon y a-t-il une commande à ajouter pour spécifier dans le script à Gedit d'enregistrer automatiquement les nouveaux-fichiers-non-encore-enregistrés dans un emplacement spécifique (/home/Documents/Brouillons dans mon cas) ?
    - Et est-ce que je dois lui spécifier un temps après l'ouverture du programme après lequel il doit automatiquement enregistrer ce nouveau-fichier-non-encore-enregistré ? (dans mon cas : 3 minutes)

Merci encore pour ta précieuse aide !

Hors ligne

#4 Le 20/03/2014, à 23:47

Yoannjap

Re : [Résolu] Gedit,comment diable enregistrer automatiqmt un fichier créé?

Je m'auto réponds (mais ça ne comble qu'à moitié le trou de questions que je me pose) :

J'ai donc enregisrté un script nommé "Enregistrement_auto_des_nouveaux_fichiers_txt_de_Gedit.sh" dans un sous-dossier de mon dossier USer.
J'ai comme tu me l'as indiqué inclus dans mon bash_aliases le raccourci.
Mais ta solution ne fonctionne que lorsque je lance gedit depuis le terminal. Quand je le lance graphique depuis le menu de Gnome shell, impossible, le script n'est pas appelé !

J'ai alors tenté d'aller dans "Menu Principal", puis j'ai sélectionné Gedit, puis "Propriété" et il y avait pourtant bien écrit "gedit" dans le champ commande. Du coup j'ai cliqué sur Browse, à côté de l'entrée du champ commande, et en tentant ma chance, j'ai double-cliqué sur le nouveau script précédemment créé. Et le champ commande est désormais rempli par le chemin vers mon script : /home/yoannj-ubuntu/Scripts_Yoannjap/Enregistrement_auto_des_nouveaux_fichiers_txt_de_Gedit.sh. Et là... comme par magie, quand je lance gedit (depuis le terminal ou depuis le menu graphique classique... ça marche smile) !

Bon mais il me reste deux soucis, si jamais tu as un peu de temps pour les éluder (un grand merci quoi qu'il en soi, tu m'as enlevé une grosse épine du pied) :

1.  Comment indiquer dans le script le chemin d'un dossier par défaut où enregistrer automatiquement les fichiers nouvellement créés que je n'enregistre pas manuellement moi-même ? Car là, il les stocke par défaut dans mon dossier User... hmm
2. Gedit n'a l'air de sauvegarder un fichier nouvellement créé qu'après 5 min, du fait du réglage à... 5 min de la sauvegarde automatique (des fichiers précédemment sauvegardés wink) que j'avais réglé précédemment dans les préférences... Or je préférerai laisser ces 5 min pour les sauvegardes régulières, mais j'aimerai que Gedit m'enregistre ceux nouvellement créés directement ! Genre... 1 seconde après leur création.
(3. Question bonus big_smile : Si jamais c'est possible de répondre à la trosième question, y a-t-il un possible script qui efface les fichiers nommés au format année-mois-jour-heure-minute.txt automatiquement au bout de, par exemple 10 jours de non modification ? -)-> Ce serait là un comble du parfait !

Hors ligne

#5 Le 21/03/2014, à 09:53

Shanx

Re : [Résolu] Gedit,comment diable enregistrer automatiqmt un fichier créé?

Yoannjap a écrit :

1.  Comment indiquer dans le script le chemin d'un dossier par défaut où enregistrer automatiquement les fichiers nouvellement créés que je n'enregistre pas manuellement moi-même ? Car là, il les stocke par défaut dans mon dossier User... hmm

Pour ça, deux solutions :
  - placer le script dans le répertoire où tu veux que les fichiers soient enregistrés. Dans ce cas, ne pas oublier de changer les chemins vers le script dans les différents alias/lanceurs.
  - modifier le script pour mettre le chemin vers le répertoire. Dans ce cas, il suffit de remplacer la dernière ligne pas :

gedit "~/chemin/vers/répertoire"$jour"-"$heure".txt"

(~ représente /home/user).

2. Gedit n'a l'air de sauvegarder un fichier nouvellement créé qu'après 5 min, du fait du réglage à... 5 min de la sauvegarde automatique (des fichiers précédemment sauvegardés wink) que j'avais réglé précédemment dans les préférences... Or je préférerai laisser ces 5 min pour les sauvegardes régulières, mais j'aimerai que Gedit m'enregistre ceux nouvellement créés directement ! Genre... 1 seconde après leur création.

Là par contre je ne sais pas. hmm Je viens de vérifier le man de Gedit, comme je m’y attendais il n’y a pas beaucoup d’options…

(3. Question bonus big_smile : Si jamais c'est possible de répondre à la trosième question, y a-t-il un possible script qui efface les fichiers nommés au format année-mois-jour-heure-minute.txt automatiquement au bout de, par exemple 10 jours de non modification ? -)-> Ce serait là un comble du parfait !

Ça, c’est possible. On peut probablement le faire en bash, mais là je n’ai pas le niveau. Par contre, en Python je peux le faire. Ensuite, une fois le script Python écrit, il faudra le faire exécuter une fois pas jour par cron. Par contre je n’ai pas le temps de le faire maintenant, j’essaierai de le faire ce soir. wink

EDIT : finalement, j’ai eu un peu de temps pour me pencher sur le point n°3. Voici un script python qui liste tous les fichiers du répertoire courant ayant un nom du style 2014-03-21-09h32.txt, qui vérifie leur date de dernière modification et qui les supprime si elle est supérieure à 10 jours.

#/usr/bin/python2 
#coding: utf-8

import re, os, time
from datetime import datetime

r = re.compile('^[0-9]{4}-[0-9]{2}-[0-9]{2}-[0-9]{2}h[0-9]{2}.txt')
now  = datetime.utcnow()

filenames = next(os.walk('.'))[2]
for filename in filenames:
    if r.match(filename) is not None:
        modified = (os.path.getmtime(filename))
        modified = datetime.fromtimestamp(modified).strftime("%Y-%m-%d %H:%M:%S")
        modified = datetime.strptime(modified,"%Y-%m-%d %H:%M:%S")
        delta = now - modified
        if delta.days > 9:
            os.remove(filename)

Il faut que tu enregistres ce script dans le répertoire où sont les fichiers de Gedit, et avec l’extension .py ; ensuite, il faut l’ajouter au cron. Pour éditer le crontab :

crontab -e

Ensuite, il faut ajouter la ligne suivante :

@daily python2 ~/chemin/vers/répertoire/script.py

Dernière modification par Shanx (Le 21/03/2014, à 10:39)


Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied

Hors ligne

#6 Le 21/03/2014, à 10:34

Compte supprimé

Re : [Résolu] Gedit,comment diable enregistrer automatiqmt un fichier créé?

Bonjour,
et un gestionnaire de presse-papier comme parcellite ou autre ne ferait pas l'affaire ?

#7 Le 21/03/2014, à 10:40

Shanx

Re : [Résolu] Gedit,comment diable enregistrer automatiqmt un fichier créé?

Je viens d’éditer mon message précédent. Même si ma solution me semble fonctionnelle (par contre je ne l’ai pas testée, donc il se peut qu’il y ait quelques bug big_smile ), je pense toujours que c’est une rustine pas forcément élégante. Je rejoins donc l’avis de Tamarou : peut-être existe-t-il des logiciels plus adaptés ? (je pense notamment à Tomboy).


Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied

Hors ligne

#8 Le 28/03/2014, à 16:14

Yoannjap

Re : [Résolu] Gedit,comment diable enregistrer automatiqmt un fichier créé?

Sanks, merci beaucoup, et excuse-moi de prendre autant de temps à répondre à ton aide.
Je viens donc d'« uploader » le script. Je te dis si je vois des bugs, mais je pense que c'est mieux que l'autre qui avait ces bugs-ci.
Avec la première version, quand j'ouvrai (en double-cliquant dessus) un fichier texte, il ne s'ouvrait pas mais lançait soit gedit s'il n'était pas encore ouvert avec un onglet vide qui allait se sauvegarder tout seul ;  soit s'il était déjà chargé un nouvel onglet misma coisa.

Mais le tout fonctionne quoi qu'il en soit smile
Pour Tomboy, je l'ai utilisé plus d'un an et demi, et je sais qu'il est fonctionnel, mais plus lourd. Et mon reflexe, quand je n'ai pas une seule seconde pour y réfléchir et que je dois vite-vite noter un truc quelque part, mon mode cerveau automatique me demand de lancer gedit. Programme léger, éprouvé.

Mais j'utilise quand j'ai le temps de me poser trois secondes (= touche super+"Firef+Entrée+aller à l'onglet épinglé de Google note OU BIEN si firefox est déjà ouvert : Alt+Tab -> aller à l'onglet google Keep).

Sinon, j'utilise aussi comme page des nouveaux onglets ouvert writer.bighugelabs.com. C'est une solution pas mal aussi.

Enfin, j'ai cherché, mais pas trouvé... Existe-t-il à votre avis un équivalent à Google Keep/Evernote/eutécé... open source ?? Car je n'en ai trouvé aucun auquel on puisse accéder sur internet, sans avoir besoin de logiciel ou d'app à côté...

Merci encore smile !

Hors ligne

#9 Le 28/03/2014, à 17:31

Yoannjap

Re : [Résolu] Gedit,comment diable enregistrer automatiqmt un fichier créé?

J'ai finalement (et par hasard) trouvé une solution : l'installation manuelle du plugin "focus-autosave", dont je n'avais absolument pas entendu parler... Et qui dont la très simple configuration est expliquée ici : http://davidbosman.fr/blog/2012/05/17/s … ans-gedit/ !

Hors ligne