Page 1 sur 1

[R] Créer de nouveaux favoris dans IE et Firefox

Posté : jeu. 22 août 2013 14:47
par jcaspar
B :D onjour à tous !

Il y a quelques temps j'avais poser sur le bureau de mes utilisateurs de manière automatique en autoit des raccourcis pour leur simplifier la vie ....mais j'ai eu droit à une levée de bouclier ... donc je voudrais tenter une autre solution à savoir ajouter des favoris dans Internet Explorer et Firefox ( les navigateurs étant utilisés ) mais j'ignore si cela est possible en autoit ?

Je vous remercie d'avance pour vos avis sur la question....et éventuellement les idées nouvelles que vous pourrez me suggérées ! :mrgreen:


Jean-Marc

Re: [..] Créer de nouveaux favoris dans IE et Firefox

Posté : dim. 25 août 2013 11:39
par jguinch
Salut
Pour IE, c'est normalement assez simple puisqu'il suffit de créer un fichier .url (équivalent d'un .ini) :
► Afficher le textePour Internet Explorer
Par contre pour Firefox, ça va être plus compliqué, car ça dépend de la version :
- Dans les versions < 3, les marque-pages étaient gérés dans un fichier nommé bookmarks.html.
- A partir de la version 3 (je pense que ce sera ton cas), Firefox utilise une base de données Sqlite pour stocker les infos, y compris les marque-pages. Le fichier Sqlite se nomme places.sqlite.
Bonne nouvelle donc, AutoIt sait écrire dans un fichier Sqlite !
Mauvaise nouvelle : il est possible d'avoir plusieurs profils dans Firefox, donc il va falloir mettre le marque-page dans tous les profils.
Je ne te fourni par de code, mais une marche à suivre qui pourra t'aider :
1) Trouver l'emplacement du ou des profils Firefox :
- lire le fichier @AppDataDir & "\Mozilla\Firefox\profiles.ini" qui contient la liste de profils
- le chemin est dans la valeur Path
- regarder pour chaque profil la valeur IsRelative : si c'est 1,il s'agît d'un chemin relatif par rapport à l'emplacement de profiles.ini Si c'est 0, il s'agît du chemin complet.
2) Pour chaque profil, vérifier la présence du fichier places.sqlite (c'est lui qui contient les marque-pages - entre autres).
3) Pour chaque profil, se connecter à la base de données places.sqlite et ajouter l'entrée
- Commencer par ajouter une entrée dans la table moz_places, (les champs url et title suffisent à priori) puis relever l'id généré)
- Ajouter ensuite une entrée dans la table moz_bookmarks : (id, type = 1, fk = ID généré dans moz_places, parent = 2, position = 1000, title)
Pour le champ position, ça pourra être compliqué, mais plus la valeur est élevée, plus la position dans la liste des marque-pages sera basse (fin de la liste).

Voilà, je pense que tout y est.
Si j'ai un peu plus de temps et de motivation, j'essaierai de t'aider pour la partie Firefox, mais je ne suis pas trop axé base de données (certains le sont ici, surtout en ce qui concerne sqlite !)


Edit : voilà pour Firefox. Ca fonctionne chez moi en version 23, à tester sur d'autres versions.
_FF_ProfilesList() liste les profils Firefox dans un tableau.
_FF_AddBookmark() ajouter un marque-page (url + titre) dans le profil spécifié, ou le profil par défaut.
► Afficher le texte
J'espère que ça fonctionnera...

Re: [..] Créer de nouveaux favoris dans IE et Firefox

Posté : sam. 31 août 2013 17:01
par jcaspar
Bonjour à vous !

Impressionné je suis ! :shock: ...Merci beaucoup ! :mrgreen:
Je vais tester et je vous tiendrais au courant !

Jean-Marc

Re: [..] Créer de nouveaux favoris dans IE et Firefox

Posté : lun. 02 sept. 2013 10:19
par jcaspar
:roll: Les fichiers url ne permettent que de créer un seul et unique lien ?
Cela fonctionne très bien avec Internet Explorer il me reste encore à tester avec Firefox
Voici le code pour plusieurs liens

Code : Tout sélectionner



Local $sMyFavoriteName = "Autoit FR"
Local $sMyFavoriteURL = "http://autoitscript.fr"
Local $sFavoritesLocation = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "Favorites")


Local $sMyFavoriteName1 = "Alter-ego.org"
Local $sMyFavoriteURL1 = "http://www.alter-ego.org"

IniWrite($sFavoritesLocation & "\" &  $sMyFavoriteName & ".url", "DEFAULT", "BASEURL", $sMyFavoriteURL)
IniWrite($sFavoritesLocation & "\" &  $sMyFavoriteName & ".url", "InternetShortcut", "URL", $sMyFavoriteURL)

IniWrite($sFavoritesLocation & "\" &  $sMyFavoriteName1 & ".url", "DEFAULT", "BASEURL", $sMyFavoriteURL)
IniWrite($sFavoritesLocation & "\" &  $sMyFavoriteName1 & ".url", "InternetShortcut", "URL", $sMyFavoriteURL1)
 

Re: [..] Créer de nouveaux favoris dans IE et Firefox

Posté : lun. 02 sept. 2013 10:47
par jcaspar
Je viens de faire des essais avec Firefox ... voici ce que j'ai trouvé dans profiles.ini
pouvez vous svp m'éclairer sur la manière de noter le chemin du profil ? :roll:
J'ai testé plusieurs solutions mais je n'ai pas trouvé la bonne .....

Code : Tout sélectionner

[General]
StartWithLastProfile=1

[Profile0]
Name=default
IsRelative=1
Path=Profiles/oy74vspy.default
 

Re: [..] Créer de nouveaux favoris dans IE et Firefox

Posté : lun. 02 sept. 2013 14:04
par jguinch
Ah oui, je crois que j'ai compris.
En fait, j'ai oublié un détail dans la fonction _FF_ProfilesList().
J'ai corrigé dans mon premier post. Tu peux essayer de nouveau ?

Re: [..] Créer de nouveaux favoris dans IE et Firefox

Posté : lun. 02 sept. 2013 14:28
par jcaspar
Merci beaucoup pour ton aide. A priori cela ne fonctionne pas ... cela doit être du au fait que j'utilise Windows 7 64 bits ( les dossiers sont placés differemment) :roll: ?

Re: [..] Créer de nouveaux favoris dans IE et Firefox

Posté : lun. 02 sept. 2013 15:10
par jguinch
Est-ce que tu peux essayer ces 2 choses là et me dire ce qui s'affiche ?

Code : Tout sélectionner

_FF_AddBookmark("http://www.perdu.com", "Je suis PERDU")
MsgBox(0, "", "@error = " & @error & @CRLF & "@extented = " & @extended)
 

Code : Tout sélectionner

#include <Array.au3> ; ajouter au début de mon code
Local $aP = _FF_ProfilesList()
_ArrayDisplay($aP)

Re: [..] Créer de nouveaux favoris dans IE et Firefox

Posté : lun. 02 sept. 2013 15:24
par jcaspar
M :D erci de votre réponse !

Voici ce que j'obtiens

@error=0
@extended=0

d:\utilisateur\xxxx\appData\Roaming\MozillaFirefox\Profiles\uw5ymr7g.default

Re: [..] Créer de nouveaux favoris dans IE et Firefox

Posté : lun. 02 sept. 2013 16:01
par jguinch
Si @extended = 0, c'est que la fonction s'est exécutée jusqu'au bout et à certainement du retourner 1.
Est-ce que tu peux me confirmer ?

Code : Tout sélectionner

MsgBox(0, "", _FF_AddBookmark("http://www.perdu.com", "Je suis PERDU") )

Re: [..] Créer de nouveaux favoris dans IE et Firefox

Posté : lun. 02 sept. 2013 16:09
par jcaspar
E :roll: ffectivement la sortie est 1 !

Re: [..] Créer de nouveaux favoris dans IE et Firefox

Posté : lun. 02 sept. 2013 16:20
par jguinch
Le marque-page n'apparaît pas dynamiquement.
Si tu fermes Firefox et que tu l'ouvres de nouveau ?
Sinon, dans les marque-pages, il doit se trouver tout en haut

Re: [..] Créer de nouveaux favoris dans IE et Firefox

Posté : lun. 02 sept. 2013 16:27
par jcaspar
Ca marche ! Trop fort ! Top nickel !
Merci beaucoup :mrgreen:

Re: [..] Créer de nouveaux favoris dans IE et Firefox

Posté : lun. 02 sept. 2013 16:28
par jguinch
Si c'est Ok, n'oublie pas le [R] dans le sujet du premier post.