Mettez du libre dans
vos projets
Pierre Rudloff
C’est quoi un logiciel libre ?
4 libertés fondamentales :
— utiliser le logiciel
— étudier son fonctionnement et de l’adap...
Le libre dans l’éco-système web
Serveurs : Apache, Nginx, PHP
Navigateurs : Firefox, WebKit, Chromium
Bibliothèques : jQue...
Pourquoi utiliser du libre ?
Ne pas réinventer la roue
Utiliser du code audité
S’inscrire dans un écosystème
Abolir le cap...
Pourquoi contribuer ?
Aider les autres
Montrer ce que vous savez faire
Avoir des retours sur votre code
Profiter des améli...
Bien utiliser une
bibliothèque libre
Utiliser un gestionnaire de
paquets
Selon le langage :
— Composer
— Bower
— NPM
— CPAN
— Maven
— Etc.
Les + :
— Mise à jou...
Lire la licence
Gratuit != libre
Attribuez correctement !
Attention à la viralité
Cas particulier de l’AGPL
Signaler un bug
Avant de signaler le bug
Vérifiez que le bug n’a pas déjà été signalé !
Lisez les bug writing guidelines !
Apprenez l’angl...
Écrire un bon rapport de bug
Ça ne fonctionne pas quand j’ajoute un calendrier.
Être précis
Quand j’essaie d’ajouter le calendrier à l’URL http://example.
org/cal.ics, j’obtiens l’erreur suivante :
“Unk...
Indiquer la version et la plate-
forme
J’utilise la version 0.2.1 de votre bibliothèque avec PHP 5.3.
Quand j’essaie d’ajo...
Préciser ce qui est attendu
J’utilise la version 0.2.1 de votre bibliothèque avec PHP 5.3.
Quand j’essaie d’ajouter le cal...
Montrez votre code !
J’utilise la version 0.2.1 de votre bibliothèque avec PHP 5.3.
Quand j’essaie d’ajouter le calendrier...
Faire un patch
Bien écrire votre patch
En parler avant
Utiliser la dernière version
Lire les guidelines
Respecter les conventions de code
Patch ou pull request ?
diff -U old/ new/
Si le projet n’est pas sur
GitHub/GitLab/etc.
lnterface web
Permet de fusionner ...
Créer un plugin
Bien écrire votre plugin
Vérifiez qu’il n’existe pas déjà
Définissez clairement ses fonctionnalités
Choisissez une licence...
Faire un fork
Faire un fork
Les - :
— Difficile de garder la
compatibilité
— Du boulot d’intégrer les patchs
de sécurité
— Nécessite de ...
Bien communiquer sur votre fork
Changez le nom (et le logo)
Indiquez que c’est un fork
Décrivez les raisons du fork et ce ...
Prévoir la contribution dans
votre workflow
Utiliser du libre prend du temps
Il faut le prévoir dans le budget.
Laisser du temps à vos développeur.euse.s pour contrib...
Créer un logiciel libre
Faciliter la réutilisation
Publiez le code sur GitHub ou GitLab
Découpez votre projet en modules
Facilitez l’installation
Faciliter la contribution
Écrivez de la documentation et des guidelines
Utilisez des standards reconnus (PSR, JSHint, etc....
Bibliographie
— Produire du logiciel libre, Karl
Fogel
— Option libre, Benjamin Jean
— Libres conseils
— Utopie du logicie...
Prochain SlideShare
Chargement dans…5
×

Mettez du libre dans vos projets web

1 006 vues

Publié le

De nos jours, la plupart des projets web intègrent des bibliothèques sous licence libre, cependant peu de professionnels y contribuent en retour. Nous allons donc voir comment contribuer à des projets libres sans forcément y passer trop de temps.

Publié dans : Internet
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 006
Sur SlideShare
0
Issues des intégrations
0
Intégrations
53
Actions
Partages
0
Téléchargements
2
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Mettez du libre dans vos projets web

  1. 1. Mettez du libre dans vos projets Pierre Rudloff
  2. 2. C’est quoi un logiciel libre ? 4 libertés fondamentales : — utiliser le logiciel — étudier son fonctionnement et de l’adapter à ses besoins — le redistribuer — l’améliorer et redistribuer ces améliorations
  3. 3. Le libre dans l’éco-système web Serveurs : Apache, Nginx, PHP Navigateurs : Firefox, WebKit, Chromium Bibliothèques : jQuery, Bootstrap, Symfony CMS : WordPress, SPIP, Drupal
  4. 4. Pourquoi utiliser du libre ? Ne pas réinventer la roue Utiliser du code audité S’inscrire dans un écosystème Abolir le capitalisme (ou pas)
  5. 5. Pourquoi contribuer ? Aider les autres Montrer ce que vous savez faire Avoir des retours sur votre code Profiter des améliorations des autres
  6. 6. Bien utiliser une bibliothèque libre
  7. 7. Utiliser un gestionnaire de paquets Selon le langage : — Composer — Bower — NPM — CPAN — Maven — Etc. Les + : — Mise à jour simplifiée — Suivi des dépendances — Gestion des conflits — N’encombre pas votre dépôt
  8. 8. Lire la licence Gratuit != libre Attribuez correctement ! Attention à la viralité Cas particulier de l’AGPL
  9. 9. Signaler un bug
  10. 10. Avant de signaler le bug Vérifiez que le bug n’a pas déjà été signalé ! Lisez les bug writing guidelines ! Apprenez l’anglais
  11. 11. Écrire un bon rapport de bug Ça ne fonctionne pas quand j’ajoute un calendrier.
  12. 12. Être précis Quand j’essaie d’ajouter le calendrier à l’URL http://example. org/cal.ics, j’obtiens l’erreur suivante : “Unknown field X-GOOGLE-HANGOUT”
  13. 13. Indiquer la version et la plate- forme J’utilise la version 0.2.1 de votre bibliothèque avec PHP 5.3. Quand j’essaie d’ajouter le calendrier à l’URL http://example. org/cal.ics, j’obtiens l’erreur suivante : “Unknown field X-GOOGLE-HANGOUT”
  14. 14. Préciser ce qui est attendu J’utilise la version 0.2.1 de votre bibliothèque avec PHP 5.3. Quand j’essaie d’ajouter le calendrier à l’URL http://example. org/cal.ics, j’obtiens l’erreur suivante : “Unknown field X-GOOGLE-HANGOUT” Je pense que les champs inconnus devraient juste être ignorés.
  15. 15. Montrez votre code ! J’utilise la version 0.2.1 de votre bibliothèque avec PHP 5.3. Quand j’essaie d’ajouter le calendrier à l’URL http://example. org/cal.ics, j’obtiens l’erreur suivante : “Unknown field X-GOOGLE-HANGOUT” Je pense que les champs inconnus devraient juste être ignorés. Voici mon code : […]
  16. 16. Faire un patch
  17. 17. Bien écrire votre patch En parler avant Utiliser la dernière version Lire les guidelines Respecter les conventions de code
  18. 18. Patch ou pull request ? diff -U old/ new/ Si le projet n’est pas sur GitHub/GitLab/etc. lnterface web Permet de fusionner plusieurs commits
  19. 19. Créer un plugin
  20. 20. Bien écrire votre plugin Vérifiez qu’il n’existe pas déjà Définissez clairement ses fonctionnalités Choisissez une licence (http://choosealicense.com/) Utilisez le semantic versioning (http://semver.org/) Documentez-le (code + installation) !
  21. 21. Faire un fork
  22. 22. Faire un fork Les - : — Difficile de garder la compatibilité — Du boulot d’intégrer les patchs de sécurité — Nécessite de le maintenir sur le long terme Les + : — Plus de liberté — Pas besoin de discuter
  23. 23. Bien communiquer sur votre fork Changez le nom (et le logo) Indiquez que c’est un fork Décrivez les raisons du fork et ce qui change
  24. 24. Prévoir la contribution dans votre workflow
  25. 25. Utiliser du libre prend du temps Il faut le prévoir dans le budget. Laisser du temps à vos développeur.euse.s pour contribuer à des projets libres ? Financer les projets que vous utilisez souvent ?
  26. 26. Créer un logiciel libre
  27. 27. Faciliter la réutilisation Publiez le code sur GitHub ou GitLab Découpez votre projet en modules Facilitez l’installation
  28. 28. Faciliter la contribution Écrivez de la documentation et des guidelines Utilisez des standards reconnus (PSR, JSHint, etc.) Ne mordez pas ! Soyez inclusif.ve.s !
  29. 29. Bibliographie — Produire du logiciel libre, Karl Fogel — Option libre, Benjamin Jean — Libres conseils — Utopie du logiciel libre, Sébastien Broca

×