libfilezilla : l'équipe de Filezilla publie sa bibliothèque C++

libfilezilla : l’équipe de Filezilla publie sa bibliothèque C++

Si tu sais, partage

Avatar de l'auteur
David Legrand

Publié dans

Logiciel

04/11/2015 1 minute
48

libfilezilla : l'équipe de Filezilla publie sa bibliothèque C++

Alors que le client FTP Filezilla continue son évolution, son équipe annonce avoir décidé de séparer une bibliothèque C++ pour certaines de ses fonctionnalités. Elle est ainsi accessible à tous, son code source étant distribué sous licence GPL v2.

L'équipe derrière le client FTP open source Filezilla vient d'annoncer la mise à disposition d'une bibliothèque C++ indépendante : libfilezilla. Celle-ci permet à chacun de profiter d'outils de gestion de fichiers ou d'évènements, développés par l'équipe.

Le code source est distribué sous licence GPL v2+ et peut être téléchargé par ici. Une documentation complète est accessible par là.

Écrit par David Legrand

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Fermer

Commentaires (48)


ça c’est une excellente nouvelle !


C’est une excellente idée, mais GPLv2 pour une librairie, ça va être dur.


<img data-src=" /> Elle est fournie avec ou sans adware ?


[demi-HS]

Il serait temps que FileZilla quitte SourceForge et la génération de setup vérolés…

un des nombreux liens qui en parle, et le problème c’est que même le lien officiel x64 de filezilla-project.org renvoie sur sourceforge…

[/demi-HS]


En même temps, FTP, FTPS et SFTP c’est pas des protocoles qui évoluent tout les jours


Oui mais bon y’a certaines choses genre forcer le téléchargement d’un fichier dans la file d’attente sans être obliger de passer le fichier en priorité haute puis arrêter la file d’attente puis reprendre la file d’attente…

Il y’en a des choses à faire je pense (côté ergonomie), ça se trouve il y’a peut être une option que je n’ai jamais vu ^^


Les questions de priorités sont peut-être liées au protocole (on parle de trucs vieux de 30 ans dans le cas de FTP <img data-src=" />)






FileZilla (et libfilezilla) devrait bouger sur GitHub: plus de malwares et bcp plus de contributions grace a GitHub (exemple :https://plus.google.com/+SethLadd/posts/d4XAL24Te1L ).&nbsp;







Yzokra$ a écrit :



l’interface est complètement vieillot…





Il devrait abandonner&nbsp;wxWidgets et passer a Qt (comme VLC en son temps).



C’est effectivement connu depuis longtemps, mais contrairement à The Gimp ou Nmap par exemple qui en ont été victimes, dans le cas de FileZilla c’est pleinement assumé et voulu par le(s) dév(s) de Filezilla, qui fournit donc sur Sourceforge son installateur Windows avec des adwares en toute conscience… <img data-src=" />


Une des dernières évolution,&nbsp;connexion par clé pour sftp sans passer par pageant


Heu c’est quoi ces adwares provenant de SF ? Jamais entendu parler, si on pouvait me donner quelques précisions ou articles ? <img data-src=" />


Ca n’a strictement rien à voir avec le protocole, je pense plutôt a vue de nez sans avoir étudié la chose qu’il s’agit de trhead et qu’il se sont pas cassé la tête et opter pour arrêter toutes les threads avant de pouvoir relancer les transferts.








Nioniotte a écrit :



Heu c’est quoi ces adwares provenant de SF ? Jamais entendu parler, si on pouvait me donner quelques précisions ou articles ? <img data-src=" />





ici par exemple



C’est également indiqué sur la page wikipedia de sourceforge



Chuis content qu’il existe ce logiciel, ça dépanne surement énormément de monde.

Après niveau graphique effectivement un ptit coup de bistouri serait le bienvenue

&nbsp;

mais dans le fond il fait très bien son boulot, peut être un chiffrement du fichier sitemanager.xml dans le dossier appdata, histoire que les mots de passe ne soient pas en clair <img data-src=" />








Asgardcfr a écrit :



mais dans le fond il fait très bien son boulot, peut être un chiffrement du fichier sitemanager.xml dans le dossier appdata, histoire que les mots de passe ne soient pas en clair <img data-src=" />





Oui (même si ça m’a bien arrangé une paire de fois avec une utilisatrice un peu oublieuse <img data-src=" />)



Pour l’instant bof, on pourrait croire que la librairie en question fourni de quoi gérer des connexions à travers les protocols de transfert de fichier utilisé par Filezilla… Et ben non ! Rien à voir, ça fourni juste quelques helper classe relativement classiques, qu’on trouve déjà dans plein d’autre lib/framework C/C++.



Pour l’instant en tout cas, ça n’est qu’une première version et d’après la FAQ ça va s’enrichir, probablement avec cette partie communication qui est je pense le plus utile et attendu. Mais pour le moment c’est surtout un moyen de chopper des adware (si on la télécharge par sourceforge) pour rien.


David fait de super sous-titres, et personnes ne s’en aperçoit <img data-src=" />


ouais, ces gens qui commentent l’actu au lieu de rire des blagues des redacteurs, quelle plaie&nbsp;<img data-src=" />


Tout fout le camp ! :oui2:








ort a écrit :



Pour l’instant bof, on pourrait croire que la librairie en question fourni de quoi gérer des connexions à travers les protocols de transfert de fichier utilisé par Filezilla… Et ben non ! Rien à voir, ça fourni juste quelques helper classe relativement classiques, qu’on trouve déjà dans plein d’autre lib/framework C/C++.





+1:





A typesafe, multi-threaded event system that’s very simple to use yet extremely efficientTimers for periodic eventsA datetime class that not only tracks timestamp but also their accuracy, which simplifies dealing with timestamps originating from different sourcesSimple process handling for spawning child processes with redirected I/O






  Bref, c'est tout sauf ce à quoi on pourrait penser quand on pense à FileZilla ; et ça n'apporte strictement rien de neuf (hormis utiliser une lib moins diffusée, et moins bien maintenue que d'autres ?)        






  Je vois même pas pourquoi ça mérite un article en l'état.    Je serais curieux de connaître le process et les raisons qui ont amené la rédaction à se dire que ça valait une publication.   











ort a écrit :



d’après la



 FAQ ça va s'enrichir, probablement avec cette partie communication qui        

est je pense le plus utile et attendu. Mais pour le moment c'est surtout

un moyen de chopper des adware (si on la télécharge par sourceforge)

pour rien.










 1) a voir.       



&nbsp;



 2) libcurl semble 1000 fois plus avancé, supporté, testé, maintenu, portable:    



&nbsp;



libcurl is a free and easy-to-use client-side URL transfer



  library, supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS,       

LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and

TFTP. libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading,

HTTP form based upload, proxies, cookies, user+password authentication

(Basic, Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy

tunneling and more!








  libcurl is highly portable, it builds and works identically on numerous       

platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX,

AIX, Tru64, Linux, UnixWare, HURD, Windows, Amiga, OS/2, BeOs, Mac OS X,

Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS and more...








 &nbsp;








jb a écrit :



C’est une excellente idée, mais GPLv2 pour une librairie, ça va être dur.





En quoi ?









Drepanocytose a écrit :



En quoi ?





Parce que seules des applications en GPL peuvent l’utiliser. Donc impossible de vendre ces applications.



Le distribution de logiciel libre (et donc du code source qui l’accompagne) peux être monétisé, il n’y a aucun problème à vendre un logiciel libre tant que l’on fournie le code source. L’obligation de distribution du code ne se fait qu’entre deux tiers. Ce n’est pas parce que un logiciel est distribué en GPL (v2 ou v3) que l’auteur est obligé de mettre le code source partout sur internet pour tout le monde, l’obligation de distribution du code source concerne uniquement le détenteur du code (auteur ou ayant reçus le code) et la personne(entité) a qui on le distribue.


Sinon le fichier sitemanager.xml avec les mot de passe en clair, c’est super quand on a oublier le mot de passe ssh root d’un serveur, mais beaucoup moins cool en terme de secu…


Ah ouais d’accord. Merci.




Je sais bien que c’est légalement possible. Mais dans la pratique, c’est voué à l’échec commercial. Et j’en veux pour preuve qu’aucune compagnie ne vend de logiciels open source et en vit. Elles vivent des services complémentaires qu’elles proposent à côté, comme RedHat, mais pas des logiciels eux-mêmes.

Et si j’ai tort, qu’on me contredise avec un exemple réel.


ALors ça c’est une bonne nouvelle.

Il faudrait que je creuse voir si par exemple la lib permet de faire du Sftp etc de manière simple.



Parce que les libs le permettant sont assez rares…



bref je vais creuser ça voir ce qu’il y a comme fonctions. :)





EDIT: lu les commentaires plus haut, du coup bah non ça ne correspond pas à ce que j’aurais pu imaginer pour l’instant. <img data-src=" />

Fail donc.




Je vend des logiciels libres (module pour Dolibarr ERP/CRM) en licence GPL v3.




Il est vrai que je ne suis pas une compagnie, mais un indépendant, et     



effectivement, je vend également du service autour de ce projet et des

modules qui l’accompagne, mais c’est faisable, car j’en vie correctement

depuis maintenant 4 ans.



&nbsp;Alors c'est sure si j'allais dans une boite, j'aurais probablement un plus gros salaire, et d'autre avantages,    



mais conviction et étique libriste font bon ménage avec ma petite boite actuellement.








gokudomatic a écrit :



Je sais bien que c’est légalement possible. Mais dans la pratique, c’est voué à l’échec commercial. Et j’en veux pour preuve qu’aucune compagnie ne vend de logiciels open source et en vit. Elles vivent des services complémentaires qu’elles proposent à côté, comme RedHat, mais pas des logiciels eux-mêmes.

Et si j’ai tort, qu’on me contredise avec un exemple réel.







RavenDB est open-source, mais nécessite une licence qui est payante

(c’est le premier exemple qui me vient à l’esprit, mais il y en a plein d’autres)



Sauf que libcurl quand on regarde comment faire des transferts ça reste rébarbatif. :/

C’est du C etc.



Je n’ai jamais compris pourquoi QT par exemple, n’avait toujours pas intégré dans son framework le support du sftp alors que c’est une demande ultra courante de la communauté en transfert de fichier. :/








Burn2 a écrit :



Sauf que libcurl quand on regarde comment faire des transferts ça reste rébarbatif. :/

C’est du C etc.





Pour ce que je m’en suis servi (c’est à dire pas beaucoup), il y a pas mal d’exemples pour les fonctionnalités de base ; le C est un avantage concernant la portabilité et la complexité est essentiellement inhérente au SFTP lui-même (c’est au dessus de SSH, donc notion d’autentification, de certificat, etc…).

&nbsp;









gokudomatic a écrit :



Parce que seules des applications en GPL peuvent l’utiliser. Donc impossible de vendre ces applications.







Hein? Euh, t’es confusionné, là.



Faut lire la suite, pas que le premier message. Et les contre-exemples n’ont pas tardé à venir.


A noter qu’un petit tour dans le code (du projet filezilla dans son ensemble) montre que ce qui concerne l’implémentation du protocole semble home-made, le code assez bien délimité (donc réutilisable), et basé sur GnuTLS … mais malheureusement aussi sur WxWidgets pour des classes ‘de base’ (wxString, …).



&nbsp;








gokudomatic a écrit :



Parce que seules des applications en GPL peuvent l’utiliser. Donc impossible de vendre ces applications.





??? Gné ???? Il n’est pas interdit de vendre des progs sous GPL



En option lors de l’installation ça serait top !&nbsp;


Plutôt que de réutiliser cette bibliothèque il me parait bien plus interessant d’aller voir ce que propose nodejs. en quelques lignes on peut faire des clients ftp.








Krogoth a écrit :



Plutôt que de réutiliser cette bibliothèque il me parait bien plus interessant d’aller voir ce que propose nodejs. en quelques lignes on peut faire des clients ftp.





ouais, j’aime bien NodeJs aussi, mais enfin on parle pas du tout de la même chose là.



Si tu es en train de développer une application en C/C++, tu vas pas intégrer un NodeJs dedans juste pour pouvoir faire deux transferts en&nbsp; (S)FTP. <img data-src=" />



Depuis que j’ai appris que l’explorer Windows gérait le FTP de manière simple pour une utlisation simple, et ce depuis Windows XP, je n’ai plus touché à FileZilla <img data-src=" />

C’est même mieux, tu peux faire ton affaire sur le FTP comme sur n’importe quel dossier, du coup il te manque des trucs avancés liés au FTP, mais pour simplement télécharger ou téléverser (huhu) des trucs, c’est top.


Certe, mais il est tout à fait possible de masquer ça, ou de le rendre beaucoup moins rebarbatif que des buffer and oc à traiter.



Qt nous a pas mal habitué à de bonnes choses de ce style.



Après même si ce n’est pas un bon exemple, windev le fait donc c’est réalisable de “masquer” ça.

En gros de se retrouver avec un fonctionnement proche du FTP (+ gestion certificat si tu veux ou autre, mais masquer toute la gestion du buffer et son traitement etc)








Drepanocytose a écrit :



En quoi ?



le caractère contaminant de la GPL je crois..



Filezilla, c’est pas le logiciel FTP qui sauvegarde les mot de passes et toutes les info de connection en clair ? Et qui le sais pertinemment sans jamais avoir réglé ce soucis ?



C’est pas eux aussi qui fournissent des adware/malware via l’install et sourceforge ?



Franchement ce soft c’est une poubelle, pas convaincu que ca soit une bonne idée de leur faire de la pub.



Vous utilisez quoi les gens pour le ftp ? Ca pourrait etre une bonne idée de donner des alternative pas blindé de malware.








Stel a écrit :



Vous utilisez quoi les gens pour le ftp ?&nbsp;





https://cyberduck.io/

tres populaire sous Mac, developpé en Java et C#, GPL v2+









Stel a écrit :



Vous utilisez quoi les gens pour le ftp ? Ca pourrait etre une bonne idée de donner des alternative pas blindé de malware.







Windows –&gt; Add a network location –&gt;ftp://some.site.com/folder



Et après, les outils usuels de gestion de fichiers (cmd, explorer, rsync, …)









Stel a écrit :



Vous utilisez quoi les gens pour le ftp ? Ca pourrait etre une bonne idée de donner des alternative pas blindé de malware.







Directory Opus ou Total Commander.