barmic a écrit 10455 commentaires

  • [^] # Re: ouai

    Posté par  . En réponse au journal Données vs Code. Évalué à 3.

    Le premier est l'utilisation de monades pour représenter le mot de passe validé, un peu comme si en JavaScript la fonction de validation retournait une valeur de la forme: {result:"MY-PASSWORD"} ou bien {error:"MESSAGE"}. Avec OCaml, j'utiliserais par exemple la monade Maybe.

    Hum… Il me semble que c'est équivalent au Option/Optional que l'on trouve un peu partout. Ça sert à représenter des erreurs potentiels (et ça se manipule avec du patern matching pour contraindre à gérer le cas d'erreur). Mais une fois le cas d'erreur passé, c'est une string toute simple non ?

    Le second candidat est l'utilisation de types fantômes, auxquels on peut penser comme à une annotation pour le compilateur qui permet d'exposer certains attributs ou se souvenir des traitements subis par une valeur.

    Je suis loin de comprendre, mais c'est une représentation de l'état courant en suivant tout le chemin de la donnée ça me semble un peu violent.

    Dans le cas particulier des mots de passe, je préférerais utiliser un type abstrait de donnée, qui permet de limiter les traitements sur les mots de passe, interdisant par exemple à ceux-ci d'être imprimés dans la sortie du programme (pas de conversion en type string) et sont effacés de la mémoire aussitôt que possible.

    Ça me semble représenter au mieux ce que je pense. En quoi est-ce que c'est un type abstrait ?

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: ouai

    Posté par  . En réponse au journal Données vs Code. Évalué à 3.

    J'en ai pas la moindre idée (oui oui c'est balbutiant dans ma tête, je n'ai pas encore pratiqué ce genre de choses). Là comme ça je te dirais que c'est pas un besoin primordiale : l'objectif n'est pas d'avoir une bibliothèque de ce genre de sous-type que l'on utilise, mais plutôt de construire toi-même le type dont tu as besoin.

    C'est donc utile uniquement si tu as toi-même besoin de cette composition. Tu as besoin de tableau de paire, de tableau trié et de tableau de paire trié. Ça réduit l'usage de ce genre de composition à mon avis.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: ouai

    Posté par  . En réponse au journal Données vs Code. Évalué à 3.

    Comme je ne le pratique pas (encore) c'est balbutiant, mais pouvoir à minima faire des alias de types et éviter les casts entre le type racine et l'alias.

    L'exemple qui me vient à l'esprit : on te fourni une chaîne de caractère qui pourrait être un mot de passe, mais pour que ça en soit un, il faut passer par la fonction validPasswd() qui prend une chaîne de caractère et sort un password (qui est un type alias de chaînes caractères).

    Tu as 3 façons de faire ça :

    • en orienté objet tu fait de l'encapsulation, ça peut être joli mais c'est assez lourd (si tu veux étendre cet usage un peu partout ça t'oblige à créer beaucoup de classe)
    • en impératif à la Ada : tu peux faire des alias et tu peux en plus leur donner des contraintes (tu peux coder l'invariant sur tes mots de passe directement dans le type)
    • en fonctionnel : c'est là que j'ai le plus de lacune, mais si je ne m'abuse tu va faire exactement ce que je décris plus haut. Tu crée un type et une fonction qui te sort le type en question

    Ça paraît pas forcément génial comme ça mais en poussant vraiment plus loin le truc, tu peux faire en sorte que tout ton algo consiste en une résolution du type. Par exemple tu as un tableau d'entier (ton type initial) et tu va créer un type tableau d'entier trié (ton type de sortie) et seul tes méthodes de tris sortent ce type précis.

    Pour pouvoir aller loin dans tout ça, tu as pleins d'outils très utiles :

    • l'inférence de type
    • les unions de type
    • etc

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: ouai

    Posté par  . En réponse au journal Données vs Code. Évalué à 3.

    même si au final elles sont employées dans un programme impur

    Heureusement que le programme est impur ! Il faut bien que son résultat apparaisse quelque part :)

    J'abonde totalement en ce qui concerne la testabilité infiniment supérieure des fonctions pures[…]

    Je me fais de la pub pour un vieux journal (4 ans déjà), qui parle précisément de cette problématique (l'article de John Carmack n'est plus disponible, mais la traduction de developpez si) : Adopter un style de programmation fonctionnel.

    Depuis j'ai moi aussi fais mon bout de chemin et maintenant ce que j'aimerais c'est pouvoir faire plus de choses avec les types, mais les langages généralistes que je côtoient n'ont pas ce qu'il faut pour gérer ça.

    Concernant le problème des drones, ne pourrait-on pas aussi le réduire, peut-être certes partiellement, à un énoncé classique d'optimisation sous contraintes ?

    Tu parle de programmation linéaire ? Très certainement, mais c'est peu probable que ce soit le plus efficace (il trouve la solution la plus efficace, mais sa recherche ne l'est pas)

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Dommage

    Posté par  . En réponse au journal Microsoft muselle son robot devenu nazi en 24 heures. Évalué à 4.

    Or il s'agit là d'une «S.A» interagissant avec des humains, pour l'instant de manière écrite cependant culturelle. Et non d'un bot jouant à la guerre sur un plateau ou bien un bot analysant des milliards de recoupements de liens, ou encore d'un bot influençant la hiérarchie des titres des médias. Bien que pour tous cela soit important qu'ils puissent devenir OpenSource, pour un interagissant directement avec les humains l'opensource devrait être une norme.

    J'ai rien compris…

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: WebAssembly

    Posté par  . En réponse à la dépêche Firefox 45 ESR et autres actualités mozilliennes. Évalué à 6.

    Je n'ai absolument pas confiance en une machine virtuelle […]

    C'est irrationnel (il y a beaucoup de VM largement plus éprouvées que seccomp qui est assez récent et encore relativement peut utilisé), mais surtout ça ne se remplace pas l'un l'autre et ça n'est pas en opposition.

    1. Tu va prendre ta VM et le faire tourner dans une sandbox c'est ce que fais chrome avec la VM JS.
    2. Tu as des besoins bien plus fins que ce que te permet l'OS. Si tu as un script qui tente un accès à une ressource la question n'est pas forcément de l'autoriser ou l'interdire. Ça peut être de bloquer le script d'envoyer une notification à l'utilisateur qui l'accepte ou non. Ça peut aussi être une extension qui prend la décision. Tu veux avoir la possibilité de faire des partages de mémoire en lecture seule pour améliorer les performances ce qui n'est pas toujours possible selon la technique de conteneur que tu utilise, etc

    Bref pour des questions de souplesse, il vaut probablement mieux gérer les choses en 2 niveaux (au moins) une partie système et une partie applicative. Cela permet aussi de fournir un niveau de sécurité même si le système ne fourni pas tout ce dont tu as besoin. Aujourd'hui tu es fier parce que linux a seccomp mais ça a mis 2 ans à arriver dans linux soit 4 ans après l'arriver de chrome et encore bien plus après firefox et peut être que demain on se dira que finalement seccomp ce n'est pas si bien et qu'il faudra passer à tame.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: WebAssembly

    Posté par  . En réponse à la dépêche Firefox 45 ESR et autres actualités mozilliennes. Évalué à 4.

    Il y a des problématiques spécifiques qui rendent à minima tinyc invalide (pour les autres je ne connais pas assez). Il faut sandboxer le code à exécuter (tu peux toujours passer par les sandbox système comme les capabilities, mais ce n'est probablement pas assez fin (tu veux pas interdire, tu veux que l'utilisateur accepte le comportement par exemple).

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: WebAssembly

    Posté par  . En réponse à la dépêche Firefox 45 ESR et autres actualités mozilliennes. Évalué à 4.

    Sur le backend oui, sur mobile on garde uniquement le langage et on jette presque tout le reste (en tout cas on vire JavaME qui se contente d'usages très limité pour smartcard) et surtout le plugin Java a toujours était une daube mal maintenu et très mal géré personne ne pleurera sa disparition (si Oracle a fait une chose de bien c'est ça). Il reste Java Webstart… Quelqu'un s'en sert ?

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: WebAssembly

    Posté par  . En réponse à la dépêche Firefox 45 ESR et autres actualités mozilliennes. Évalué à 6. Dernière modification le 28 mars 2016 à 10:34.

    Aune VM lourde mais pas autant, par du code natif (non parce que ça fait quand même un paquet d'années que le JIT de la JVM est bien plus mûr que wasm…)

    Il faut voir de quoi on parle et de ce qu'on veut dire :

    • la JVM est légère mais la bibliothèque standard qui vient avec est sacrément lourde à charger. C'est une partie de l'intérêt de jigsaw.
    • HotSpot dépote, mais il requière un temps de chauffe (il inline pas les méthodes immédiatement par exemple), ça matche pas très bien à mon avis avec les usages du web. Sur serveur tu as un code que tu fais tourner indéfiniment, que les premières secondes ne soient pas aussi performantes que tout le reste tu t'en fou. Sur le web bien souvent tu va télécharger une partie de l'application la faire tourner une fois, puis passer à une autre partie de l'application et donc un autre bout de code, la VM n'a pas le droit de se laisser du temps pour optimiser le code.

    Bref faut sortir des phrases « c'est performant » / « c'est lourd » et regarder dans le détails quels sont les contraintes et comment y répondre.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: WebAssembly

    Posté par  . En réponse à la dépêche Firefox 45 ESR et autres actualités mozilliennes. Évalué à 3.

    Au final, le point le plus important est peut-être qu’en matière de code on ne part pas non plus de zéro et que tout ce qui est fait se base sur l’existant, déjà extrêmement bien optimisé. Ça intéressera peut-être aussi les éditeurs d’Atom et de Brackets pour rendre leur application plus performante.

    Je suis mal informé, mais webassembly utilise une autre VM que celle de JS. Donc va falloir voir comment on fait le lien avec JS. Soit on implémente les moteurs JS actuels en webassembly soit on crée des passerelles entre la VM WebAssembly et la VM JS. Il faut attendre de voir comment ça s'implémente et comment node accueil WebAssembly pour faire ce genre de conjecture.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: WebAssembly

    Posté par  . En réponse à la dépêche Firefox 45 ESR et autres actualités mozilliennes. Évalué à 10.

    Les développeurs d'application (pas tous) s'en fichent un peu du web, de faire du contenu. Ils veulent de l'interactif qui fonctionne partout pareil et dont les fichiers soient des URL. Ne faut-il pas faire comme Redox-OS (http://linuxfr.org/users/tankey/journaux/redox-os), que tout soit URL de base directement sur son bureau ?

    Non, ils veulent une application utilisable par qui veut sans passer par une installation. Je ne vois pas du tout ce qu'apporte redox pour ça. Tout est url n'a pas vraiment de lien avec des applications web. Tout n'est pas que du CRUD.

    A mon sens en grande partie à cause des logiciels privateurs.

    Donc les machins comme python, ruby, perl, js, lua, lisp, parrot,… tout ça c'est de la daube fait par des gens qui n'en ont rien à faire du libre ?

    Le fait d'utiliser une machine virtuelle, un bytecode ou tout ce genre de choses vient d'un besoin de portabilité. L'objectif c'est de représenter dans un langage les abstractions suffisantes pour que son application puisse fonctionner aussi bien sur n'importe quelle machine utilisant la plateforme cible.

    Globalement, je crois plus en la sécurité d'un logiciel tournant sur plusieurs CPU, sur plusieurs OS que de devoir faire confiance à une plate-forme unique, qui en plus des erreurs de design (inévitable sur le long terme), aura aussi ses bogues (inévitables aussi) mais plus que critique vu leur probable impact…

    Il faut vraiment commencer à s'inquiéter alors.

    La diversité me semble faire toujours du bien sur le long terme (cf ADN en biologie) même si cela complique les choses à l'instant t.

    Non sur le long terme, on se rend surtout compte que c'est cyclique. On veut de la diversité à fond les ballons. Puis on se rend compte que c'est pas si parfait que ça, que l'on ne mutualise pas vraiment le travail, que la compatibilité bouffe énormément de temps de travail et de performance donc on mutualise au taquet pour ensuite se rendre compte plus tard que ce n'est pas si parfait que ça…

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Traduction faite

    Posté par  . En réponse au journal Comment devenir programmeur. Évalué à 4.

    Je pense qu'il parlait de l'intérêt de la communication entre personnes[…]

    De la part de zenitram, ça ne peut qu'être une boutade. La communication ce n'est pas qu'une histoire de langage. 2 interlocuteurs peuvent très bien parler la même langue, si c'est pour se sortir des vacheries sans chercher le compromis, il n'y a pas de communication.

    Et ce ne sont pas quelques projets assez énormes pour être hyper attractifs malgré leur dictateur bienveillant qui ne sait pas communiquer qui vont me contredire.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: restons classique...

    Posté par  . En réponse au journal Quelles extensions pour votre Firefox?. Évalué à 4.

    curl -vvv 'http://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js' -o /tmp/toto
    * Hostname was NOT found in DNS cache
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
      0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 216.58.211.74...
    * Connected to ajax.googleapis.com (216.58.211.74) port 80 (#0)
    > GET /ajax/libs/angularjs/1.4.9/angular.min.js HTTP/1.1
    > User-Agent: curl/7.38.0
    > Host: ajax.googleapis.com
    > Accept: */*
    > 
    < HTTP/1.1 200 OK
    < Vary: Accept-Encoding
    < Content-Type: text/javascript; charset=UTF-8
    < Access-Control-Allow-Origin: *
    < Timing-Allow-Origin: *
    < Date: Tue, 08 Mar 2016 07:20:55 GMT
    < Expires: Wed, 08 Mar 2017 07:20:55 GMT
    < Last-Modified: Thu, 21 Jan 2016 14:25:26 GMT
    < X-Content-Type-Options: nosniff
    * Server sffe is not blacklisted
    < Server: sffe
    < X-XSS-Protection: 1; mode=block
    < Cache-Control: public, max-age=31536000, stale-while-revalidate=2592000
    < Age: 1594592
    < Accept-Ranges: none
    < Transfer-Encoding: chunked
    <
    

    Remarque le Expires: Wed, 08 Mar 2017 07:20:55 GMT dans la réponse. Ton navigateur n'est pas sensé aller le télécharger si souvent que ça. Si tu va sur 2 sites différents avec la même URL au second, ton navigateur ne devrait pas le retélécharger.

    Faire du tracking en créant en CDN, ça ne me paraît être un super plan pour Google.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Note de nageur

    Posté par  . En réponse au journal geeker en faisant du sport. Évalué à 4.

    Idem sauf que je fais pas des séances de 2h (1h grand max) et que je me suis jamais vraiment intéressé à regarder les aller et venus dans le bassin.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Show me the code

    Posté par  . En réponse au journal L’homme orchestre, partie 2 : écrire du code (en Java). Évalué à 3.

    C'est ce que fait hibernate pour la bean validation : https://github.com/hibernate/hibernate-validator/blob/master/engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/hv/EmailValidator.java

    Email::Valid en fait un usage encore plus violent : http://cpansearch.perl.org/src/RJBS/Email-Valid-1.198/lib/Email/Valid.pm (ce dernier va assez loin puisqu'on lui demander de vérifier les enregistrements DNS du domaine).

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Trollons

    Posté par  . En réponse au journal Comment 11 lignes de code ont provoqué un #npmgate. Évalué à 5.

    En quoi est-ce que c'est au sysadmin de jouer avec les dépendances de l'application ? Si tu as une telle faille, ça revient forcément au développeur de faire une nouvelle livraison. On ne peux pas reprocher d'un coté au développeur de ne pas correctement gérer les dépendances de son application et de l'autre faire ce que tu veux avec ces même dépendances.

    Lorsqu'il s'agit de bibliothèques système wide oui le sysadmin as tout pouvoir pour mettre à jour en suivant ce que lui propose l'OS.

    Quand tu requière le support du développeur (que ce soit pour un projet spécifique ou via un éditeur plus ou moins gros), tu te met à dos au mieux les développeurs au pire le contrat qui les lie à toi.

    De la même manière que ça crispe les adminsys de voir des utilisateurs installer leur « propres » logiciels, ça crispe les développeurs de voir le sysadmin retoucher n'importe quoi dans l'application.

    Soit tu fais du devops et il n'y a pas de frontière dev/sysadmin, soit il vaut mieux rester dans son domaine de compétence et communiquer avant de jouer ainsi.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Trollons

    Posté par  . En réponse au journal Comment 11 lignes de code ont provoqué un #npmgate. Évalué à 10.

    De toute façon l'autre solution c'est de faire comme go : on compile statiquement et on rend littéralement impossible une gestion système wide des dépendances. On empêche aussi le sysadmin de toucher aux dépendances. C'est une manière violente de faire un gros fuck au monsieur qui veut une gestion « propre » des dépendances :)

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Autres exemples rigolos

    Posté par  . En réponse au journal Comment 11 lignes de code ont provoqué un #npmgate. Évalué à 4.

    Donc il faudrait en choisir un et le module devrait venir avec en dépendance le compilateur qui va bien. C'est pas hyper pratique et de ton coté tu ne peux pas instrumenter le code des modules sans les forker ce qui demande de les renommer, de les republier, de gérer ces patchs,…

    À moins qu'il soit possible de le faire (de manière utile) sans instrumenter l'ensemble du code.

    Il me semble que c'est une particularité importe du JS pour la question des dépendances.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Autres exemples rigolos

    Posté par  . En réponse au journal Comment 11 lignes de code ont provoqué un #npmgate. Évalué à 4.

    Est-ce que les minifiers JS savent virer du code mort ? Parce que sinon il y a une vrai raison à découper en petits modules qui vont être fusionnés par grunt, gulp ou webpack plutôt que d'utiliser un gros truc dont on utilise finalement pas grand chose.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Autres exemples rigolos

    Posté par  . En réponse au journal Comment 11 lignes de code ont provoqué un #npmgate. Évalué à 2.

    Avec le JS, le moindre projet va dépendre de centaines de développeurs indépendants qui mettent leur code à jour chacun de son côté, avec des licences potentiellement exotiques, qui peuvent ajouter des bugs et affecter en cascades d'autres dépendances intermédiaires, etc.
    Comment peux-tu avoir la moindre garantie de qualité si tu ne maîtrises absolument rien au niveau des dépendances ?

    Logiquement tu ne t'intéresse qu'à tes dépendances direct et si tu utilise ces dépendances c'est que tu pense qu'elles sont assez malines pour faire de même. C'est l'unique façon de faire si tu ne veux pas forker tes dépendances pour jouer à mettre à jour une dépendance de ta dépendance directe.

    Il n'y a rien de complexe à savoir quelle dépendance n'est pas à jour dans tes dépendances et ce même si tu en avait plusieurs centaines de milliers. Prévoir la migration vers une version suivante qui casse ça n'arrive pas tous les jours et tu n'a pas besoin de le faire dans la seconde (pour les mises à jour de sécurité c'est différent, mais ça casse rarement).

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Autres exemples rigolos

    Posté par  . En réponse au journal Comment 11 lignes de code ont provoqué un #npmgate. Évalué à 2.

    Avec le JS

    C'est impossible avec pip ?

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Dépendances

    Posté par  . En réponse au journal Comment 11 lignes de code ont provoqué un #npmgate. Évalué à -3.

    Presque c'est snprintf qui fait le boulot. Le padding ça ne sert pas qu'à l'affichage.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Trollons

    Posté par  . En réponse au journal Comment 11 lignes de code ont provoqué un #npmgate. Évalué à 4.

    Mais vu que l'install n'est pas documentée (c'était plus simple de fournir un unique container Docker) c'est la galère.

    1. WTF ? Tu va faire quoi ? Redéployer à l'arrache sur un environnement différent de celui sur le quel ça a était testé ? « Ah c'était dans du docker ? c'est pas grave je redéploie bare metal sur ma distrib' qui va bien et j'imagine que ça tourne ».
    2. Le dockerfile est une documentation exécutable qui est largement plus fiable qu'un document difficile à maintenir et à tester.
    3. En tant que dev, je me suis déjà fait appeler à 1 ou 2h du mat'. Contrairement au sysadmin, c'est pas dans mon contrat.

    Cette mode de vouloir outrepasser les versions de la distribution et avoir du frais est à mon sens récente et est arrivée avec node.

    JS a bon dos. cpan, gem, pip,… sont plus vieux que node. Pareil pour les trucs comme maven.

    Ma réponse va sembler simpliste mais : tu code ton appli pour qu'elle tourne sur Debian 8 et c'est tout.

    Il y a rien sur Debian (comme sur n'importe quelle autre distrib'). Dès que tu as un besoin un peu pointu ta dépendance tu l'a pas. Rencontré un bug ou avoir une fonctionnalité manquante dans une lib ça arrive aussi très fréquemment. Il y a un moment où tu fais un choix, entre coder en plus pour te contraindre à une plateforme donnée soit utiliser quelque chose de plus récent. Mon choix est très vite fait et si l'exploitant n'est pas content je me plis à ce qu'il souhaite : je lui construit un paquet de la distrib', crée un playbook, un conteneur,… Tout ceux que j'ai rencontré ne voulaient aucune de ses solutions (soient il ne connaissent pas soit ils ne veulent pas apprendre).

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Comment ça marche ?

    Posté par  . En réponse au journal Partage: de ownCloud (décentralisé) à Syncthing (distribué). Évalué à 4.

    Ça a l'air tout de même sacrément relou à utiliser, il te faut créer un graphe complet entre toutes les machines qui sont censées partager un dossier.

    Je n'ai pas essayé btsync, mais je présume (vu ce que propose bitorrent) que le partage est plus simple.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • # Comment ça marche ?

    Posté par  . En réponse au journal Partage: de ownCloud (décentralisé) à Syncthing (distribué). Évalué à 3.

    Au final si j'ai 3 machines A, B et C et que je souhaite synchroniser le dossier /foo/bar de la machine A.

    • J'associe un dossier de B:/truc à A:/foo/bar
    • J'associe un dossier de C:/machin à A:/foo/bar

    Tout est cool.

    Maintenant j'ai les machines A et B d'allumés => B:/truc == A:/foo/bar
    Puis j'éteins A et j'allume C.

    Est-ce qu'il y a une synchro entre B:/truc et C:/machin ?

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)