Jappix recrute !

Posté par (page perso) . Modéré par Davy Defaud. Licence CC by-sa
20
31
oct.
2011
Communauté

Plate‐forme sociale basée sur XMPP, le projet Jappix connaît un large succès depuis son lancement en avril 2009.
Aujourd’hui, les fondateurs n’ont plus beaucoup de temps pour poursuivre activement le développement du projet et font ainsi un appel à contributions.

Aujourd’hui, plus que jamais, le projet Jappix a besoin de moyens. Jappix, c’est un projet jeune, dynamique, qui a pour but de créer un réseau social libre sur lequel il n’y a plus de censure et où chacun est maître des informations qu’il publie. La première version stable (1.0) est annoncée pour juin 2012.

Afin de réussir notre pari, nous, fondateurs de Jappix (Valérian Saliou et moi‐même, Julien Barrier), avons aujourd’hui besoin de l’aide de développeurs. Nos ambitions pour la première version stable sont importantes, et aujourd’hui nous n’avons pas le temps de réaliser seuls toutes les fonctionnalités que nous avons planifiées.

Au programme, nous souhaitons développer la compatibilité avec les réseaux sociaux existants basés sur XMPP, à savoir BuddyCloud et MOVIM. Ceci afin de ne pas enfermer l’utilisateur dans notre plate‐forme et lui permettre de choisir son interface, tout en pouvant communiquer avec des amis sur d’autres plates‐formes. Ainsi, améliorer la XEP-277 représente la majeure partie du travail à effectuer.

Concernant les fonctionnalités qui toucheront directement les utilisateurs, nous avons pour projet de développer un profil public propre pour chaque utilisateur et de gérer la vie privée de ce côté‐là (par défaut, celui‐ci serait désactivé). Ceci s’appellerait Jappix me. Le fait de pouvoir publier chez un contact en le « taggant », est aussi intéressant à mettre en place. Ce sera fait avec la compatibilité BuddyCloud. Enfin, les albums sont la fonctionnalité attendue pour Jappix 1.0. Nous souhaitons permettre aux utilisateurs de créer des albums photo et d’en gérer les droits.

Si vous sentez que vous avez les capacités de développer l’une de ces choses, vous serez le bienvenu. Pour ma part, je me chargerai du design qu’il faut simplifier, moderniser et rendre plus attractif.

Si vous avez des capacités en JavaScript, si vous connaissez plus ou moins XMPP, nous avons besoin de vous. Que vous souhaitiez participer à la traduction, à la structure HTML 5 du logiciel, ou encore rapporter des bogues, vous serez le bienvenu dans l’équipe de Jappix. Ne restez pas simples de clients des réseaux sociaux, investissez‐vous et participez à un réseau libre, ouvert, jeune et qui évolue. Entrez dans le réseau !

  • # Installation ?

    Posté par (page perso) . Évalué à 1.

    J'ai testé sur ma machine perso. J'ai pas compris (et pas cherché à comprendre) à quoi sert le serveur BOSH, mais en utilisant le serveur officiel jappix.com, ça semble fonctionner.

    Au bout de quelques temps, je n'ai que des erreurs de connexion et je ne peux plus rien faire à part me déconnecter / reconnecter.

    J'ai testé la messagerie instantanée via Jappix, ça marche, en tout cas avec le robot de recherche DuckDuckGo.

    Je donnerais bien un coup de main, mais je ne suis pas développeur PHP (je sais faire, mais je n'aime pas... ouh le troll!! ;), les traductions françaises et anglaises semblent ne pas nécessiter d'aide...

    Du coup... que puis-je faire ?

  • # :(

    Posté par (page perso) . Évalué à 6.

    les réseaux sociaux existants basés sur XMPP, à savoir BuddyCloud et MOVIM

    :(. Quand je pense qu'on était voisins aux Reumeuleuleuh

    Bon dommage que Valérian quitte la partie en tout cas, bonne continuation à lui (et à Jappix).

    • [^] # Re: :(

      Posté par (page perso) . Évalué à 1.

      Bon dommage que Valérian quitte la partie en tout cas, bonne continuation à lui (et à Jappix).

      Hm ?! C'est écrit dans le journal ?

      • [^] # Re: :(

        Posté par . Évalué à 1.

        Non, mais Julien et moi-même l'avons annoncé.

  • # Quelques précisions fort utiles

    Posté par . Évalué à 10.

    Je me permets de compléter la dépèche présente par mes quelques recherches:

    Jappix en tant qu'outil

    Jappix est un client web qui communique avec un serveur XMPP PubSub, d'où la compatibilité avec ses collègues, tout aussi clients.

    Pour rappel, PubSub est une spécification XMPP dont le but est de définir un protocole de diffusion de contenu selon le principe Publish/Suscribe.

    Autrement dit on sépare les writers et les readers. Les premiers envoient du contenu dans une catégorie (un topic), et les readers souscrivent à ces catégories. Charge au serveur de notifier les readers qu'un nouveau contenu a été soumis dans les catégories qui les concerne.
    Actuellement, PubSub est implémené par le serveur XMPP ejabberd (mes relecteurs se disputent quand à savoir si c'est le seul, contentons nous de signaler que celui là le supporte).

    Les clients de réseaux sociaux XMPP tel Jappix utilisent PubSub pour créer des nodes conformes à la spec. Tout ce qui est commentaire, articles, salons est stocké coté serveur via ces nodes. Seuls les fichiers restent coté client et font l'objet d'un transfert HTTP pour être partagés.

    En tant que client Web, Jappix utilise principalement PHP et javascript (bien qu'un contributeur semble vouloir éliminer le code PHP pendant les vacances de noël, la plus grosse partie du code est en JS). Les bibliothèques JS utilisées sont JSJaC et JQuery.
    Jappix en est à sa version 0.8 et dans 9 résolutions de bugs, arrivera à la version 0.9 selon la roadmap.

    La plateforme de dev du projet

    Jappix en tant qu'équipe

    Bon, et si on allait voir qui se cache derrière l'outil ? on trouve les deux fondateurs : Julien Barrier qui nous a rédigé la présente dépêche, et qui s'occupe vraisemblablement de l'interface et du design général. Valérian Saliou, qui lui s'occupait du code, et qui a visiblement dû abandonner le projet il y a peu. Jappix a donc perdu son principal contributeur, un coup dur. :/

    Et à coté ? J'ai pu rencontrer les acteurs français habituels du développement de XMPP. Bien sur des habitués du salon de discussion gajim , deux des développeurs de poezio, et de manière générale une ambiance dynamique, sympathique, en un mot : libriste.

    Le salon XMPP de la communauté, aussi accessible par le mini chat de [http://jappix.org/], regardez en bas à droite.

    En bref

    C'est clairement un de ces projets qui méritent tous nos encouragements, une occasion rêvée de s'impliquer dans un projet libre si vous y songiez déjà sans savoir où aller.

    Personnellement je ne peux pas, je suis déjà engagé, mais tous mes encouragements à l'équipe qui a déjà abattu un travail impressionnant pour ce projet prometteur.

  • # Disponibilité et communication

    Posté par (page perso) . Évalué à 4.

    Un truc qui m'a souvent frustré avec le projet Jappix, c'est que sur le salon de discussion aucun développeur du projet n'est jamais là. Si tu signales un bug ou demandes une fonctionnalité sur CodingTeam, le truc passe parfois en "wontfix" sans vraiment d'explication et sur le salon personne ne sait, pareil si tu proposes ci ou ça, si tu demandes pourquoi ci ou ça... De temps en temps, Vanaryon passait furtivement sur le chat, et disparaissait 2 minutes après. En bref, la communication a toujours été difficile, les processus opaques, à tel point que j'ai peu à peu arrêté de fréquenter le salon et d'essayer de contribuer, car même les habitués ne savaient pas grand chose sur ce qui se passait, l'information étant dans les mains d'une personne. J'ai aussi entendu cette critique de la part d'autres gens.

    Pour que le projet grandisse et accueille des contributeurs, le fait qu'il soit libre en termes de licence du code ne suffit pas : il doit aussi absolument être ouvert dans ses processus et espaces de développement.

    • [^] # Re: Disponibilité et communication

      Posté par . Évalué à 1.

      Peut-être par soucis de temps, je ne passe pas ma journée sur le salon, et que dans une vie il n'y a pas qu'une seule chose à savoir l'info.

      En ce qui concerne la communication, je reconnaît qu'elle est difficile, mais il n'y a pas que par XMPP que l'on peut communiquer (le mail j'y répond toujours).

      Les rapports de bug, c'est dans un soucis d'organisation étant donné que c'était en général moi seul qui les codais. Si t'étais pas content d'une chose, il te suffisait de le faire toi-même et de soumettre un patch, aucun soucis ;)

  • # puisqu'on parle de dev...

    Posté par (page perso) . Évalué à 5.

    ... ben je suis allé voir le code.
    Et franchement (et sans méchanceté) ça ne m'a pas donné envie de participer.
    J'ai juste pris quelques fichiers au hasard, et j'ai deux ressenti : le php est vraiment codé à l'ancienne, on peut à peine parler de fonctions (ou alors j'ai mal lu). Le javascript est lui aussi mal codé / organisé.
    Si je prend l'exemple du javascript : pas d'objet (spa obligatoire, ok), pas de namespace (donc c'est comme si on codait uniquement avec des méthodes globales), une foultitude de commentaires inutiles :

    // Put the two strings into lower case
    a = a.toLowerCase();
    b = b.toLowerCase();
    
    // Create an empty array
    var results = new Array();
    
    // Return the results array
    return results;
    
    

    En passant, en général en javascript on recommande d'instancier les nouveaux objets par {} et non new Object() et les nouveaux tableaux par [] et non new Array()

    Mon message n'est pas à prendre mal hein, c'est juste ce qui m'a frappé en jettant un coup d'oeil au code.

    C'est le genre de projet qui, à mon avis, mériterait de se baser sur un framework existant (ou d'organiser beaucoup mieux son code). Y compris pour la partie javascript.
    Et malheureusement personnellement ça ne me donne pas envie tellement j'ai l'impression d'être plongé dans du code d'il y à 5-10 ans au moins...

    Bon courage et bonne chance pour la suite tout de même (je ne connaissais pas jappix, et ça me semble relativement intéressant tout de même)

    • [^] # Re: puisqu'on parle de dev...

      Posté par (page perso) . Évalué à 3.

      Pardon, mais je ne comprend pas ce type de commentaire.

      Je suis allez un peu regarder le code PHP (le JS, je n'y connais pas grand chose) et je n'ai pas trouvé grand chose à redire. A première vue, je n'ai pas trouvé de redondance ou des choses vraiment bizarres, bref, pas de WTF en vue.

      Alors ok, ce n'est peut-être pas codé à la dernière mode, dans le dernier framework qui pèse 200Mo pour afficher un "Hello World!". Il n'y a peut être pas d'utilisation d'un AbstractOfAbstractFactoryOfSingleton mais au moins ça a l'air de faire ce que ça promet et c'est plutôt facile à lire.

      Ce qui est un peu énervant, c'est qu'il suffit de regarder dans le code de projet très connu pour trouver des choses vraiment très sales. Donc, s'attaquer à un projet pas encore très connu, c'est un peu tomber dans la facilité (et un mail à l'auteur aurait sans doute suffit).

      • [^] # Re: puisqu'on parle de dev...

        Posté par (page perso) . Évalué à 7.

        Oula, va falloir commencer par une mise au point.

        s'attaquer à un projet pas encore très connu, c'est un peu tomber dans la facilité

        à aucun moment je ne me suis attaqué au projet. Et le fait qu'il soit connu ou non n'entre pas en compte.

        un mail à l'auteur aurait sans doute suffit

        Le sujet c'est de "recruter" des développeurs. Désolé de donner mon avis.

        Donc je reprend : le JS est pas bien codé, c'est un fait. Ne pas utiliser de namespace par exemple (je ne parle pas d'objets) est une grossière erreur qui peut couter cher, surtout si le code devient important et qu'il y a plusieurs contributeurs.
        Le php, je trouve que ça fait vraiment "code de petite application perso" et pas gros projet. Comme dit PtitFox en dessous, le problème c'est qu'à moyen terme c'est difficilement maintenable, surtout à plusieurs.
        Pas besoin d'un gros framework inutile, juste plus de structure.
        Après c'est surement aussi une question de goût, mais par exemple le mélange php/html dans un même fichier est pour moi une erreur. Ca passe pour un site web classique, mais pour une application qui se veut sérieuse, c'est pas du tout ma façon de faire.

        Donc voilà, le projet demande des devs, en tant que dev j'ai regardé, et j'ai justement souhaité faire un commentaire en essayant d'être constructif plutôt que de juste refermer la page sans rien dire.
        Après j'ai pas d'avis sur le soft en lui même, juste sur le code (et surtout le js, étant donné que je passe beaucoup, beaucoup de temps à en écrire).

        Ha oui, et la remarque sur les commentaires c'est juste que le choix des commentaires en dit souvent long sur les personnes qui codent.

        • [^] # Re: puisqu'on parle de dev...

          Posté par (page perso) . Évalué à 2.

          L'objet de mon commentaire était mon incompréhension fasse à ce que j'ai pris (de travers) pour une attaque en règle.

          le fait qu'il soit connu ou non n'entre pas en compte.

          Je comprend maintenant mieux. (et désolé d'avoir dis que c'était facile)

          Mais bon, cela démontre bien qu'il y a un besoin urgent de développeurs sur ce projet !

    • [^] # Re: puisqu'on parle de dev...

      Posté par . Évalué à 4.

      J'ai parcouru le code source tout en testant les fonctionnalités de l'application.
      Rien à redire sur le concept et les fonctionnalités du projet. De même que la prise en main de celui-ci.
      Bravo pour ce projet qui mérite toute son attention.

      Je rejoins le commentaire de CrEv. Il est vrai que j'ai également été surpris par le manque d'objets. C'est à long terme que cela va se faire ressentir quand d'autres développeurs vont vouloir participer au projet. Le procédural devient un frein lorsqu'un projet est maintenu par une communauté de développeur.

      Le code devient bien plus clair et réutilisable via des objets. Quand bien sûr le langage utilisé le permet.

      Bonne chance pour la suite à toute l'équipe de Jappix.

    • [^] # Re: puisqu'on parle de dev...

      Posté par (page perso) . Évalué à 2.

      merci pour ce commentaire, c’est toujours intéressant de savoir ce qui ne va pas ;-)
      J’ai rapporté un bug, j’attends juste qu’un changement soit fait du côté du code pour avoir les mêmes fonctions. Étant en classe prépa, je n’ai quasiment pas le temps de faire ça, d’autant plus que le JS, je comprends plus ou moins le code, mais je serai pas capable de faire quelque chose.

      J’attends juste que ça soit fait, d’où l’intérêt de l’annonce. Et si quelqu’un se lance là dedans, peut être que ça pourra attirer plus de gens. ;-)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.