Skip to content

Commit

Permalink
Organisation (ia-z#36)
Browse files Browse the repository at this point in the history
* feat: template chapitre

* debug: ignore organisation dir

* feat: ajout du doc expliquant le processus d'onboarding au sein du projet ia-z.

* feat: ajout du document expliquant les bonnes pratiques d'utilisation de git pour le projet ia-z

* feat: ajout de l'image d'illustration d'un git worflow main/branche/sous-branches

* feat: ajout de la partie onboarding/organisation

* feat: ajout des commandes de bases utiles pour une contribution au projet ia-z

* fix: correction de typos et ajouts d'explications pour le gitflow

* fix: modification du doc d'onboarding en fonction des remarques de Pierrot

* fix: ajout .DS_STORE au sein du gitignore

* fix: modification du gitflow en fonction des remarques de Pierrot

* fix: ajout .DS_STORE au sein du gitignore

* fix: remove .DS_Store file

* Update onboarding.md

Modifications mineures (ponctuation, orthographe ....) et un peu de reformulations

* feat: ajout du CR du jour

* feat: ajout du CR du jour

* feat: ajout des ressources github sur workflow

* fix: change typo onboarding

Co-authored-by: PierrotLC <[email protected]>
Co-authored-by: Studio axs <[email protected]>
  • Loading branch information
3 people authored Apr 23, 2022
1 parent 348e824 commit 2c4f58d
Show file tree
Hide file tree
Showing 11 changed files with 328 additions and 6 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ _build/
# Virtual env
.venv/
venv/

.DS_Store
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@

---



## Presentation
**iA-Z** est une plateforme en ligne offrant un enseignement complet en data science. Elle est destinée à un public ayant un bagage en mathématiques, python et sciences informatiques de niveau supérieur ou égal au BAC.

Expand All @@ -44,9 +42,14 @@ iA-Z est conçue pour fournir des enseignements destinés à un public déjà se
---
## Organisation

- Pour suggérer un nouveau cours, ouvrez un ticket en sélectionnant le template de proposition de cours.
- Si un cours contient une erreur, ouvrez un ticket avec le template d'erreur, ou soumettez une PR directement.
- Tout le reste se passe dans l'espace de discussion du dépôt.
- Nouveau membre du projet ia-z ?

* Accèdez au document d'onboarding : ia-z/organisation/onboarding.md
* Accèdez au document de bonnes pratiques git : ia-z/organisation/workflow_git.md
* Accèdez au template d'écriture de cours : ia-z/organisation/template_chapitre.md

- Pour suggérer un nouveau cours ou pour toutes suggestions, réagissez à ce fil de discussion pour nous en faire part : https://github.com/ia-z/ia-z/discussions/categories/ideas ou créez une issue détaillée avec le bon tag associé.
- Si un cours contient une erreur ou vous rencontrez un problème technique, ouvrez une issue dédiée puis soumettez une PR directement.

---
## Communauté
Expand Down
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
title: IA-Z
author: Communauté IA-Z
logo: logo.jpeg
exclude_patterns: [_build, "**.ipynb_checkpoints", .venv]
exclude_patterns: [_build, "**.ipynb_checkpoints", .venv, venv, organisation]

# Force re-execution of notebooks on each build.
# See https://jupyterbook.org/content/execute.html
Expand Down
File renamed without changes.
File renamed without changes.
36 changes: 36 additions & 0 deletions organisation/CRs/18042022_CR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
CR ia-z - réunion 18.04.2022

Next steps identifiées :

-Création d’une roadmap globale permettant d’avoir un aperçu de l’ensemble des plans de chaque cours. Au sein de cette roadmap, chaque issue reprend l’intégralité du plan détaillé pour un chapitre donné. (Bsh [Orga + Times Series] & Adrien/CairOn [Big Data] & Pierrot [ML]).

- Création d’une roadmap pour chaque chapitre (création d’issues, de backlog..). Dans ces roadmaps dites “locales” associée à un tag donné, on pourra suivre la rédaction de l’ensemble des cours en attribuant des tâches à des personnes. (Bsh [Times Series] & Adrien [Big Data] & Pierrot [ML]).

- Harmonisation des cours : reprendre l’ensemble des cours rédigés et s’assurer qu’ils respectent bien le template d’écriture de cours :

- en terme de format

- en terme de fond : utilisation d'anglicisme pour nos cours ? jongler entre le FR & ENG ? full FR ?

- ixer une date/heure précise pour la réunion fin avril.

- Voir si Amine, Tao, Lactor sont dispo pour la réunion fin avril/début mai.

- Recrutement de nouvelles personnes en fonction de leur intérêt pour le projet. Pas besoin pour le moment de faire un message général.

- Licence et droits (Bsh & Pierrot).

- Se fixer un point bsh & pierrot & adrien & studioaxs pour la réunion fin avril. Faire des slides expliquant le :

- choix de la licence pour le projet

- présenter l’organisation générale, les modules

- ce qui s’est fait récemment : roadmap ML exemple à suivre, gitflow, présenter les issues, bonnes pratiques et conventions de nommages/commit ..

- second onboarding : nouvelles / anciennes personnes au sein du projet

- remotiver les troupes + sondage pour savoir qui est chaud ou pas pour continuer le projet
définir un chap leader par équipe.

- filtrer les personnes si besoin (qui ne souhaitent plus s’investir)
File renamed without changes.
Binary file added organisation/imagess/workflow_git.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
62 changes: 62 additions & 0 deletions organisation/onboarding.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Onboarding

Bienvenue dans le projet IA-Z !

# Objectif du projet

Produire un enseignement autour de l’IA, particulièrement des techniques de machine learning en français. L’idée est de traiter de manière complète les fondamentaux de la discipline ainsi que les principaux domaines d’application (NLP, RL, …).
Les cours seront mis à disposition librement sur un site internet.

# Petit historique du projet

L’idée est née en juillet 2021, sur une proposition de Anis Ayari (Defend Intelligence) puis a été globalement portée par une petite équipe de 8 personnes : @PierrotLeCon, @Bsh, @Tao, @Adrien, @Studioaxs, @Amine, @Lactor et @Emmanuel. Depuis novembre 2021, nous avons déterminé les cours que nous voulions écrire, construit le plan des disciplines à aborder et commencé à rédiger les cours. Depuis février 2022, nous avons partagé le projet sur le serveur Defend Intelligence dans le but de recruter des volontaires motivés pour partager leur temps et leurs connaissances afin de contribuer au projet.

Nous souhaitons préciser tout de même que nous n’avons pas la prétention d’être des experts dans tous ces domaines, nous sommes seulement des passionnés motivés par l’envie de partager nos connaissances. N’hésitez pas à nous signaler toute erreur ou incohérence que vous pourriez trouver dans le cours.

# Organisation

L’ensemble des cours est rassemblé sur un repo Github à l’adresse suivante : https://github.com/ia-z/ia-z
Les membres fondateurs du projet s'occupent de la gestion globale du projet (gestion du Github, décisions importantes, …)

(Remarque #1 : A terme ce serait bien que des personnes dans la core-team ou hors core-team puissent s'occuper de la communication des cours et prendre part aux décisions importantes).

L’ensemble des cours seront écrits en markdown ou sur notebook (ils seront ensuite compilés et publié sur une page Github.io). Un template d'écriture des cours a été réalisé pour vous permettre de vous concentrer uniquement sur la rédaction des cours.

Nous essayons de nous réunir, tous ensemble, au moins une fois par mois pour présenter nos avancées respectives, débattre des prochains objectifs, ..

Nous nous fixons donc des échéances d’environ un mois à chaque nouvel objectif. La limite n’est pas stricte, mais il est demandé, par respect pour les autres, d’essayer de tenir ses engagements ou de faire part de ses difficultés ou de son impossibilité de finir un objectif.

Il y a beaucoup de manières de participer au projet, tout le monde peut apporter sa pierre à l’édifice et nous permettre d’avancer. Voici les principales tâches que l’on peut relever :

* Rédaction des cours
* Relecture et correction (du contenu, de la mise en page, orthographique) des cours
* Organisation : Aider à accueillir les nouveaux membres, définir les bons usages pour l’utilisation du git, aider à préparer les réunions à venir …
* Améliorer l'homogénéisation des cours : Les cours étant écrits par plusieurs personnes et à différents moments, il est nécessaire d’uniformiser le vocabulaire, la mise en page, …

A votre arrivée dans le projet, vous serez libre de choisir la tâche qui vous intéresse le plus qu’il s’agisse d’organisation, d’un chapitre en particulier, …

N’hésitez pas à faire part à l’équipe de toute remarque ou suggestion éventuelle à propos du projet au sein du channel projet-ia-z au sein du discord. Nous serons ravis de débattre de nos visions respectives du projet pour toujours faire un peu mieux.

# Vision actuelle du projet

Nous voulons à terme proposer des cours sur un site internet qui traitent des grands domaines de l’IA, particulièrement du Machine Learning. Notre volonté est de traiter de manière complète les fondamentaux de chaque discipline au travers de cours écrits et d’exercices pratiques régulièrement répartis dans les chapitres pour ne pas seulement enseigner des connaissances mais inculquer des compétences.
Étant donné que le projet est un projet sur le long terme qui n’en est qu’à ses débuts, il a été choisi de se focaliser en premier lieu sur la production des ressources écrites, en commençant par les fondamentaux. Les cours, écrits en markdown, seront simplement compilés sur une Github page. Lorsque nous aurons produit suffisamment de cours de manière suffisamment complète nous pourrons nous attaquer aux exercices. De même, les cours seront très liés à la programmation, mais nous avons choisi de nous concentrer pleinement sur les notions théoriques pour l’instant.

# Comment publier un cours

En premier lieu, il faut informer le reste des membres de votre équipe que vous voulez travailler sur l’un des chapitres au programme. Vous pouvez également soumettre vos propositions de plan et de chapitres à aborder. Chaque cours est dirigé par un membre possédant des connaissances solides sur le sujet : un chap' leader. Lorsque vous avez son aval, vous pouvez commencer à rédiger.
Lorsque vous obtenez un premier jet pertinent, vous pouvez alors le charger sur Github au travers d’une Pull Request (PR) et inviter les autres membres à relire votre production.
Votre document sera ainsi relu, corrigé, puis, quand il sera satisfaisant, sera ajouté au reste des cours sur le repo Github.

Pour en savoir plus, n'hésitez pas à consulter le guide de bonnes pratiques sur git à cet effet.

# Comment aider sans connaissances particulières ?

Vous pouvez être d’une aide précieuse sans être un génie des maths ou de l’informatique. Toute aide à la relecture, à la mise en page des documents est la bienvenue. Les cours seront écrits par plusieurs personnes, il faut donc uniformiser le vocabulaire et la mise en page au fil des chapitres. Il faut également organiser les réunions, écrire les comptes rendus, …
Les cours seront également agrémentés de schémas, d’images etc, vous pouvez participer à la recherche d’image libres de droits, à la productions de graphiques, d’animations etc en fonction de vos compétences.

Bref, tout le monde est le bienvenu sur ce projet, ce qui compte le plus, c’est votre motivation et votre envie de contribuer à ce beau projet pédagogique !

# Je rencontre un soucis d'installation ou technique, à qui dois-je m'addresser ?

N'hésite pas à en parler au sein du discord ou à créer une issue au sein du github du projet pour que la communauté puisse t'aider. La bienveillance est une valeur très importante pour nous, aucunes questions n'est "stupides" ou trop simple !
60 changes: 60 additions & 0 deletions organisation/template_chapitre.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Nom du chapitre
Ce document est un template exemple pour l'écriture d'un chapitre `ia-z`.
**Le nom du chapitre ne doit pas comprendre le numéro du chapitre, simplement son nom.**
Les chapitres sont écrits en format *markdown* ou *jupyter notebook*.
Ces chapitres sont automatiquement compilés par *jupyter-book* afin de générer le site web.
Afin que la compilation se déroule bien, et que les chapitres soient cohérent entre eux, il faut suivre
quelques règles de style.

Il n'est pas nécessaire de faire un sommaire du chapitre, ils sont générés automatiquement par *jupyter-book*.

## Nom de la première section
Les sections en *markdown* commencent par des \#. Le nombre de \# définit le niveau de la section
(2 \# est une section principale, 3 \# est une sous-section d'une section principale...).
**Ne pas sauter de niveau de section**, c'est-à-dire ne pas passer d'une section à 1 \# à une section à 3 \# par exemple...
La section à 1 \# est réservée pour le titre du chapitre.

### Nom d'une sous-section
Exemple d'une sous-section.

* Exemple d'une liste à puce en *markdown*
* Blip bloup

## Mieux visualiser votre chapitre
Pour avoir un retour visuel sur le chapitre que vous êtes en train d'écrire, vous pouvez *fork* le git sur votre ordinateur
et compiler en local le site. Vous aurez alors un retour direct sur la façon dont votre chapitre s'insère dans le site et sur son apparence.
Pour en savoir plus sur la compilation du site web, vous pouvez regarder le [tutoriel jupyter-book](https://jupyterbook.org/start/build.html).
N'hésitez pas non plus à demander de l'aide sur le discord !

## Insertion d'images
Pour insérer des images, il est possible de suivre ce format :

:::{figure-md} nom-figure-md
<img src="chemin.png" alt="Texte alternatif">

Description de l'image, commentaire, source, etc...
:::

Il est possible de renvoyer vers une image du chapitre avec un [lien](#nom-figure-md).
Ces images n'apparaîtront pas sur le git car ce n'est pas une instruction *markdown* de base, mais elles apparaîtront bien sur le site
après la compilation par *jupyter-book*. Pour en apprendre plus sur l'insertion d'images, vous pouvez consulter [la page dédiée sur leur site](https://jupyterbook.org/content/figures.html).

## Formules mathématiques
Les formules mathématiques n'apparaîssent pas sur le git, [pour des raisons de sécurité](https://stackoverflow.com/questions/11256433/how-to-show-math-equations-in-general-githubs-markdownnot-githubs-blog).
Mais lors de la compilation du site, les formules apparaissent bel et bien ! Vous pouvez donc faire des formules de manière classique comme en LateX :

$$
\frac{\pi}{4} = 4 \text{Arctan}(\frac{1}{5}) - \text{Arctan}(\frac{1}{239})
$$

Encore une fois, vous pouvez compiler de votre côté pour visualiser votre chapitre au sein du site.

## Conclusion
* Les conclusions se font par une liste à puce
* Les idées principales du chapitre devraient être rappelées ici

## Sources
* Il faut absolument citer les sources dont vous vous êtes inspirés pour écrire le chapitre.
* De plus, vous pouvez y mettre des liens vers des ressources supplémentaires pour aller plus loin.
* [Mettez les sources dans une liste à puce](https://www.youtube.com/watch?v=dQw4w9WgXcQ).
* Evitez de mettre simplement les liens, essayez de trouver un petit titre à votre source.
Loading

0 comments on commit 2c4f58d

Please sign in to comment.