myckmack a dit:
Il devrait y avoir moyen de créer un script qui analyse par exemple le code source d'une page HTML et qui puisse décider (en comptant le nombre de mots par exemple) s'il a été modifié depuis la fois d'avant.
...
Finalement après pas mal d'efforts, j'ai commis trois scripts pour tester la MàJ de certains signets. Ce n'est pas extraordinaire et pas très véloce mais c'est en attendant que Safari le fasse...
1-ier script : Il faut d'abord créer un dossier MaJ_signets dans le dossier Préférences , placer dans la liste {...} qui suit la commande write du script suivant des listes {0,"URL"} où URL est une adresse internet (j'ai laissé les miens en exemple) puis lancer le script : il crée un fichier Taille_URL dans ce dossier MaJ_signets.
<font class="small">Code:</font><hr /><pre>
set fichier_taille_URL to (path to preferences folder as string) & "MaJ_signets:Taille_URL"
try
set acces_fichier_taille_URL to open for access file fichier_taille_URL with write permission
set eof of acces_fichier_taille_URL to 0
write {{0, "http://www.uoregon.edu/~koch/texshop/"}, {0, "http://www.schubert-it.com/download/"},
{0, "http://homepage.mac.com/asagoo/prefling/index.html"}, {0, "http://www.titanium.free.fr/us/onyx/index.html"},
{0, "http://www.nonamescriptware.com/forums/index.php?&act=Downloads&CODE=01&cat=1"},
{0, "http://www.lordofthecows.com/safari_enhancer.php"},
{0, "http://perso.wanadoo.fr/prime/Pages/Viou/SoftViou2.html"}, {0, "http://www.bresink.com/osx/TinkerTool.html"},
{0, "http://www.vnunet.fr/mac/actu/svmmac.htm"}} to acces_fichier_taille_URL starting at eof
close access acces_fichier_taille_URL
beep
on error
beep 2
try
close access file fichier_taille_URL
end try
end try
</pre><hr />
2-ième script : C'est le script qui scrute les MàJ (un site est considéré comme mis à jour si la taille de son code source a été modifiée depuis la fois d'avant : au premier lancement, tous les sites du script 1 sont considérés comme ayant été mis à jour). Il est conseillé d'enregistrer ce script comme application. Lorsqu'un script est considéré comme mis à jour, le navigateur par défaut se lance (s'il n'est pas déjà ouvert) et ouvre la page correspondante (avec Safari, il est conseillé d'activer les onglets et de demander, dans la préférence Générales, d'ouvrir les liens depuis les applications dans la fenêtre active : les sites MàJ s'ouvrirons dans des onglets).
<font class="small">Code:</font><hr /><pre>
set fichier_source to (path to preferences folder as string) & "MaJ_signets:Source.txt"
set fichier_taille_URL to (path to preferences folder as string) & "MaJ_signets:Taille_URL"
my acces_fichier(false)
repeat with valeur_URL in liste_valeur_URL
set {valeur, URL_cible} to valeur_URL
try
tell application "URL Access Scripting"
download URL_cible to file fichier_source replacing yes
end tell
set info to info for (fichier_source as alias)
set taille to (size of info) as integer
if valeur ? taille then
ignoring application responses
open location URL_cible
end ignoring
end if
set the end of nlle_liste_valeur_URL to {taille, URL_cible}
on error
display dialog URL_cible & return & "est inaccessible." buttons {"OK"} default button 1
set the end of nlle_liste_valeur_URL to valeur_URL
end try
end repeat
my acces_fichier(true)
on acces_fichier(drapeau)
global fichier_taille_URL, liste_valeur_URL, nlle_liste_valeur_URL
try
if drapeau then
set acces_fichier_taille_URL to open for access file fichier_taille_URL with write permission
set eof of acces_fichier_taille_URL to 0
write nlle_liste_valeur_URL to acces_fichier_taille_URL starting at eof
else
set acces_fichier_taille_URL to open for access file fichier_taille_URL
set liste_valeur_URL to read acces_fichier_taille_URL as list
set nlle_liste_valeur_URL to {}
end if
close access acces_fichier_taille_URL
on error
try
close access file fichier_taille_URL
end try
if drapeau then
error "Impossible d'écrire dans le fichier" & fichier_taille_URL
else
error "Impossible de lire le fichier" & fichier_taille_URL
end if
end try
end acces_fichier
do shell script "rm ~/Library/Preferences/MaJ_signets/Source.txt"
beep 3
</pre><hr />
3-ième script : Pour porter une modification aux sites scrutés, lancer ce script, dans sa fenêtre résultat, copier (Pomme-C) la liste de listes qui apparaît, la recopier dans le premier script à la place de l'ancienne liste de listes, y apporter les modifications souhaitées (permuter des listes {nombre,"URL"}, supprimer des listes {nombre,"URL"}, ajouter des listes {0,"URL"})) puis lancer le premier script.
<font class="small">Code:</font><hr /><pre>
set fichier_taille_URL to (path to preferences folder as string) & "MaJ_signets:Taille_URL"
try
set acces_fichier_taille_URL to open for access file fichier_taille_URL with write permission
set valeur to read acces_fichier_taille_URL as list
close access acces_fichier_taille_URL
beep
on error
beep 2
try
close access file fichier_taille_URL
end try
end try
valeur
</pre><hr />
Amusez-vous bien