Resalut Yannick,
Pour t'éviter de devoir rechercher le nom du dossier où se situent les
extensions pour construire le chemin du fichier "statements.txt" pour
insérer les directives d'encodages, je t'ai trouvé une petite astuce.
Maintenant, tu n'as plus besoin de la fonction "getCurScriptFolderPath", tu
peux te contenter simplement de la fonction "insertHeaderStatement".
Voici la mise à jour de la fonction "insertHeaderStatement", qui devrait
retrouver le nom du répertoire des extensions, tel qu'il soit.
Tu peux mettre à jour le forPython si tu veux, où je le ferai dès que
j'aurai un p'tit moment de libre.
# Début du code
def insertHeaderStatement():
# propose une instruction d'en-tête de fichier à insérer
# Astuce pour retrouver le répertoire contenant les extensions
sFile = sp.getConfig("extension")
# On capture le nom du répertoire situé juste avant le slash
sFile = sFile.split("/")[0]
# C'est bon, on peut assembler le chemin en valeur de la variable sFile
sFile = os.path.join(os.getcwd(), sFile, "statements.txt")
if os.path.isfile(sFile):
path = open(sFile,'r')
s = path.read() # Récupération du contenu du fichier
path.close() # Fermeture du fichier
lignes=s.split("\n")
lignes.remove("") # retrait des éléments vides
i = sp.window.choice("Veuillez sélectionner une instruction
d'en-tête de fichier à insérer", "Instructions d'en-tête de fichier",
lignes, 1)
if i>=0:
sp.window.curPage.insert(sp.window.curPage.selectionStart,
lignes[i])
# end if
else:
sp.window.alert("Le fichier %s est introuvable près de l'extension
'forPython' \nVeuillez l'y installer et recommencer cette action." % sFile,
"Fichier introuvable")
return
# end if
# Fin du code
Pour le Backspace, j'ai bien compris, on ajoutera une condition si tu veux.
Bien amicalement,
Abdel.
----- Original Message -----
From: "Yannick Youalé" <[email protected]>
To: <[email protected]>
Sent: Saturday, February 06, 2016 10:46 AM
Subject: [progliste] Re: 6pad++- amélioration de l'extens io n forPython
Coucou Abdel,
Concernant le backspace, mon propos était de faire les vérification plus
ou moins algorithmiques suivantes:
si la touche relachée est le backspace alors,
si le type d'indentation de la page est le caractère tab alors,
on effectue la vocalisation
sinon,
on ressort
fin si
fin si
Tu piges le truc ?
Dans les cas où ce sont des groupes d'espaces qui constituent les
indentation, le comportement de la touche backspace est classique.
Amicalement,
Yannick Daniel Youalé
La programmation est une religion. Aimez-la ou quittez-la.
www.visuweb.net
Le 06/02/2016 10:01, _Abdel_ a écrit :
Salut Yannick,
Ah merci, tu as fait du bon boulot.
Je connaissais bien l'attribut readlines au pluriel de l'objet file, qui
retourne la liste de toutes les lignes du fichier ouvert, il est
effectivement très pratique et, utilisée avec le dialogue choice de
l'objet window de 6pad++, c'est encore mieux.
L'avantage, c'est que si plus tard, tu veux ajouter des lignes dans le
fichier annexe, cette ligne sera automatiquement ajoutée dans la liste,
etc.
Pour le Backspace, le problème majeur, c'est que si l'utilisateur a
choisi que son niveau d'indentation soit 2 ou plus d'espaces, le
Backspace n'en supprimera qu'un, et donc, ce ne sera pas un niveau
d'indentation qui sera supprimé, mais juste un espace qui ne représentera
que la moitié, ou le tiers, ou le quart, etc., en fonction du nombre
d'espaces que l'utilisateur aura choisi pour son pas d'indentation.
C'est pour cela que je te proposais qu'on l'enlève.
Ce problème ne se pose pas avec Tab ou Maj Tab, car Quentin a bien prévu
le coup pour que quel que soit le pas d'indentation, ces 2 touches
puissent ajouter ou supprimer un niveau.
Merci à toi.
Bien amicalement,
Abdel.
----- Original Message ----- From: "Yannick Youalé"
<[email protected]>
To: <[email protected]>
Sent: Saturday, February 06, 2016 9:10 AM
Subject: [progliste] Re: 6pad++- amélioration de l'exte n sion forPython
Coucou Abdel,
Voici la nouvelle version de l'extension forPython.
Changements effectués:
* création d'un menu "insertion" dans les sous-menus du menu
"forPython"
Question de regrouper tout ce qui relèvera de l'insertion dans le code
courant.
* Création dans ce menu insertion de l'item "Insertion d'instruction
d'en-tête de fichier"
Aucun raccourci clavier pour le moment.
* Insertion dans le menu "suppression" de l'item "Supprimer la ligne
courante"
* Déplacement et renommage de l'élément "sélectionner une classe ou
fonction"du menu sélection vers le menu "navigation".
Car en réalité il ne s'agit pas d'une commande de sélection, mais plutôt
de déplacement.
* Rectification des messages lors de la sélection de classe et de
fonction.
Au lieu de "C'est bon, la classe x a été sélectionné", j'ai opté pour un
message plus classique tel que :
"Sélection de la classe x".
Voilà ! En espérant que tu ne vas pas t'étrangler de colère en frappant
d'un poing rageur le clavier de ton ordinateur face à autant de culot...
MDR !
Dis-moi ce que tu en pense.
PS: une petite crainte cela dit. Les extensions pour le sixpad pouvant
se mettre dans le dossier lib ou dans le dossier plugin, dans mon code
pour localiser le fichier qui doit être dans le même dossier que le
script courant, je teste l'existence des deux dossiers. Mais n'ayant pas
de dossier plugin chez moi, je ne suis pas sûr de son orthographe. Si
cela s'écrit différemment de "plugin", alors il risque d'y avoir des
erreur chez certains.
Dans un de tes précédents messages tu dis:
Début de citation
Donc, je te suggère que l'on retire le Backspace de la fonction onKeyUp,
qu'en penses-tu?
Fin de citation
A mon avis l'idéal serait de prendre en compte tous les cas possibles de
diminution du niveau d'indentation. Et le retour-arrière est justement
l'un de ces cas.
Un compromis à mon sens serait de détecter quel type d'indentations sont
actuellement utilisés et alors activer ou désactiver la vocalisation
après le retour-arrière.
Amicalement,
Yannick Daniel Youalé
La programmation est une religion. Aimez-la ou quittez-la.
www.visuweb.net
Le 05/02/2016 22:44, _Abdel_ a écrit :
Pas de souci Yannick,
Un dernier petit truc.
Si tu ajoutes des menus et items de menus, si un item est susceptible
de lancer une action callback et qu'il est associé à un raccourci
clavier, tu remarqueras que j'ai défini, pour le paramètre accelerator
de chaque item associé à une fonction, la valeur d'une clé figurant
dans le dictionnaire shortcuts, figurant au début du code.
Il faudrait que tu en fasses de même, pourquoi, pour que le
dictionnaire soit exploitable par la fonction modifyShortcuts, qui
permet d'offrir aux utilisateurs, la possibilité de modifier tout ces
raccourcis clavier selon leurs préférences.
Merci à toi et bon sommeil.
Si tu veux, on ajoutera un item pour préparer le café lol !
Mdrrrrr.
Bien amicalement,
Abdel.
----- Original Message ----- From: "Yannick Youalé"
<[email protected]>
To: <[email protected]>
Sent: Friday, February 05, 2016 10:26 PM
Subject: [progliste] Re: 6pad++- amélioration de l'extens ion
forPython
Coucou Abdel,
Je viens de lire ton message.
Donnes-moi jusqu'à demain matin et j'enverai une version avec les
modifications intégrées, tout en prenant bien entendu en compte tes
remarques.
J'ai besoin d'un petit somme avant de me mettre à programmer.
Yannick Daniel Youalé
Le 05/02/2016 19:34, _Abdel_ a écrit :
Salut Yannick,
Mais bien sûr que tu es pleinement autorisé à modifier le forPython,
car tu contribues à son amélioration.
Tu vois, moi j'aime bien le travail collaboratif, surtout lorsque
chaque participant apporte quelque chose qui pourrait aider les
autres scripteurs ou programmeurs qui ne seraient pas bien familiers
avec certaines commandes ou instructions.
Cependant, je souhaitais juste attirer ton attention sur les points
suivants :
Lorsqu'on assigne à plusieurs variables une même valeur, on peut
très bien écrire :
variable1 = variable2 = variable3 = 0
Donc je remplacerais bien des instructions comme :
iLineStart, iLineEnd, j = 0, 0, 0
Par :
iLineStart = iLineEnd = j = 0
Autre chose, Quentin a prévu un attribut pour la classe Page, qui
retourne le nombre total de lignes.
Donc, je remplacerais bien des instructions comme :
nb = sp.window.curPage.lineOfOffset (len(sp.window.curPage.text))
Par :
nb = sp.window.curPage.lineCount
Autre chose, je pensais au Backspace, il ne supprime pas forcément
un niveau d'indentation.
Si l'utilisateur prévoit que ce soit des espaces, le Backspace ne
supprimera qu'un espace à la fois.
Alors que pour Tab et Shift Tab, Quentin a bien prévu le coup, quel
que soit le nombre d'espace que l'utilisateur aura définit comme
symbole d'indentation, ils seront bien considérés lors de l'ajout ou
de la diminution d'un niveau.
Donc, je te suggère que l'on retire le Backspace de la fonction
onKeyUp, qu'en penses-tu?
Je souhaitais aussi te demander, si tu n'y vois aucun inconvénient,
de bien vouloir regarder avec moi les fonctions de sélections de la
fonction courante et de la classe courante que j'ai moi-même créées.
Je ne sais pas, mais j'ai l'impression que je n'ai pas bien ciblé
chirurgicalement l'emplacement où une fonction ou classe serait
susceptible de se terminer.
Si tu as des idées, elles seront les bienvenues.
Merci à toi.
Bien amicalement,
Abdel.
----- Original Message ----- From: "Yannick Youalé"
<[email protected]>
To: <[email protected]>
Sent: Friday, February 05, 2016 4:01 PM
Subject: [progliste] Re: 6pad++- amélioration de l'extension
forPython
Recoucou Abdel,
Autre proposition d'amélioration pour l'extension forPython.
Le but en réalisant ce qui s'approche le plus possible d'un IDE
pour le langage pour python par les extension pour le 6pad++ est
d'éviter aux utilisateurs de chercher ailleurs ce qu'ils peuvent
directement trouver dans l'IDE.
C'est pourquoi je propose peut-être la première fonctionnalité
d'insertion, l'insertion des instructions d'en-tête de fichier.
Plus précisément les commandes d'encodage du fichier.
Exemple:
# -*- coding: utf-8 -*-
Mais pour ce faire, il faudrait que le forPython se distribue
désormais avec un dossier dans lequel seront regroupés tous les
fichiers annexes dont il aura besoin pour fonctionner.
En pièce jointe à ce mail, je propose d'ailleurs le fichier
"statements.txt" à mettre dans le même dossier que le script
forPython), et qui contient une liste d'instruction d'en-tête de
fichier que j'ai déja pu regrouper. Seulement six pour l'instant.
Pour localiser le chemin vers l'extension en cours d'exécution,
j'ai créé la fonction getCurScriptFolderPath() que tu veras plus
bas.
La fonction insertHeaderStatement(): se sert de tout ça et affiche
une liste dans laquelle on doit choisir l'instruction à insérer à
l'emplacement du curseur.
Voici le code:
Début du code python
def insertHeaderStatement():
# propose une instruction d'en-tête de fichier à insérer
sFile = getCurScriptFolderPath()+"\\statements.txt"
if os.path.isfile(sFile):
path = open(sFile,'r')
s = path.read() # Récupération du contenu du fichier
path.close() # Fermeture du fichier
lignes=s.split("\n")
lignes.remove("") # retrait des éléments vides
i = sp.window.choice("Veuillez sélectionner une instruction
d'en-tête de fichier à insérer", "Instructions d'en-tête de
fichier", lignes, 1)
if i>=0:
sp.window.curPage.insert(sp.window.curPage.selectionStart,
lignes[i])
# end if
else:
sp.window.alert("Le fichier statements.txt est introuvable près de
l'extension 'forPython' \nVeuillez l'y installer et recommencer
cette action.", "Fichier introuvable")
return
# end if
# end def
def getCurScriptFolderPath():
# renvoi le chemin vers le dossier contenant le script courant
sPath = __name__
l = sPath.split(".")
if len(l)>1: del l[-1]
sPath=sp.appdir+"\\lib\\"+"\\".join(l)
# si pas dans le dossier lib, on essai le dossier plugin
if os.path.isdir(sPath)==False:
sPath=sp.appdir+"\\plugin\\"+"\\".join(l)
# si toujours pas trouvé, on ressort
if os.path.isdir(sPath)==False: return ""
return sPath
# end def
# création du menu associé
mnu.add(label="Insérer une instruction d'en-tête de fichier",
action=insertHeaderStatement, name="insertHeaderStatement")
Fin du code python
Si tu trouves tout ça trop compliqué, donne moi l'autorisation et
je les intègrerai dans la dernière version que tu as envoyé tout à
l'heure.
Amicalement,
Yannick Daniel Youalé
La programmation est une religion. Aimez-la, ou quittez-la.
www.visuweb.net
----- Original Message ----- From: "_Abdel_"
<[email protected]>
To: <[email protected]>
Sent: Thursday, February 04, 2016 11:24 PM
Subject: [progliste] Re: 6pad++- amélioration de l'extension
forPython
Bonsoir la ML,
Sans plus tarder, j'ai le plaisir de vous communiquer la nouvelle
version de
l'extension "forPython", réalisée avec 6pad++ version beta.
Grâce aux suggestions de Yannick, nous avons intégré la
possibilité de
pouvoir vocaliser les changements de niveaux avec tab, shift +
tab, ou
backSpace, lorsqu'on est en début de ligne.
La seconde amélioration, que je qualifierais de plutôt importante,
c'est que
désormais, en réalisant le raccourci clavier "CTRL+M", chacune et
chacun
pourra modifier les raccourcis-claviers des différentes commandes,
selon les
préférences.
Idées d'amélioration.
Je pense qu'il serait intéressant d'intégrer 2 autres modes de
lecture des
entêtes de lignes, "Lire les indentations" et "Lire les numéros de
lignes et
les indentations".
Ca permettrait de reconnaître la mixité des caractères
d'indentation s'il y
en a et de pouvoir se corriger si on a fait une erreur en
mélangeant des
tabs et des espaces.
La seconde idée, ce serait d'isoler les regexp ayant permis de
retrouver les
classes et fonctions dans un dictionnaire.
En effet, je trouve personnellement que les dictionnaires sont
beaucoup plus
souples à manier que les variables globales, mais ça reste un avis
personnel.
Autre idée, mais je pense qu'elle aura plus sa place lorsque
j'aurais mieux
compris comment implémenter une treeView avec la version alpha, ce
serait de
pouvoir construire un plan du module en cours d'implémentation ou
de
consultation, pour mieux reconnaître les relations
classes/sous-classes et
classes/fonctions et attributs, etc.
Mais ce n'est pour le moment qu'un rêve bien entendu.
Ah j'oubliais, il faudrait aussi essayer d'intégrer la possibilité
d'exécuter du code comme dans le module de Cyrille, mais je n'ai
pas encore
bien compris comment implémenter cette partie.
Toute aide sera la bienvenue les amis.
Je vous souhaite une agréable soirée.
Bien amicalement,
Abdel.
----- Original Message ----- From: "Cyrille"
<[email protected]>
To: <[email protected]>
Sent: Thursday, February 04, 2016 10:30 PM
Subject: [progliste] Re: 6pad++- amélioration de l'extens ion
forPython
Salut Abdel,
Merci, c'était bien ça !
Cyrille
-----Message d'origine-----
De : [email protected]
[mailto:[email protected]] De la
part de _Abdel_
Envoyé : jeudi 4 février 2016 20:13
À : [email protected]
Objet : [progliste] Re: 6pad++- amélioration de l'extens ion
forPython
Salut Cyrille,
Sauf erreur de ma part, il me semble que tu dois copier le
répertoire lib
figurant dans ton 6pad++ beta, dans le répertoire de ta version
alpha, et
le
module ctypes sera alors importable sans PB.
Je l'ai fait ici, et ça marche nickel.
Bien amicalement,
Abdel.
----- Original Message ----- From: "Cyrille"
<[email protected]>
To: <[email protected]>
Sent: Wednesday, February 03, 2016 11:13 PM
Subject: [progliste] Re: 6pad++- amélioration de l'extens ion
forPython
Salut Quentin,
J'ai essayé de tester ton nouveau 6pad++.
Mais il est incapable d'exécuter la ligne :
import ctypes
dans une de mes extensions, alors que la version beta le faisait
bien.
Sais-tu à quoi ça pourrait être dû ?
Voici le traceback Python :
Traceback (most recent call last):
File
"D:\Applications\_test\6pad++_beta1_test2\plugins\perso.py", line
6,
in <module>
import ctypes
File "C:\MinGW\ProgQ\9pad++\lib\ctypes\__init__.py", line 7, in
<module>
ImportError: No module named '_ctypes'
>>> >>>
Merci d'avance.
Cyrille
-----Message d'origine-----
De : [email protected]
[mailto:[email protected]] De la
part de QuentinC
Envoyé : lundi 1 février 2016 20:53
À : [email protected]
Objet : [progliste] Re: 6pad++- amélioration de l'extens ion
forPython
Bonsoir,
Je vous mets ce soir en ligne en avant première une nouvelle
version
alpha de 6pad++.
J'ai notamment enrichi l'API avec les task dialogs.
J'y ai aussi ajouté les 3 plugins que j'avais commencé, si vous
voulez
les reprendre/continuer ce serait avec plaisir. Vous pouvez
aussi vous
contenter de commenter bien sûr.
Téléchargement ici:
https://dl.dropboxusercontent.com/u/25797488/6pad%2B%2B.zip
Les 3 plugins expérimentaux inclus sont :
* audio_indent: un plugin qui sonorise les changements
d'indentation
* dialogs: un plugin qui va proposer des boîtes de dialogue
additionnelles et d'autres outils relatifs aux dialogues. Pour
le moment
je vous propose uniquement la TreeViewDialog. Vous pouvez déjà
vous
amuser pas mal avec !
* developer: un plugin dont le but était de regrouper des
fonctionnalités utiles pour les développeurs. Ce qui est proposé
pour le
moment, c'est juste une petite démo qui ne fait pas grand chose.
L'idée
est d'identifier le type de fichier en cours d'édition d'une
part, et
d'autre part le type de projet et son dossier racine. But du jeu,
proposer des items de menus disponibles de manière globale mais
réagissant différemment selon le type de fichier et le type de
projet
ouvert. Si on veut proposer des fonctionnalités pour aller à la
fonction/classe précédente/suivante, commenter/décommenter une
ligne,
etc. multilangage, on peut partir de cette base.
La détection de projet pourrait permettre d'ajouter des items
genre
compiler, exécuter, lancer les tests, le débogueur, etc.
Conscient qu'on ne peut rien faire avec de concret pour
l'instant, je
voulais surtout avoir votre avis.
Voilà, have fun !
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille
est
limité
à
2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou
en privé,
je
vous répondrez en privé.
---
L'absence de virus dans ce courrier électronique a été vérifiée
par le
logiciel antivirus Avast.
https://www.avast.com/antivirus
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille
est
limité
à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou
en privé,
je vous répondrez en privé.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille
est limité
à
2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
privé,
je
vous répondrez en privé.
---
L'absence de virus dans ce courrier électronique a été vérifiée
par le
logiciel antivirus Avast.
https://www.avast.com/antivirus
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille
est limité
à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
privé,
je vous répondrez en privé.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est
limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
privé, je vous répondrez en privé.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est
limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
privé, je vous répondrez en privé.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est
limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
privé, je vous répondrez en privé.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est
limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
privé, je vous répondrez en privé.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est
limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé,
je vous répondrez en privé.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est limité
à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé,
je vous répondrez en privé.
Progliste :
Pour se désinscrire de la liste :
mailto:[email protected]?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/
Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je
vous répondrez en privé.