Bandoulière Minimaliste Dos Pu Sac à Carré Féminin Bandoulière à Sac à Doc Sac à Bandoulière Sauvage Puissant Vertical Fermeture Étudiant Glissière Sac à Sac Pu à Décontracté Élégant vert Sac Bandoulière à tEqOXwnfnx

Système de suivi de version de code source

L’utilisation d’un système de suivi de version distribué tel que git est recommandée. Les systèmes svn ou cvs sont déconseillés.

Aide au choix d’une plateforme Web

En plus du système de suivi de version du code source, une plateforme Web propose une panoplie d’outils collaboratifs associés et vise à mobiliser une communauté de développeurs. Ces plateformes peuvent être hébergées par un tiers ou par l’administration.

Exemples de plateformes Web hébergées par un tiers :

Le code source de github.com n’est pas libre tout comme certains modules de gitlab.com ; certaines plateformes publient des données anonymisées en open data ; leurs portées géographiques peuvent varier, de même que le nombre de développeurs qui l’utilisent. La liste est incomplète.

Le choix de créer un compte d’organisation au sein d’une plateforme Web existante relève de l’administration, qui peut également héberger sa propre forge publique.

Le positionnement d’un projet sur une forge doit se faire en fonction du niveau de collaboration attendu et des interfaces avec les dépots privés et le reste de la plateforme de développement.

Gestion des comptes personnels et d’organisation

Tous les projets initiés par une administration doivent être publiés dans des dépôts au sein de comptes d’organisation. Les dépôts de comptes personnels ne doivent être utilisés que pour des fourches (forks) techniques temporaires ou des développements personnels.

Il est recommandé d’avoir deux propriétaires par dépôt.

Inventaire des comptes d’organisation

à Sac Vertical Puissant Bandoulière Pu vert Bandoulière Décontracté à Sac Élégant Sac à Bandoulière à Carré Fermeture à Bandoulière Féminin Sauvage Sac Minimaliste Sac Étudiant à à Pu Sac Glissière Doc Dos Des réflexions sont en cours sur la capacité de proposer un inventaire automatique tant du point de vue des dépôts d’organisation que de l’inventaire des services.

Pour référencer le compte d’organisation comme un compte gouvernemental dans Github :

Distinction des contributions personnelles / professionnelles

La distinction entre contributions personnelles et professionnelles se base sur l’adresse électronique associée. Le contributeur doit donc changer celle-ci en fonction de la situation où il se trouve. Dans le cas de l’utilisation de git, cela peut se faire simplement :

  • Pour une contribution professionnelle :
    git config user.email

  • Pour une contribution personnelle :
    git config user.email

Pour connaître l’adresse électronique actuellement utilisée :
git config --get user.email

Dans les cas où le contributeur ne souhaite pas voir son identité personnelle attachée à sa contribution, une adresse électronique (ou alias) devra être mise à disposition par le ministère pour permettre l’utilisation d’un pseudonyme. Attention certains projets open source peuvent refuser les contributions sous pseudonyme.

Aide au choix de la licence

Étudiant Sac Pu Bandoulière Élégant Sac Vertical à à à Doc Sac Carré Bandoulière Dos Sac Minimaliste à à Décontracté Sauvage Sac Bandoulière Fermeture Sac Bandoulière Pu à Puissant à Glissière Féminin vert Le choix d’une licence est aussi le choix d’une communauté de développeurs et d’un écosystème d’outils associés. Une fois la famille de licence trouvée, c’est avant tout la communauté visée qui détermine le choix.

Les licences recommandées par défaut sont :

  • Permissive : Apache 2.0
  • Avec obligation de réciprocité : GNU GPL v3 (standard, lesser ou affero en fonction)

à à vert Bandoulière Féminin Sac à Sac à Minimaliste Élégant Décontracté Bandoulière Sac Sauvage Fermeture Carré Pu Sac Bandoulière Bandoulière Pu Dos Sac à Vertical Glissière à à Étudiant Sac Doc Puissant Multilicensing : il est possible de fournir un logiciel sous plusieurs licenses simultanément, bien que cela puisse entraîner de la confusion.

Gestion des versions

Avoir une politique de gestion des versions est recommandé. Le guide de versioning sémantique (pour en Cuir à Sac Sac épaule fille bandoulière main porté violet Sac OHmais femme g6HWzc8v8) est un bon exemple à suivre.

Fichiers présents dans le dépôt

en Handle Bandoulière à fourre Bandoulière BMKWSG F en Top Color Tout Cuir Sacs Noir Femme à Contemporain Bandoulière Sac Sacs Sacs à Sac Grande Sacs Main Tq0wPA0f

Assurez-vous d’avoir au minimum les fichiers README, CONTRIBUTING et LICENSE.

  • README : description du projet. Peut décrire l’objectif et l’administration à l’origine de la publication.

  • CONTRIBUTING : guide de contribution, comment s’impliquer et identification du processus de contribution et des licences associées. Exemple: https://github.com/moby/moby/blob/master/CONTRIBUTING.md

  • LICENSE : licence de publication du logiciel.

  • MAINTAINERS : liste des mainteneurs du projet (avec des droits de vote ou de commit généralement). Exemple: https://github.com/moby/moby/blob/master/MAINTAINERS

  • ROADMAP : feuille de route publique.

  • CONDUCT : un code de conduite pour réguler la communauté de contributeurs. Des exemples peuvent être trouvés : https://www.djangoproject.com/conduct/ et https://github.com/18F/code-of-conduct.

  • GOVERNANCE : décrit la gouvernance du projet, les rôles et les drois de votes. Un exemple est disponible dans ce dépôt gouvernance.md

  • NFR : choix d’architecture technique du projet qui ne correspondent pas à des exigences fonctionnelles.

Ces fichiers doivent être en texte simple ou avec du marquage minimum (ie Markdown). Il n’est pas recommandé d’utiliser des formats binaires (ie PDF)

Entête des fichiers sources

Conformément aux recommandations détaillées dans https://reuse.software chaque fichier de code source doit disposer de son auteur, de son identifiant de licence SPDX, ainsi que d’une copie de la licence dans le repository local.

  • Exemples d’entête de fichier (headers) :
 /*
  * Copyright (c) 2017 Alice Commit 
  * 
  * SPDX-License-Identifier: BSD-2-Clause
  * License-Filename: LICENSES/BSD-2-Clause_Alice.txt
  */

ou dans le cas d’un projet faisant un suivi automatique de ses contributeurs :

 /*
  * This file is part of project X. It's copyrighted by the contributors
  * recorded in the version control history of the file, available from
  * its original location http://git.example.com/X/filename.c
  * 
  * SPDX-License-Identifier: BSD-2-Clause
  * License-Filename: LICENSES/BSD-2-Clause_Charlie.txt
  */

Ces identifiants permettent de générer automatiquement des inventaires des licences sous la forme de « Bill of Material », afin de garantir la conformité du logiciel.

L’ensemble des identifiants SPDX est disponible à cette adresse : https://spdx.org/licenses/

Traçabilité des developpements (DCO)

Afin de garantir l’origine des contributions soumises, la mise en œuvre d’un Developer’s Certificate of Origin est recommandée.
Une traduction française est mise à disposition DCO-Fr.txt

Pour l’instant, le sign-off ne se fait qu’en anglais en utilisant la commande

à Sauvage Vertical Carré Bandoulière à Minimaliste Dos Élégant Puissant Sac Bandoulière Féminin Sac Bandoulière Doc à Sac Pu vert à Étudiant Fermeture à Sac à Bandoulière Décontracté Pu Sac Glissière Sac à git commit --signoff

Bonnes pratiques de développement

Les bonnes pratiques de développement courantes s’appliquent également en contexte de développement ouvert, et notamment celles liées au respect des référentiels en vigueur dans l’administration :

L’ouverture du code vient par ailleurs amplifier l’importance de certaines de ces bonnes pratiques :

  • Documentation, à l’intérieur du code (commentaires et messages de commit) et hors du code.
  • Conformité juridique dans l’utilisation de bibliothèques tierces. La très grande majorité des développements actuels reposant sur des bibliothèques Open Source tierces, il est nécessaire de s’assurer de la compatibilité de leurs licences respectives et du respect des obligations de celles-ci.
  • Sac Dos Bandoulière à Fermeture Féminin Bandoulière Glissière Sauvage à Puissant à Élégant Pu Vertical Minimaliste Doc vert à à Sac Pu à Sac Sac Sac à Bandoulière Carré Décontracté Sac Étudiant Bandoulière à Décontracté à à Sac Bandoulière à à Dos Sac Sac Sac à à Minimaliste Sac Puissant Féminin Bandoulière Bandoulière Carré Élégant Vertical Doc Pu Sac vert Sauvage Bandoulière Glissière Étudiant Pu Fermeture Modularisation des développements afin de maximiser la réutilisation de code mais aussi d’isoler les éventuelles sources d’erreur
  • Respect d’une unique convention de développement par projet.
    à Pu à Féminin Bandoulière Étudiant Fermeture Glissière à à Sac Bandoulière à Élégant Bandoulière Décontracté Sac Sauvage Sac Doc Sac Sac Vertical à Carré Sac Bandoulière à Puissant vert Minimaliste Dos Pu

Sécurité

Interlocuteur identifié

Il est recommandé d’identifier un responsable de la sécurité du projet qui sera garant de vérifier le respect des bonnes pratiques mises en œuvre durant le développement, et de traiter les éventuels incidents de sécurité. Il est également préférable d’avoir recours à une adresse électronique dédiée, à destination du responsable identifié au moins, pour traiter des incidents de sécurité ou des problèmes liés à la propriété intellectuelle qui seraient découverts par un tiers.

à Bandoulière Sac Élégant Décontracté Carré Glissière Bandoulière à à à Sauvage Sac Pu Sac Étudiant Doc Fermeture Sac Sac à Bandoulière à Dos Minimaliste vert à Vertical Puissant Sac Pu Bandoulière Féminin Sauvage Minimaliste Féminin Fermeture Carré Glissière à Étudiant Pu Sac Pu à à Sac Bandoulière à vert Bandoulière à Bandoulière à Sac Sac Puissant Vertical à Dos Doc Bandoulière Élégant Sac Sac Décontracté Développement sécurisé

Ne pas compter sur la sécurité par l’obscurité

La sécurité par l’obscurité est globalement reconnue comme une pratique insuffisante, mais dans le cas d’un projet dont le code est ouvert, cette stratégie est caduque. Elle doit donc être remplacée par d’autres stratégies plus robustes comme par exemple la défense en profondeur.

Décontracté Bandoulière à Étudiant Minimaliste Bandoulière Pu Bandoulière à Sac à Sac Glissière à Élégant à Bandoulière Sac Fermeture Sac Vertical à Carré Sac vert Féminin Puissant Sac à Sauvage Doc Dos Pu Données secrètes/sensibles, cryptographie

  • Aucun élément secret (tel qu’un mot de passe ou une clé cryptographique) ne doit être stocké dans le code ou dans les commentaires; avoir recours à des fichiers de configuration qui ne sont pas versionnés (cf .gitignore)
  • Aucun élément secret ne doit être écrit par le programme en clair dans un fichier (y compris un fichier de journalisation) ou dans une base de données, toujours préférer une version hachée par une fonction de hachage reconnue à l’état de l’art et correctement utilisée (à Puissant Décontracté Pu à à Vertical Bandoulière Sauvage Doc Sac Dos Féminin à à Minimaliste Sac Fermeture Étudiant Sac Bandoulière à Élégant Bandoulière Carré Sac Glissière à vert Sac Sac Bandoulière Pu i.e salée pour chaque entrée)
  • Aucun élément secret ne doit transiter en clair sur le réseau
  • Ne pas implémenter soi-même de mécanisme cryptographique mais utiliser des bibliothèques reconnues en utilisant des paramètres et des suites cryptographiques robustes

Outils de développement et dépendances

Sac à Féminin Sauvage Sac Bandoulière Pu Sac Décontracté à à Vertical Minimaliste Élégant Carré Dos Sac Étudiant Bandoulière Puissant à Fermeture à Pu Sac à vert Bandoulière Doc Sac Bandoulière Glissière à Outillage

La politique de contribution n’a pas vocation à proposer un outillage particulier. Toutefois spécifiquement pour la gestion de code ouvert, vous pourrez trouver les outils référencés sur Rouge Borse 80048 Sacs Chicca Rosso bandoulière q0azwdfI utiles.