Centre de Notification & Note

Nicholasb24

Membre actif
24 Avril 2007
103
0
47
Toulouse
www.morningplayers.com
Bonjour,

Ma question est la suivante : comment faire pour avoir l'application Note dan le centre de Notification ?
Pourquoi ?

Tout simplement parce que je partage un compte avec un associé pour un projet et que nous avons nos notes, pour ce compte, en commun. Et donc, il est intéressent de savoir lorsqu'une nouvelle note arrive ou est modifié.

D'avance merci de votre aide.

Nicholas

PS : sur Mountain Lion (évidement)
 
Bonjour,

tel quel, je pense que c'est impossible. Mais Growl (à télécharger sur l'App Store pour une somme modique) devrait permettre la manip. Cette application permet de faire une veille sur une autre application, et d'être notifié quand il s'y passe quelque chose. Je ne l'ai pas testée moi-même, donc il reste à confirmer que ça fonctionne avec Notes. Peut-être relancer la discussion avec un autre intitulé (Growl + Notes), par exemple.
 
Autre solution, utiliser Evernote.
 
Et bien cela ne fonctionne pas avec Growl
 
Personne n'a une idée ?
Un scripte ?

autre ?
 
andr3 t'a suggéré Evernote dans son message #3 : il sait habituellement ce dont il parle, et tu as peut-être oublié de le lire. :mouais:


Par défaut, Notes accepte la synchronisation, mais pas les Notifications.

Alors, peut-être en passant par Automator ??
= une nouvelle action vient d'être publiée pour créer des notifications après tout choix de notre part
= http://www.automatedworkflows.com/2...fication-center-alert-automator-action-1-0-0/
et ça pourrait peut-être se raccorder à la détection d'un changement dans le dossier ~/Bibliothèque/Containers/com.apple.Notes/Data/Library/CoreData/ExternalRecords/ où sont stockées les Notes.
Si tu pratiques Automator, tu peux essayer. ;)
 
Merci pour tes info sur Automator, je vais tester cela.

Et pour Evernote, je sais que cela est possible. D'où ma question pour Notes



andr3 t'a suggéré Evernote dans son message #3 : il sait habituellement ce dont il parle, et tu as peut-être oublié de le lire. :mouais:


Par défaut, Notes accepte la synchronisation, mais pas les Notifications.

Alors, peut-être en passant par Automator ??
= une nouvelle action vient d'être publiée pour créer des notifications après tout choix de notre part
= http://www.automatedworkflows.com/2...fication-center-alert-automator-action-1-0-0/
et ça pourrait peut-être se raccorder à la détection d'un changement dans le dossier ~/Bibliothèque/Containers/com.apple.Notes/Data/Library/CoreData/ExternalRecords/ où sont stockées les Notes.
Si tu pratiques Automator, tu peux essayer. ;)
 
Bonsoir, ce que tu demandes est faisable avec le logiciel AppleScript (dans /Applications/Utilitaires/Éditeur AppleScript).

Si tu n'as jamais utilisé AppleScript, suis simplement les instructions :

Ouvres le logiciel « Éditeur AppleScript » et si aucune page blanche n'apparait, fais Fichier > Nouveau.

Copie et colle dans la page blanche ce qui suit :
Bloc de code:
-- Les variables anc_nom et anc_date doivent être définies globalement afin qu'elles soient accessibles dans « on idle ... end idle »
global anc_nom, anc_date

tell application "Notes"
	-- Au démarrage, le nom et la date de modification de la note la plus récente est enregistrée
	set anc_nom to the name of the first note of folder "Notes" of account "iCloud"
	set anc_date to the modification date of the first note of folder "Notes" of account "iCloud"
end tell


-- On rentre dans la boucle de test
on idle
	tell application "Notes"
		-- On enregistre le nom et la date de modification de la note la plus récente actuelle
		set new_nom to the name of the first note of folder "Notes" of account "iCloud"
		set new_date to the modification date of the first note of folder "Notes" of account "iCloud"
	end tell
	
	-- On effectue les tests en vérifiant que l'on n'est pas dans Notes.app (si l'on vient d'écrire une nouvelle note, on est dans Notes.app, et l'on ne veut pas détecter ce cas, sinon, on est alerté à tout bout de champ pendant l'écriture de la note)
	-- La variable « n » contient donc le nom de l'application courante au premier plan
	set n to name of (info for (path to frontmost application))
	
	-- variante : une autre manière d'obtenir le nom de l'application au premier plan est la suivante :
	-- tell application "System Events"
	--	set n to name of the first process whose frontmost is true
	-- end tell
	-- dans ce cas, il faut faire la détection sur "Notes" et pas "Notes.app"
	
	if new_nom ≠ anc_nom then -- dans ce cas, une nouvelle note vient d'arriver
		set anc_nom to new_nom
		set anc_date to new_date
		if n ≠ "Notes.app" then -- Si on n'est pas dans Notes.app, alors :
			beep 3
			tell application "Notes"
				display dialog "Une nouvelle note vient d'arriver. Son titre est :" & return & new_nom buttons {"OK"} default button "OK"
			end tell
		end if
	end if
	
	if (new_nom = anc_nom) and (new_date ≠ anc_date) then -- dans ce cas, une note déjà présente vient d'être modifiée
		set anc_date to new_date
		if n ≠ "Notes.app" then -- Si on n'est pas dans Notes.app, alors :
			beep 3
			tell application "Notes"
				display dialog "La note :" & return & anc_nom & return & "vient d'être modifiée." buttons {"OK"} default button "OK"
			end tell
		end if
	end if
	
	return 1 -- idle est appelé toutes les secondes
end idle


J'ai supposé dans le code que les notes sont dans le dossier (folder) « Notes » du compte (account) « iCloud ». C'est à adapter au besoin (cela apparait à 4 endroits dans le code).

Fais Fichier > Enregistrer... (à ne surtout pas confondre avec le disque vert « Enregistrer » apparaissant en haut de la fenêtre)
Dans la fenêtre d'enregistrement, donnes un nom au script (par exemple « Surveille_Notes »), choisis un emplacement (par exemple le dossier Applications), pour Format de fichier, choisis « Application » (et pas « Script »), et coches la case « Rester ouvert après le gestionnaire d'exécution ».

Lance l'application. Elle apparaitra bien entendu dans le Dock. Cette application dispose d'un menu « Quitter » sous le nom de l'application, comme toute autre application.
Lorsqu'une modification (nouvelle note, ajout d'un complément à une note) est détectée, alors que tu vaques à tes occupations (surf avec Safari, lecture des mails), tu entendras 3 bips, et l'icône de Notes.app sautera dans le Dock. Tu sauras alors que ton associé a modifié ou ajouté une note.


Pour les personnes curieuses, je remet à la suite le code AppleScript, mais cette fois-ci avec la coloration syntaxique afin qu'il soit plus lisible :



-- Les variables anc_nom et anc_date doivent être définies globalement afin qu'elles soient accessibles dans « on idle ... end idle »
global anc_nom, anc_date

tell application "Notes"
-- Au démarrage, le nom et la date de modification de la note la plus récente est enregistrée
set anc_nom to the name of the first note of folder "Notes" of account "iCloud"
set anc_date to the modification date of the first note of folder "Notes" of account "iCloud"​
end tell


-- On rentre dans la boucle de test
on idle
tell application "Notes"
-- On enregistre le nom et la date de modification de la note la plus récente actuelle
set new_nom to the name of the first note of folder "Notes" of account "iCloud"
set new_date to the modification date of the first note of folder "Notes" of account "iCloud"​
end tell

-- On effectue les tests en vérifiant que l'on n'est pas dans Notes.app (si l'on vient d'écrire une nouvelle note, on est dans Notes.app, et l'on ne veut pas détecter ce cas, sinon, on est alerté à tout bout de champ pendant l'écriture de la note)
-- La variable « n » contient donc le nom de l'application courante au premier plan

set n to name of (info for (path to frontmost application))

-- variante : une autre manière d'obtenir le nom de l'application au premier plan est la suivante :
-- tell application "System Events"
-- set n to name of the first process whose frontmost is true
-- end tell
-- dans ce cas, il faut faire la détection sur "Notes" et pas "Notes.app"


if new_nom ≠ anc_nom then -- dans ce cas, une nouvelle note vient d'arriver
set anc_nom to new_nom
set anc_date to new_date
if n ≠ "Notes.app" then -- Si on n'est pas dans Notes.app, alors :
beep 3
tell application "Notes"
display dialog "Une nouvelle note vient d'arriver. Son titre est :" & return & new_nom buttons {"OK"} default button "OK"​
end tell
end if
end if

if (new_nom = anc_nom) and (new_date ≠ anc_date) then -- dans ce cas, une note déjà présente vient d'être modifiée
set anc_date to new_date
if n ≠ "Notes.app" then -- Si on n'est pas dans Notes.app, alors :
beep 3
tell application "Notes"
display dialog "La note :" & return & anc_nom & return & "vient d'être modifiée." buttons {"OK"} default button "OK"​
end tell
end if
end if

return 1 -- idle est appelé toutes les 1 secondes
end idle
 
Dernière édition:
  • J’aime
Réactions: FrançoisMacG
Hello,

Un tout grand Merci, on se rapproche du but.

Néanmoins, et tu as raison, je suis un parfait Néophyte en la matière.
Donc, après avoir scrupuleusement suivit tes conseils, voici le message d'erreur :

Il est impossible d'obtenir "cales accu" 'iCloud" of applicaiton "Notes"

J'ai fais un copié collé de ton texte, sans changer le moindre mot.

Merci encore une fois de tes conseils.

Nicholas
 
Hello,

Un tout grand Merci, on se rapproche du but.

Néanmoins, et tu as raison, je suis un parfait Néophyte en la matière.
Donc, après avoir scrupuleusement suivit tes conseils, voici le message d'erreur :

Il est impossible d'obtenir "cales accu" 'iCloud" of applicaiton "Notes"

J'ai fais un copié collé de ton texte, sans changer le moindre mot.

Merci encore une fois de tes conseils.

Nicholas

Bonsoir, normalement, lorsque tu copies le texte du code dans l'Éditeur AppleScript, il apparait ainsi (je met un extrait) :
set anc_nom to the name of the first note of folder "Notes" of account "iCloud"

Lorsque tu obtiens ce message d'erreur (je suppose que tu l'obtiens lors de l'étape d'enregistrement), une partie du texte (apparaissant en violet comme au dessus) est-elle surligné (avec la couleur de sélection, qui par défaut est bleu clair) ?

Si oui, peux-tu copier-coller la ligne concernée ici ?

On dirait que la partie :
Bloc de code:
of account "iCloud"
du code s'est transformée en :
Bloc de code:
of cales accu "iCloud"

Serait-ce le correcteur orthographique qui aurait effectué la modification à ton insu ?

NB : dans ton message, tu dis que le message d'erreur est :
Il est impossible d'obtenir "cales accu" 'iCloud" of applicaiton "Notes"
Si tu avais fait un copier-coller du message d'erreur, tu aurais dû obtenir : application.
Je suppose que tu as copié manuellement le message d'erreur, au lieu de faire un copier-coller.
C'est bien cales accu dans le message d'erreur ?
 
Hello

Je regarde à cela ce soir.

d'avance merci

Nicholas
 
Hello,


Désolénpour le délais de reponse. Je ne retourne que maintenant regarder cela.


J'ai verifié ligne par ligne et le texte est correcte avec le tient.


Voici le message d'erreur, sans dictionnaire, lol


Il est impossible d'obtenir «class acct» "iCloud" of application "Notes"




D'avance, encore merci de ton aide.






Bonsoir, normalement, lorsque tu copies le texte du code dans l'Éditeur AppleScript, il apparait ainsi (je met un extrait) :
set anc_nom to the name of the first note of folder "Notes" of account "iCloud"

Lorsque tu obtiens ce message d'erreur (je suppose que tu l'obtiens lors de l'étape d'enregistrement), une partie du texte (apparaissant en violet comme au dessus) est-elle surligné (avec la couleur de sélection, qui par défaut est bleu clair) ?

Si oui, peux-tu copier-coller la ligne concernée ici ?

On dirait que la partie :
Bloc de code:
of account "iCloud"
du code s'est transformée en :
Bloc de code:
of cales accu "iCloud"
Serait-ce le correcteur orthographique qui aurait effectué la modification à ton insu ?

NB : dans ton message, tu dis que le message d'erreur est :
Il est impossible d'obtenir "cales accu" 'iCloud" of applicaiton "Notes"
Si tu avais fait un copier-coller du message d'erreur, tu aurais dû obtenir : application.
Je suppose que tu as copié manuellement le message d'erreur, au lieu de faire un copier-coller.
C'est bien cales accu dans le message d'erreur ?