le social coding pour la creative technologie
TRANSCRIPT
UX-REPUBLIC // Fondation Creative Technology
Le social coding est une approche de développement de logiciels qui met l'accent sur la collaboration formelle et informelle.
Bien qu’on associe souvent le social coding à des sites de code sociaux comme GitHub ou Bitbucket, le terme décrit aussi tout environnement de développement qui encourage le débat et le partage de code.
La richesse du social coding c’est de réussir à rassembler sur un même projet des profils variés : Développeurs Front, Back, mais aussi parfois des UX et des UI. Chaque utilisateur doit pouvoir contribuer à son niveau.
Le social coding oui mais encore...
UX-REPUBLIC // Fondation Creative TechnologieUX-REPUBLIC // Fondation Creative Technology
Depuis maintenant plus de 10 ans, le social coding est au coeur de la création des plus gros projets web.
Au point même d’inquiéter certains géants de l’informatique et de les pousser à revoir leur modèle économique...
Node.js créé par Ryan Lienhart Dahl en 2009 constitue actuellement une des plateformes de développement collaboratif les plus actives.
Nous voulons que l’esprit social coding soit au centre de notre fondation.
Coder, apprendre, faire de la veille et partager en équipe
Pouvoir contribuer au projet sans contrainte de temps ni d’espace grâce à GitHub
Travailler plus vite en utilisant des frameworks existants et des modules open sources
UX-REPUBLIC // Fondation Creative Technology
UX-REPUBLIC // Fondation Creative Technology
Linus Torvalds, créateur de Linux, développe Git, un système de gestion de code source
UX-REPUBLIC // Fondation Creative Technology
2005
2008 GitHub nait de la volonté commune deTom Preston-Werner et Chris Wanstrath de résoudre la problématique de la collaboration décentralisée dans le cadre du développement.
Il manquait à Git une plate-forme collaborative, GitHub est venu combler ce manque.Il est désormais possible, pour n’importe quel développeur de créer un dépôt, d’y héberger un projet, et de le proposer à la Communauté.
GitHub les origines
GitHub en un schéma
/myproject
branche master
branche integration-frontbranche webservice-back
Le gourou relit, valide le code et fusionne les deux branches
Commit / Push
Fork
/myproject-copy
UX-REPUBLIC // Fondation Creative Technology
Pull request au gourou vers master
15 millions de contributeurs dans le monde,
38 millions de projets,
Plus de 8000 contributions pour les développeurs les plus actifs
GitHub en chiffres
Les grosses communautés permettent de pérenniser un projet, d’assurer sa stabilité pour qu’une fois arrivé à maturité il puisse être exploité dans un environnement de
production
UX-REPUBLIC // Fondation Creative Technology
+700 contributeurs
+800 contributeurs
UX-REPUBLIC // Fondation Creative Technology
# Être efficace avec les frameworks et modules collaboratifs
Le développeur qui connaît tout n’existe pas il a forcement besoin du travail d’autres programmeurs.
Les frameworks et les modules collaboratifs
UX-REPUBLIC // Fondation Creative Technology
Il pourra s’aider d’un framework qui va regrouper un ensemble de briques de code prêtes à l’emploi pour démarrer son projet. En cas de besoins il pourra également faire appel à des modules.
Les avantagesGain du temps pour développerBase d’architecture robuste, testéeÉvolution constante et mises à jour régulièresCode plus accessible
UX-REPUBLIC // Fondation Creative Technology
Framework et modules collaboratif dans une webapp
FRAMEWORKModules obligatoires
à express
Crypto, pour la sécurité
Gulp la trousse à outil du front
EJS, pour le template de page html
Autres modules
Passeport, pour l’authentification Pro
jet C
reat
ive
Tech
nolo
gy
Attention aux dépendances entre modules !Récemment la dépublication d’un module Node.js a entraîné l'échec du build de nombreux projets open-source.La triste petite histoire d’Azer Koçulu.
Les inconvénients des frameworks et modules collaboratif
UX-REPUBLIC // Fondation Creative Technology
Qui dit open source, dit Cyber attaque !Les modules très populaire open sources sont la cible d’attaque de pirate.Si un module est infecté des milliers d’App peuvent tomber
Frameworks et effet de modeIl y a google derrière c’est forcement bien
C’est une méthode de travail dans laquelle deux développeurs travaillent ensemble sur un même poste de travail. Il y a toujours un codeur et un observateur dont les rôles peuvent parfois s’inverser.
Le concept de pair programming
UX-REPUBLIC // Fondation Creative Technology
L’observateur assiste le codeur en décelant les imperfections dans le code, il vérifie aussi que le code implémente correctement le design, et il peut également suggérer des alternatives de développement (optimisations).
Au sein d’une entreprise le développement en binôme encourage le transfert de compétence. C’est un élément clé de l’Extrem programming inclu dans la méthode Agile.
UX-REPUBLIC // Fondation Creative Technology
Les inconvénients
“Générateur du stress, surtout si un esprit de compétition s’instaure entre les deux développeurs.
Coûteux en temps pour les entreprises, deux personnes sont
mobilisées sur une seule tâche.”
Les avantages
“Travail de meilleure qualité.Montée en compétence des développeurs juniors.Déblocage plus rapide des problèmes complexes.
Intégration native à l’agilité.”
UX-REPUBLIC // Fondation Creative Technology
“Apprentissage, entraide, partage, convivialité, aujourd’hui le social coding et devenu le Leitmotive
des programmeurs heureux.”
“Composant centrale de notre fondation le social coding va stimuler notre créativité et nous apporter des méthodes et des outils de travail collaboratifs intéressant pour progresser dans
nos projets de développements.”
UX-REPUBLIC // Fondation Creative Technology
DIGITAL THINKINGAgence de Design d’interfaces & Centre de formation
blog.ux-republic.com
Let’s talk about UX ! [email protected] - + 33 1 44 94 90 70 - @UXRepublic