Dépôt de notebook pour la communauté

@ribas avait suggéré jeudi que ça serait bien d’avoir un “endroit” où mettre les notebooks fait par des utilisateurs, comme lui ou @juju, afin qu’ils soient accessible à tout le monde.
On pourrait faire un dépôt git spécial appelé “community ipython notebooks”, qui serait géré essentiellement par des gens de la communauté. Pour cela on pourrait créer une Team “communauté” dans poppy-project qui n’a accès en écriture qu’à ce dépôt.
La principale question qui se pose est quelle structure de dossiers peut on mettre en place pour qu’ils soient rangés de façon claire ?
Je pense qu’on peut mettre le nom de la créature à qui il s’applique dans le nom du fichier plutôt que des les séparer par dossier, pour être plus souple (certaines démos s’applique pareillement à un ergo et un ergojr, et de même avec un torso et un humanoide, ce serait dommage d’avoir des fichiers dupliqués).
On pourrait séparer deux principaux dossiers, “démo” et “tuto/éducation”.
Un exemple:

community-ipython-notebooks/
|-- demos
|   |-- poppy-torso__basic_movements.ipynb
|   `-- poppy-torso_poppy-humanoid__start_primitives.ipynb
`-- tutorials
    `-- poppy-humanoid-vrep__how_to_control_robot_from_rest_api.ipynb
    |-- education
    |   `-- classe\ de\ seconde
    |       |-- Informatique\ et\ science\ du\ num\303\251rique
    |       |   |-- README.md
    |       |   |-- Sequence1_activite1_correction.ipynb
    |       |   `-- sequence1_activite2_correction.ipynb
    |       |-- MPS\ (maitrise\ de\ la\ pratique\ scientifique)
    |       |   `-- README.md
    |       |-- Math\303\251matiques
    |       |   `-- README.md
    |       |-- Physiques\ -\ Chimie
    |       |   `-- README.md
    |       |-- README.md
    |       |-- S.V.T
    |       |   `-- README.md  

Le dossier education est un clone de celui de juju.
Qu’en pensez vous ?

L’idée me semble vraiment bien !

Par contre, je me demande à quel point mettre le nom des créatures dans le nom du notebook va être maintenable. Est-ce qu’on ne pourrait pas détourner l’issue tracker pour utiliser les labels ? On pourrait avoir un label par créature un Snap, python, un ISN… Ensuite c’est facile de faire le tri parmi tous les notebooks.

Le point négatif est qu’en plus d’ajouter son notebook au dépôt il faut aussi faire une issue avec les bons tags.

L’idée est pas mal, mais çà rend obligatoire l’utilisation des issues github, ce qui exclue un utilisation hors ligne et cela complique l’utilisation pour les utilisateurs non familiers de github. Il faudra alors mettre directement dans le README les liens des recherches de base.
Je pense que le bon nommage et les issues peuvent s’utiliser ensemble et se complètent.
@ribas @juju qu’en pensez vous ?

Je me demande si on peut avoir un arbre par fonction ? et non par nom de “robot” ?
j’avais dans la tete un site avec des carrés… chaque carrés est une fonction comme -> https://www.raspberrypi.org/resources/

en fait j’avais un site bien mieux pour illustrer ce que je voulais dire mais je ne le retrouve plus :frowning:
mais en somme, je préfére chercher/naviguer… par nom de fonction ou type d’activités ou but éducatif
, non ?

Oui le concept de centraliser les notebooks est nécessaire. Par contre, je me demande si il est vraiment indispensable d’avoir un dépôt commun. On pourrait aussi imaginer que chacun laisse ses notebooks chez soi, sur son propre compte Github (ce qui n’empèchent pas que d’autres personnes propose des modifs via pull request) mais celui qui héberge le notebook reste le responsable des validations en cas de demande de modifications. Le problème c’est que tous les notebooks vont être éparpillés sur pleins de comptes et qu’il faut une sorte d’annuaire pour référencer les notebooks. Cependant, un site internet www.notebook-poppy.net basé sur SPIP ou autre est peut-être plus simple à gérer qu’un dépôt Github est aussi plus accessible aux non spécialistes (Github c’est quand même compliqué).

Il peut aussi y avoir un dépôt commun ET un site annuaire.

yeap, un site annuaire c’est peut etre la solution …
regarder ce site: http://maxforlive.com, les gens s’inscrivent et poste leur modules (lien vers leurs modules)… mais bon la il faut sortir la grosse artillerie au niveau site web :frowning:

je ne suis pas un expert de GIT (et je comprends que ce soit compliqué). Je ne sais pas quoi proposer mais on doit rester simple dans la solution proposé.

0- Après, cela ne me dérange pas de poster sur un git de poppy mes cours… au contraire… c’est le pot commun des notebooks , non ?

ce sera bien pour l’ensemble des “profs”, etudiants, la communauté , etc ? non ?
1- ou alors y’a til des sites qui hebergent des notebooks python ?
2- ou on remonte le wiki sur le serveur ?
3- ou on donne accès au wordpress… mais avec des privilèges restreint… la les gens on seulement la possibilité de publier la description de leur projet et un lien … cela se fait dans le monde : MAX/MSP …

j’aime bien cette dernière proposition :wink:

par contre, je préfère chercher par “fonction” et non par nom de robot… cela ne me parle pas :wink:

Exactement, les gens postes un lien vers leur notebook. Je suis en train de regarder comment faire simple, mais SPIP me parait pas mal, il gère de base le multi-utilisateur, le multi-langauge et permet de publier des articles qui pourrait être une rapide description du notebook avec un lien. L’administrateur n’a qu’à valider l’article et c’est en ligne.

oki, mais qui hebèrge le serveur SPIP ?

OVH comme www.poppy-education.org par exemple :wink:

ah oui ! ooopsssssSSSSSeeeee …

L’idée était de faire quelque chose rapidement, qui fonctionne avec le moins de boulot possible. Après on a le projet de faire un magasin d’application pour Poppy ce qui s’approche plus de l’idée de @juju, mais ça demande du boulot et ça devrait être réalisé par l’ingé recruté sous “Poppy Education 2”.
Ensuite, quelque soit la solution retenue, il faut pouvoir accéder facilement à la liste des notebooks et à leur contenu brut, pour pouvoir les télécharger tous ensemble dans un poppy.
L’idée de trouver une bonne arborescence du dépôt git et que cette arborescence va rester la même lorsqu’un utilisateur ira sur la page notebooks de son poppy. J’imagine un dossier avec les “Featured notebooks” ceux existant actuellement, et un dossier “Community notebooks” avec l’arborescence décrite plus haut.

Il faut donc à la fois une arborescence et un nommage cohérents à eux seuls, et en plus, un système qui permet plus facilement de les organiser joliment et de placer des tag et des catégories.

Au sujet de la difficulté d’utiliser git, c’est vrai que c’est un problème, mais cependant les utilisateurs novices peuvent ajouter des fichiers et le modifier via l’interface web

Ok dans ce cas là, l’idée de l’arborescence est bonne. Je vois pas trop la différence entre démos et tuto.
Je mettrais juste 2 rubriques, tuto et éducation. Ensuite Ok pour le nommage des fichiers, j’enlèverai les niveaux (2de, première etc…) en laissant juste les matières et en intégrant le niveau dans le nom du fichier.

Et la créature concernée doit apparaître car ce ne sera pas forcément compatible.

okay de mon coté aussi. :slight_smile:

Ca ne demande qu’à être remplit : https://github.com/poppy-project/community-notebooks

4 Likes

I have a notebook that scan the availables ports and show the found motors, quite useful while building and debugging the robot. Should it go there ? In a ‘debug’ section for instance ?

I added you in the “community” team of poppy-project. You can push freely to this repo.

Big thanks !!! I will try to upload some soon :slight_smile: