Page 1 of 6

[RESOLU]YASSM démontage automatique partage réseau

Posted: Tue 23 Dec 2014, 14:45
by augras
Bonjour,
Il y a différentes façon d'accéder à ses partages en réseau et Yassm est certainement une des meilleure.
D'autant plus que l'usage du fichier samba-select.dat décrit par fabrice_035 dans un autre post permet d'éviter une recherche sur l'ensemble du réseau pour ne se connecter qu'aux partages que l'on connait parfaitement, et tout ça toujours avec authentification.
Mais il y a un inconvénient : on reste connecté indéfiniment si l'on ne démonte pas le partage !
Autofs permet de mettre un timeout au bout duquel on est automatiquement déconnecté quand il n'y a plus eu d'activité sur le partage. C'est parfait quand il n'y a pas d'authentification ou que l'on veut donner des accès en lecture seulement. Par contre l'authentification est gérée via un fichier où les identifiants/mots de passe sont en claire !
L'idéal serait de mettre en option un timeout dans yassm mais il n'a apparemment pas cette possibilité : je ne l'ai pas trouvée dans le post dédié.
Il n'y a apparemment pas beaucoup d'utilisateurs de NAS et de partages en réseau ici mais au cas où je lance une bouteille à la mer.


Suite à cette demande voici la solution réalisée par fabrice_035.

Je rappelle le principe général de fonctionnement : un partage est démonté automatiquement au bout d'un certain temps quand il n'est pas ouvert dans une fenêtre.
Lorsqu'un partage est monté via yassm une fenêtre de ce partage s'affiche et une icône verte apparaît à côté de l'horloge dans la barre des tâches.
Cette icône indique dans sa partie supérieure le nombre de partages monté, flèche vers le haut, et dans sa partie inférieure, flèche vers le bas, le nombre de partages qui seront démontés.
Si on met la souris sur l'icône le chemin du partage est indiqué.S'il y en a plusieurs ils sont tous indiqués
Quand une fenêtre de partage est fermée l'icône devient rouge et le nombre en bas s'incrémente, celui du haut ne change pas tant que le partage n'est pas démonté. Quand un partage est démonté le nombre supérieur diminue en conséquence.
Si on met le pointeur de la souris sur l'icône quand elle est rouge se sont les partages qui n'ont plus de fenêtre ouverte qui sont listés.
A partir du moment où l'icône devient rouge le timer pour démonter le partage se met en route.
A ce moment là on peut décider de conserver le montage en cliquant droit sur l'icône : une fenêtre du partage sera alors ouverte. S'il y a plusieurs partages en court de démontage ils seront traités dans l'ordre de fermeture des fenêtres : il faut un clic par partage.
L'icône se met automatiquement à jour.
Un clique gauche sur l'icône ouvre une fenêtre pour chaque partage.
Environ 1mn avant le démontage d'un partage une fenêtre prévient l'utilisateur afin de lui permettre d'agir s'il le désire.
Lorsqu'un partage est démonté une fenêtre s'affiche quelques secondes pour prévenir l'utilisateur.
Quand plusieurs fenêtres sont fermées pendant qu'un timer est en route pour démonter un partage tous les partages sont démontés successivement à la fin du timer : il n'y a pas un timer par montage.

Une interface de configuration pour déterminer le type d'avertissement avant le démontage, combien de temps avant le démontage on veut être prévenu, la durée du timer et si l'on veut activer ou pas la fonctionnalité de démontage a également été proposée par fabrice_035 et bien adaptée par Argolance : rendons à césar... c'est eux qui ont fait tout le boulot.
Argolance a encore amélioré l'ensemble en faisant tout le travail nécessaire pour que l'application soit multilingue, anglais et français pour le moment. Il a également élaborée l'aide.
Et pour compléter il a intégré l'ensemble pour ToOpPy avec Samba TNG et une icône réseau qui regroupe dans son menu tout le nécessaire pour utiliser Samba TNG, Yassm et l'addon auto_uMount : c'est cette version qui est proposée ici.
Merci à lui de nous faire bénéficier en primeur de ce développement pour ToOpPy.


ATTENTION, le paquet ci-dessous regroupe donc Samba TNG, YASSM2.7 avec l'addon auto_uMount
SambaTNG YASSM2.7-auto_uMount_addon.pet

Le paquet ci-dessous ne comprend que YASSM2.7 avec l'addon auto_uMount :
YASSM2.7-auto_uMount_addonV3.pet

Et pour terminer l'icon_tray avec son menu permettant de tout avoir sous un clic :
icon_tray


Merci.
Et un grand merci à fabrice_035 d'avoir mis ses compétences de développeur au service de ma demande, à Argolance pour les améliorations importantes et évidemment à rcrsn51 qui est l'auteur à la fois de Yassm et de Samba TNG.
Philippe

Posted: Tue 23 Dec 2014, 16:01
by fabrice_035
Salut,
Je ne comprends pas ce que tu veux faire exactement.
Un démontage automatique après un certain temps ?
A+

Posted: Tue 23 Dec 2014, 17:15
by augras
Oui, mais pas après un temps suite à la connexion mais après non utilisation du partage.
A+

Posted: Tue 23 Dec 2014, 17:19
by fabrice_035
. :roll:

Posted: Tue 23 Dec 2014, 17:52
by augras
Je ne sais pas non plus.
Autofs le fait : après configuration on clique sur un dossier, ou une application fait appel au dossier, et le partage est accessible. Après un temps d'inactivité déterminé dans la configuration et paramétrable le partage est démonté.
Je ne sais pas comment ça fonctionne.
J'ai posé la question dans le fil de yassm et l'auteur, rcrsn51, ne voit pas comment intégrer ça simplement.
Je l'ai interrogé sur "juste" une déconnexion après un temps déterminé après le montage, mais pas encore de réponse : en fait là ou tu en est arrivé également.
Philippe

Posted: Tue 23 Dec 2014, 17:58
by augras
J'ai 4 NAS,3 synology et un d-link. J'ai d'abord cherché à déconnecter le partage à partir des NAS mais je n'ai rien trouvé du tout ! Les syno sont tous sur la dernière version du DSM, système d'exploitation de synology et le d-link dns-323 a la dernière version du firmware disponible : ils sont tous sous un linux. Mais, bien que couper la connexion côté serveur avait ma préférence... rien de rien.
J'ai donc cherché du côté client et j'ai trouvé autofs qui fonctionne mais a ce problème d'authentification.
Philippe

Posted: Tue 23 Dec 2014, 18:36
by fabrice_035
le forum vient d'exploser en vol... ma précedente réponse vient de disparaitre, genre lost in space... merci les mecs !




Je propose de vérifier si il y a utilisation du partage à travers une fenêtre.... cette fois pas de suppression demon message ?

:shock:

Posted: Tue 23 Dec 2014, 19:10
by augras
C'est visible cette fois !
ça arrive de temps en temps et c'est très désagréable... surtout quand on a fait une réponse conséquente : quand c'est le cas j'en suis arrivé à faire un copier/coller avant de valider !
Merci pour la réponse hyper rapide.
J'ai testé ton script et je suis perplexe.
Si j'ai bien compris l'exécution du script vérifie si un partage est ouvert dans une fenêtre, c'est ce que tu indiques, j'ai pas trop forcé. Mais alors que j'ai un montage fait dans /root/yassm/Medias et que le dossier Medias est devant mois visible dans une fenêtre, le script me retourne

Code: Select all

pas trouvé /root/YASSM/Medias@10.0.0.152 en fenêtre ouverte...
Bien entendu si le montage existe mais n'ai pas affiché dans une fenêtre j'ai le même retour !
D'où ma perplexité.
Si le montage n'existe pas, je n'ai rien.
J'ai faut un copier/coller avant de valider !
Philippe

Posted: Tue 23 Dec 2014, 19:26
by fabrice_035
Le script fonctionne chez moi, mais je constate que de ton coté il affiche l’adresse ip dans le nom de la fenêtre ( @10.0.0.152 ) ce qui n'est pas le cas avec mon Puppy :evil: donc il faudra couper ça, à tester avec un

Bonne soirée. :D

Posted: Tue 23 Dec 2014, 19:27
by augras
J'ai modifié le script pour vérifier si le cas trouve="ok" fonctionnait en ajoutant simplement echo "Trouve=ok" juste après :

Code: Select all

if  [ "$partage" = "$windows" ] ; then
  trouve="ok" echo "Trouve=OK"
  fi
et dans le cas où le partage est affiché dans une fenêtre j'ai bien mon echo qui s'affiche... et sur la ligne de dessous

Code: Select all

pas trouvé /root/YASSM/Medias@10.0.0.152 en fenêtre ouverte...
Dans tous les cas, sauf celui où le montage n'existe pas, j'ai toujours "pas trouvé /root/YASSM/Medias@10.0.0.152 en fenêtre ouverte..." qui s'affiche.
Philippe

Posted: Tue 23 Dec 2014, 19:29
by augras
Les réponses se sont croisées : je teste ce que tu indiques.

Posted: Tue 23 Dec 2014, 19:36
by augras
Aucune des deux modifications proposées ne supprime "@10.0.0.152".
Je vais regarder un film.
Merci.
Philippe

Posted: Tue 23 Dec 2014, 19:43
by fabrice_035
On se regarde ça demain. A+

Posted: Tue 23 Dec 2014, 20:03
by fabrice_035
Il faudrait que tu nous donnes le contenu de

Posted: Wed 24 Dec 2014, 09:07
by augras
Bonjour,
Quand il y a un montage effectif et qu'une fenêtre l'affiche wi=/root/YASSM/Medias@10.0.0.152. Et "Trouve=ok" s'affiche, de même que "pas trouvé /root/YASSM/Medias@10.0.0.152 en fenêtre ouverte..." : c'est ce dernier affichage qui ne devrait pas être là.
Au passage il faut que la fenêtre ait été ouverte directement depuis /root/YASSM/... : si on ouvre depuis un lien symbolique vers le point de montage d'origine ça ne fonctionne pas. Et c'est logique puisque l'on cherche spécifiquement /root/YASSM/...
Si le point de montage existe mais qu'il n'est pas ouvert dans une fenêtre wi ne contient rien, "Trouve=ok" ne s'affiche pas et "pas trouvé /root/YASSM/Medias@10.0.0.152 en fenêtre ouverte..." s'affiche. Tout est normal dans ce cas.
Si le point de montage n'existe pas rien ne s'affiche.
Voilà pour les données du matin ! :D
Philippe

Posted: Wed 24 Dec 2014, 09:51
by augras
J'ai monté plusieurs partages qui sont bien détectés et ajouté une commande umount $wi dans le script

Code: Select all

trouve="ok" echo "Trouve=OK"; umount $wi
Seul un montage ouvert dans une fenêtre est démonté : j'ai testé avec aucune fenêtre ouverte et rien n'est démonté ; une seule fenêtre ouverte et elle est démontée, pas les autres montages ; tous les montages ouverts dans une fenêtre et tout est démonté.
C'est plutôt encourageant.
Philippe

Posted: Wed 24 Dec 2014, 10:34
by fabrice_035
A+

Posted: Wed 24 Dec 2014, 14:13
by augras
Je viens de mettre en oeuvre ton script qui fonctionne parfaitement : merci beaucoup pour le script et ta disponibilité.
Mais comme c'est Noël ce soir je pousse l'idée un peu plus loin.
Actuellement il démonte le partage immédiatement après la fermeture de la fenêtre ce qui ne laisse pas de marge à l'utilisateur s'il doit accéder à nouveau au partage "rapidement"... il devra remonter le partage et s'authentifier de nouveau
Est-il possible d'améliorer la chose sans démonter immédiatement après la fermeture de la fenêtre du partage ?
J'imagine un fonctionnement du genre le script détecte un montage et met en route une horloge de 15mn par exemple : si au bout des 15mn une fenêtre du point de montage est ouverte il remet son horloge à zéro et recommence ; si au bout d'un cycle de 15mn une fenêtre n'est pas ouverte il démonte alors le partage.
On aurait ainsi quelque chose de moins radical.
Passe un joyeux Noël et si tu penses que c'est envisageable il n'y a pas d'urgence du tout.
Merci encore,
Philippe

Posted: Wed 24 Dec 2014, 14:22
by ASRI éducation
@ augras et fabrice_035

Une bonne idée, de la coopération, de la créativité...
Et hop, un résultat qui va être partagé et potentiellement amélioré.
J'adore le libre !
8)

Posted: Wed 24 Dec 2014, 17:37
by fabrice_035
partage.