logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:reseau:surf [15/03/2015 11:41]
sogalpunx [Installation]
doc:reseau:surf [28/09/2015 19:12] (Version actuelle)
milou [Surf]
Ligne 1: Ligne 1:
-====== Surf, navigateur web simple par suckless.org ​======+====== Surf ======
  
-  * Objet : découvrirconfigurer et installer surf +  * Objet : Surfnavigateur web simple par suckless.org. 
-  * Niveau requis : FIXME {{tag>​avisé}} +  * Niveau requis : {{tag>​avisé}} 
-  * Commentaires : // pour les amateurs du web en mode simple ​// +  * Commentaires : // Découvrir, configurer et installer surf.// 
-  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) +  * Suivi : {{tag>​à-tester}} 
-  * Suivi : {{tag>en-chantier ​à-tester ​à-placer}} +    * Création par [[user>sogal]] 12/​03/​2015 
-    * Création par [[user>sogalpunx]] 12/​03/​2015 +    * Testé par <...> le <​...>​ 
-    * Testé par <...> le <​...> ​FIXME +  * Commentaires sur le forum : [[https://debian-facile.org/​viewtopic.php?​id=11412 ​| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
-  * Commentaires sur le forum : [[:url-invalide ​| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME+
  
 ===== Introduction ===== ===== Introduction =====
-Description officielle:+ 
 +Description officielle :
 <​note>​Surf est un navigateur web simple basé sur webkit/​gtk+. Il est capable d'​afficher des sites web et de suivre des liens.</​note> ​ <​note>​Surf est un navigateur web simple basé sur webkit/​gtk+. Il est capable d'​afficher des sites web et de suivre des liens.</​note> ​
-En gros, c'est la base de ce que l'on peut attendre d'un navigateur web. Et il le fait bien, avec simplicité,​ élégance et rapidité.\\ + 
-Comme ils le précisent ​[1], les dévelopeurs ​veulent faire de surf une simple interface avec le web.\\ +En gros, c'est la base de ce que l'on peut attendre d'un navigateur web. Et il le fait bien, avec simplicité,​ élégance et rapidité. 
-Ici, pas de chichis, pas de blablas, pas d'​onglet (il peut être exécuté au sein d'une application comme tabbed pour cela), pas d'​historique,​ de favoris. Comme l'​ensemble des outils suckless, il est extrêmement hackable et tout ceci peut donc être ajouté en patchant le code.\\ + 
-La meilleure façon de l'​installer est donc de récupérer son code source, d'​appliquer les patchs désirés ​le cas échéant, de le configurer aux petits oignons puis de le compiler.\\ +Comme ils le précisent((http://​suckless.org/​20h_on_st.pdf)), les développeurs ​veulent faire de surf une simple interface avec le web. \\ 
-[1] http://suckless.org/20h_on_st.pdf+Ici, pas de chichi, pas de blabla, pas d'​onglet (il peut être exécuté au sein d'une application comme //tabbed// pour cela), pas d'​historique,​ de favoris. ​\\ 
 +Comme l'​ensemble des outils suckless, il est extrêmement hackable et tout ceci peut donc être ajouté en patchant le code.\\ 
 +La meilleure façon de l'​installer est donc de récupérer son code source, ​le cas échéant ​d'​appliquer les patchs désirés, de le configurer aux petits oignons puis de le compiler. 
 + 
 +{{http://debian-facile.org/images/​file-Rae4d572c54edfda05420e7b4ff48a762.png?800}} 
 ===== Installation ===== ===== Installation =====
-Je vous propose de récupérer le code de la toute dernière version sur la page git du projet à http://​git.suckless.org/​surf ou directement en ligne de commande:\\ 
-  * pour le zip de la version en cours à la date de rédaction de ce tuto: 
-<code bash>​wget http://​git.suckless.org/​surf/​snapshot/​surf-0.6.zip</​code>​ 
-  * pour cloner directement:​ 
-<code bash>git clone http://​git.suckless.org/​surf</​code>​ 
  
-On dézippe le cas échéant:​ +Je vous propose de récupérer le code de la toute dernière version sur la page git du projet à  
-<​code ​bash>unzip surf-0.6.zip</​code>​ +  * http://​git.suckless.org/​surf 
-On rentre ensuite dans le dossier surf: + 
-<​code ​bash>cd surf*</​code>​ +ou directement en ligne de commande : 
-Dans un premier temps, nous allons chercher à configurer le navigateur selon nos goûts. Comme pour l'​ensemble des logiciels suckless, cela se passe dans le fichier config.def.h. Dans ce tuto, nous nous pencherons plus particulièrement sur les options de webkit:+  * pour le zip de la version en cours à la date de rédaction de ce tuto :<code user>​wget http://​git.suckless.org/​surf/​snapshot/​surf-0.6.zip</​code>​ 
 +  * pour cloner directement :<code user>git clone http://​git.suckless.org/​surf</​code>​ 
 + 
 +On dézippe le cas échéant : 
 +<​code ​user>unzip surf-0.6.zip</​code>​ 
 + 
 +On rentre ensuite dans le dossier surf : 
 +<​code ​user>cd surf*</​code>​ 
 + 
 +Dans un premier temps, nous allons chercher à configurer le navigateur selon nos goûts. ​\\ 
 +Comme pour l'​ensemble des logiciels suckless, cela se passe dans le fichier ​''​config.def.h''​. 
 + 
 +Dans ce tuto, nous nous pencherons plus particulièrement sur les options de webkit :
 <code c> <code c>
 /* Webkit default features */ /* Webkit default features */
Ligne 44: Ligne 56:
 static Bool allowgeolocation ​     = FALSE; /* autoriser la géolocalisation (pour la langue entre autre) ou non */ static Bool allowgeolocation ​     = FALSE; /* autoriser la géolocalisation (pour la langue entre autre) ou non */
 </​code>​ </​code>​
-On pourrait s'​arrêter là, compiler et utiliser surf. Mais de base celui-ci ne propose pas de gestion des favoris, de l'​historique,​ des moteurs de recherches ou encore l'​affectation d'une page de démarrage.\\ + 
-Nous allons donc rajouter tout cela à l'aide des patchs disponibles sur le site.\\ +==== Patch ==== 
-Les patchs que je vous propose d'​installer sont: + 
-  * homepage : http://​surf.suckless.org/​patches/​homepage ​; +On pourrait s'​arrêter là, compiler et utiliser surf. \\ 
-  * bookmarking : http://​surf.suckless.org/​patches/​bookmarking ​; +Mais de base celui-ci ne propose pas de gestion ​ 
-  * history : http://​surf.suckless.org/​patches/​history ​. +  - des favoris, 
-Pour appliquer les patchs, en admettant que vous ayez suivi ce tuto et cloné depuis le dépôt git, il suffit de se placer dans le répertoire de surf et de faire:+  - de l'​historique,​ 
 +  - des moteurs de recherches 
 +  - ou encore l'​affectation d'une page de démarrage. 
 + 
 +Nous allons donc rajouter tout cela à l'aide des patchs disponibles sur le site. 
 + 
 +Les patchs que je vous propose d'​installer sont : 
 +  * homepage : http://​surf.suckless.org/​patches/​homepage 
 +  * bookmarking : http://​surf.suckless.org/​patches/​bookmarking 
 +  * history : http://​surf.suckless.org/​patches/​history 
 + 
 +Pour appliquer les patchs, en admettant que vous ayez suivi ce tuto et cloné depuis le dépôt git, il suffit de se placer dans le répertoire de surf et de faire :
 <code bash>git apply /​chemin/​vers/​pnom_du_patch.diff</​code>​ <code bash>git apply /​chemin/​vers/​pnom_du_patch.diff</​code>​
 +
 En cas d'​échec (ce qui peut arriver malheureusement suivant les évolutions respectives de surf et du patch en question), il faudra l'​appliquer à la main, en incluant via copier/​coller les lignes du patch (commençant par "​+"​)dans le code et en retirant celle commençant par "​-"​.\\ En cas d'​échec (ce qui peut arriver malheureusement suivant les évolutions respectives de surf et du patch en question), il faudra l'​appliquer à la main, en incluant via copier/​coller les lignes du patch (commençant par "​+"​)dans le code et en retirant celle commençant par "​-"​.\\
  
 === Le patch History === === Le patch History ===
-Autant les patchs bookmark et homepage fonctionnent très bien comme ça, autant le patch history ne me satisfait pas dans la mesure où il ajoute les urls visitées les unes à la suite des autres. Je l'ai donc modifié en ajoutant un retour chariot:+ 
 +Autant les patchs bookmark et homepage fonctionnent très bien comme ça, autant le patch history ne me satisfait pas dans la mesure où il ajoute les urls visitées les unes à la suite des autres. Je l'ai donc modifié en ajoutant un retour chariot :
 <code diff> <code diff>
  
Ligne 101: Ligne 126:
  
 </​code>​ </​code>​
-Afin d'​afficher simplement l'​historique,​ je vous propose une fonction à rajouter dans votre config.def.h. Elle renvoie le contenu du fichier contenant l'​historique ($HOME/​.surf/​history) dans dmenu:+ 
 +Afin d'​afficher simplement l'​historique,​ je vous propose une modification de la fonction ​sETURI ​à rajouter dans votre ''​config.def.h''​. Elle renvoie le contenu du fichier contenant l'​historique ($HOME/​.surf/​history) dans ''​dmenu'' ​:
 <code c> <code c>
-/* HIST */ +#​define ​SETURI ​{ \ 
-#​define ​HISTORY(p, q) { \ +    .v = (char *[]){ "/​bin/​sh",​ "​-c",​ \ 
-        .v = (char *[]){ "/​bin/​sh",​ "​-c",​ \ +        "​prop=\"​`xprop -id $0 _SURF_URI" \ 
-                "​prop=\"​`(xprop -id $2 $0 "\ +        " | cut -d '​\"'​ -f 2" \ 
-        " | cut -d '​\"'​ -f 2 | xargs -0 printf %b && ​"\ +        " ​tac \"${HOME}/​.surf/​bookmarks\" ​\"​${HOME}/​.surf/​history\""​ \ 
-                ​"cat ~/​.surf/​history| dmenu -l 10 -i -p history`\" ​&&" \ +        " | awk '​!x[$0]++'"​ \ 
-                "xprop -id $-f $1 8s -set $1 \"​$prop\"",​ \ +        " ​| dmenu -i -l 10`\""​ \ 
-                p, q, winid, NULL \ +        " ​&& ​xprop -id $-f _SURF_GO ​8s -set _SURF_GO ​\"​$prop\"",​ \ 
-        } \+        winid, NULL \ 
 +    } \
 } }
 </​code>​ </​code>​
-et la ligne suivante de raccourci ​clavier ​à ajouter dans la définition des touches ​de raccourcistoujours dans le config.def.h:​ + 
-<​code ​c+Le raccourci ​<​key>​C-g</​key>​ affiche ​à présent l'​ensemble ​de vos marque-pages ainsi que l'​historiquevous permettant ainsi de choisir ​le site à charger. 
-    { MODKEY|GDK_SHIFT_MASK,​GDK_h, ​     spawn, ​     HISTORY("​_SURF_URI",​ "​_SURF_GO"​) }, + 
-</​code>​ +Une fois que les fichiers ''​surf.c''​ et ''​config.def.h''​ sont prêts, nous allons compiler notre logiciel. \\ 
-Elle affecte l'​affiche de l'​historique dans dmenu à la combinaison Ctrl+Shift+h.+Vous aurez besoin de dépendances : **libwebkitgtk-1.0-0**,​ **libwebkitgtk-dev** et **dmenu**, je vous propose de les installer directement avec un 
 +<​code ​root> apt-get build-dep surf</​code
 + 
 +puis d'​installer notre navigateur : 
 +<code root>​make clean install</​code>​ 
 ===== Utilisation ===== ===== Utilisation =====
  
 +**surf** est très simple d'​utilisation et se pilote bien au clavier et à la souris. \\
 +Pour le lancer :
 +<code user>​surf http://​url-a-visiter.net</​code>​
 +
 +Dans ma configuration,​ j'ai désactivé par défaut les scripts, les plugins et l'​affichage des images ainsi que les cookies. \\
 +Si je veux visiter un site où ces "​fonctionnalités"​ me sont ponctuellement utiles, je lance **surf** avec les options adéquates :
 +<code user>​surf -SPI -a a www.url-a-visiter.net</​code>​
 +
 +=== Navigateur à onglets ===
 +
 +Pour ceux qui utilisent **tabbed**, un autre outil suckless, voici comment lancer **surf** à l'​intérieur de ce dernier afin d'​obtenir un navigateur à onglets comme on en a maintenant l'​habitude.
 +<code user>​tabbed -c surf -e</​code>​
 +
 +=== Quelques raccourcis clavier ===
 +
 +Ils sont basés sur les raccourcis de types "​vim"​ :
 +^ Action ^ Touche ^ Ajout ^
 +| Ouvrir l'URL | <​key>​C-g</​key>​ (ouvre dmenu pour la saisie) ||
 +| Site précédent | <​key>​C-h</​key>​ ||
 +| Site suivant | <​key>​C-l</​key>​ ||
 +| Scroll bas | <​key>​C-j</​key>​ ||
 +| Scroll haut | <​key>​C-k</​key>​ ||
 +| Scroll à droite | <​key>​C-u</​key>​ ||
 +| Scroll à gauche | <​key>​C-i</​key>​ ||
 +| Ajouter un signet | <​key>​C-a</​key>​ (si le patch est appliqué)||
 +| Activer ou désactiver... | <​key>​C-Maj</​key>​ + ... | |
 +|  | ... (les cookies) | <​key>​c</​key>​ |
 +|  | ... (les images) | <​key>​i</​key>​ |
 +|  | ... (les scripts) | <​key>​s</​key>​ |
 +|  | ... (les plugins) | <​key>​v</​key>​ |
 +
 +
 +===== Conclusion =====
 +
 +**surf** est un navigateur léger et élégant qui fait la part belle à la navigation sans fioriture. Il est extensible et personnalisable facilement.\\
 +Certes la façon de le configurer et de le compiler le destine plutôt aux utilisateurs avancés mais j'​espère que ce tuto permettra aux utilisateurs de tout niveau de le tester.
  
 + --- //​[[sogal@member.fsf.org|Sogal]] 27/05/2015 21:50//
doc/reseau/surf.1426416101.txt.gz · Dernière modification: 15/03/2015 11:41 par sogalpunx

Pied de page des forums

Propulsé par FluxBB