FAQ pour développeurs

De Traduction du Wiki diaspora* (non officiel)
Aller à la navigation Aller à la recherche

Nous avons commencé à ajouter les questions que nous voyons souvent sur cette page, mais elle ne couvre pas tout. Si vous avez d'autres questions, le meilleur moyen d'obtenir une réponse rapidement est de nous rendre visite sur IRC (Internet Relay Chat). L'IRC est un grand réseau de discussion décentralisé qui a précédé le World Wide Web. La majeure partie de la première vague de logiciels libres (lire : Linux) a été développée en utilisant IRC comme canal de communication. C'est toujours le cas aujourd'hui.

Si vous êtes novice en matière de développement open source, IRC fonctionne comme des services d'abonnement tels que Campfire et Slack, qui sont des interfaces fantaisistes comparés à IRC. Les liens vers les canaux IRC et les listes de diffusion se trouvent en bas de cette page.

Comment puis-je obtenir les dernières sources ?

Faites un pull de la dernière version de github.

   git pull

Installez toutes les mises à jour des gems :

   bin/bundle install --full-index

Comment puis-je revenir à un état totalement nettoyé de la base de données ?

   bin/rake db:drop db:create db:migrate

Comment obtenir des informations de débogage ?

Vous pouvez utiliser la commande

   tail -f log/development.log

pour consulter le journal en mode développement.

Comment ajouter des services pour un utilisateur ?

Tout d'abord, activez les services dans config/diaspora.yml. Ensuite, utilisez la console rails :

   bin/rails c
   irb(main):001:0> User.where(username: "YOURUSERNAME").first.services << Service.initialize_from_omniauth({"provider" => "SERVICETOENABLE", "uid" => 2, "info" => {"nickname" => "NICKNAME"}, "credentials" => {"token" => "token", "secret" => "not_so_much"}})

YOURUSERNAME est votre nom d'utilisateur diaspora* (pas le nom complet), SERVICETOENABLE est facebook, tumblr, twitter ou wordpress et NICKNAME est un pseudonyme que vous voulez avoir pour ce service.

J'ai trouvé un problème avec la fédération, comment puis-je le déboguer ?

Nous fournissons en fait une configuration spéciale pour tester la communication de serveur à serveur, qui produit des journaux contenant uniquement les événements relatifs à la fédération. Cela implique de faire tourner deux instances Diaspora* que vous pouvez utiliser pour recréer des circonstances réalistes et les logs des deux côtés sont enregistrés dans un seul fichier. Voir journal de fédération.

De quels outils aurai-je besoin pour faire du développement ?

Vous pouvez écrire du Ruby, du JavaScript et modèle/ balisage stylistique avec n'importe quel éditeur, utilisez simplement votre éditeur préféré qui fonctionne le mieux pour vous.

Pour les développeurs qui ont contribué à un dépôt appartenant à un projet diaspora* avec au moins deux pull requests fusionnées avec succès, vous pouvez demander une licence de projet open source pour RubyMine avec l'aimable autorisation de JetBrains. Envoyez votre demande pour la clé de licence - assurez-vous d'inclure des détails afin que vos contributions puissent être vérifiées à partir des commits. La licence est valable pour un an à la fois.

Si vous utilisez RubyMine, assurez-vous d'installer le plugin RuboCop qui vous aidera beaucoup à obtenir le bon style de code avant de le soumettre en tant que pull request.

Si vous utilisez Emacs, vous pouvez installer rubocop-mode et flycheck pour la même fonctionnalité.

Guides de style

Gardez à l'esprit que la base de code n'a pas été transposée dans la nouvelle version du guide de style. Donc si vous touchez un code plus ancien en contribuant, assurez-vous de le mettre en conformité avec nos guides de style.

Vous pouvez en savoir plus sur les guides de style ici et sur Discourse.

Et si ma question ne trouve pas de réponse ici ?

Wiki

Vérifiez les autres pages du wiki dans Catégorie:Développeurs, en particulier celles listées sur la page d' Accueil sous Développeurs.

Canal IRC

IRC est le meilleur moyen d'obtenir une réponse rapidement. Cliquez sur le lien pour rejoindre le canal dans une nouvelle fenêtre de navigateur. Vous pouvez également télécharger et utiliser un client IRC tel que Colloquy pour OS X, XChat pour GNU/Linux ou mIRC pour Windows.

Rejoignez-nous sur #diaspora sur irc.libera.chat.

Discourse

Nous avons une instance Discourse. Son audience est légèrement différente de celle des canaux IRC, donc si vous ne trouvez pas de réponse à votre question sur IRC, vous pouvez essayer ici. Il existe une catégorie d'assistance aux développeurs.

FAQ pour développeurs web

Si vous développez un site web externe et que vous souhaitez savoir comment ajouter des fonctionnalités liées à diaspora à votre site, vous pouvez consulter la FAQ pour développeurs web.