├── CONTRIBUTING.md
├── MODS.md
├── README.md
└── _config.yml
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Guide de contribution
2 |
3 | Le guide de contribution a pour objectif d'éclaircir et apporter une réponse claire à **comment contribuer à l'évolution de la communauté** tout en permettant une participation et un vote **collectif des membres**.
4 |
5 | Chaque changement ou ajout sur les **dépôts du GitHub ES-Community** ou sur le **groupe Discord** devront donc être préalablement soumis par le biais d'une ou plusieurs issues (ou pull-request) sur le répertoire Code-of-conduct.
6 |
7 | Chaque demande devra impérativement respecter les règles suivantes :
8 |
9 | - Être en accord avec l'esprit et le thème de la communauté.
10 | - Respecter les lignes directrices du code de conduite (Respect, etc.).
11 | - L'intégralité des mentors de la communauté doit **avoir fourni un vote** positif, neutre ou négatif. (À noter que les votes des mentors **n'ont pas plus de valeur que les autres**).
12 | - Les changements ne pourront pas être accordés et mis en place **dans un délai inférieur à une semaine**.
13 |
14 | > Une demande peut être émise par tout membre de la communauté (**les demandes ne sont pas restreintes aux mentors, administrateurs ou fondateurs**).
15 |
16 | # Validation et mise en place du changement
17 |
18 | Une fois le délai réglementaire dépassé, un administrateur pourra valider la demande uniquement si :
19 |
20 | - Les règles du `Guide de contribution` sont respectées.
21 | - L'ensemble des votes positifs est supérieur à un ratio de `50%`.
22 |
23 | Il existe néanmoins **des exceptions** :
24 |
25 | - Les administrateurs et mentors de la communauté ont le droit de création et modification des salons publics dans les catégories `Autres` et `Évènements`.
26 | - La création de salons privés pour les mentors ou le Bot.
27 | - Les changements apportant des corrections orthographiques.
28 |
--------------------------------------------------------------------------------
/MODS.md:
--------------------------------------------------------------------------------
1 | # Code de modération
2 | Le non-respect du code de conduite peut être qualifié selon trois niveaux : **mineur**, **neutre** et **grave**.
3 |
4 | Tout manquement au code de conduite des utilisateurs non-membres sera considéré comme **grave**.
5 |
6 | ## Violations
7 | ### Mineure
8 | Les cas de non-respect mineurs sont :
9 | * Erreur sur le formatage du texte dans les salons possédants des [règles spécifiques](./README.md#règles-spécifiques-à-certain-salons).
10 | * Être impliqué dans une discussion dérivant du sujet du salon et/ou de la communauté.
11 | * Inviter un membre sans préalablement lui fournir le lien du code de conduite.
12 |
13 | Un administrateur sera donc en droit de lever un avertissement **amical** envers le membre concerné par l'infraction.
14 |
15 | ### Neutre
16 | Les cas de non-respect neutres sont :
17 | * Comportements et discussions prohibés par le code de conduite.
18 | * Non-respect de l'orientation technologique d'autrui. (n'inclut pas la critique)
19 |
20 | Un administrateur sera donc en droit de lever un avertissement envers le membre concerné par l'infraction. **(par message privé, si possible)**
21 |
22 | Le membre averti est prié de s'excuser auprès de la ou les personne-s impactée-s par son comportement. À noter que nous considérons l'infraction comme **mineure** si vous **avez reconnu de vous-même votre erreur** avant notre intervention.
23 |
24 | ### Grave
25 | Les cas de non-respect graves sont :
26 | * Manque de respect envers le rôle de mentor ou d'administrateur.
27 | * Réitérer à plusieurs reprises un comportement précédemment sanctionné par un avertissement.
28 |
29 | Les administrateurs établissent une sanction qui leur semble justifiée.
30 |
31 | ## Sanctions
32 | Il existe trois types de sanctions : **avertissement**, **mise à pied** et **exclusion**..
33 |
34 | La **mise à pied** correspond à la rétrogradation du rôle du membre visé pendant une période fixe définie par l'administrateur.
35 |
36 | L'**exclusion** est par définition définitive. L'exclusion est prononcée par un administrateur.
37 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |

2 |
3 | ES-Community est une communauté ECMAScript francophone créée fin 2015. Notre désir est de rassembler les développeurs ECMAScript passionnés et ou professionnels en un seul point.
4 | - [Objectifs](#objectifs)
5 | - [Critères d'entrée](#critères-dentrée)
6 | - [Code de conduite](#code-de-conduite)
7 | - [Comportements et sujets de discussion prohibés](#comportements-et-sujets-de-discussion-prohibés)
8 | - [Règles spécifiques à certain salons](#règles-spécifiques-à-certain-salons)
9 | - [Modération](#modération)
10 | - [Contribution](#contribution)
11 | - [Invitation Discord](#invitation-discord)
12 | - [Salons](#salons)
13 | - [Liste](#liste)
14 | - [Général](#général)
15 | - [Développement](#développement)
16 | - [Systèmes et databases](#systèmes-et-databases)
17 | - [Autres](#autres)
18 | - [Evenements](#evenements)
19 | - [Archives](#archives)
20 | - [Formats](#formats)
21 | - [#liens](#liens)
22 | - [#lives](#lives)
23 | - [#jobs](#jobs)
24 | - [#projets](#projets)
25 | - [#news](#news)
26 | - [Threads](#threads)
27 | - [Bot](#bot)
28 | - [Politique d'archivage](#politique-d-archivage)
29 | - [Administrateurs](#administrateurs)
30 | - [Mentors](#mentors)
31 |
32 | # Objectifs
33 | L'objectif de la communauté est avant tout de fournir un lieu d'échange, d'entraide et de veille technologique autour de l'écosystème ECMAScript (JavaScript).
34 |
35 | C'est aussi l'occasion de rencontrer et parler avec des développeurs qui possèdent des intérêts en commun avec vous. Nous nous entraidons dans les problématiques les plus fréquentes et dans la gestion de notre stack (Administration système, Docker, Base de données, Modules NPM, Frameworks, etc.).
36 |
37 | Mais finalement, c'est aussi plusieurs salons où l'on peut discuter librement entre nous de nos tracas quotidien. Et pourquoi pas un jour, se rassembler tous ensemble autour d'une bonne bière ! **EDIT** : C'est chose faite pour certains !
38 |
39 | # Critères d'entrée
40 | ```js
41 | const you = ESCommunity.currentUser();
42 |
43 | if (!you.hasReadCodeOfConduct) {
44 | throw new Error("Merci de lire le code de conduite !");
45 | }
46 | you.setChannel('Presentation');
47 | you.write("... Hello world !");
48 | ```
49 | * Être développeur ECMAScript (JavaScript) par passion ou par métier. Cela comprend aussi les débutants qui ont la volonté d'apprendre sérieusement.
50 | * Avoir lu et accepter entièrement le code de conduite ci-dessous.
51 |
52 | # Code de conduite
53 | ```js
54 | fs.createReadStream(path.join( __dirname , 'code_of_conduct.txt')).pipe(process.stdout);
55 | ```
56 | En tant que membre de cette communauté, vous devez le respect à chaque développeur présent (humainement comme techniquement). Les insultes et les comportements désobligeants ne sont pas autorisés au sein de la communauté. Les moins expérimentés doivent redoubler d'efforts avant de requêter les autres sur des problématiques qui peuvent être résolues en faisant une simple recherche Google.
57 |
58 | Nous sommes essentiellement constitués de développeurs ECMAScript, vous êtes donc priés de ne pas venir nous faire la guerre sur nos orientations technologiques. Les critiques construites sont bien évidemment les bienvenues (dans la mesure où vous respectez les conditions pour entrer).
59 |
60 | Vous vous devez de respecter les choix technologiques de chacun. Nous divergeons tous dans la vision que nous avons de l'écosystème ECMAScript (aussi bien front-end que back-end). Il est donc normal que chacun ait des préférences particulières pour un framework plutôt qu'un autre. Nous encourageons la diversité et l'expression de ses choix dans l'objectif de partager votre expérience à la communauté.
61 |
62 | Si vous souhaitez discuter d'une problématique qui ne concerne pas ECMAScript, utilisez le salon `#autres` de la section `Développement`. Attention néanmoins à ne pas en abuser en y demandant fréquemment de l'aide. Si c'est le cas, nous vous conseillons de chercher une communauté plus à même de répondre à vos attentes.
63 |
64 | Les discussions à caractère personnel sont autorisées dans les salons `#autres` et `#jeux` de la section `#autres` ainsi que dans le channel `#blabla` de la section `Général`.
65 |
66 | Votre pseudonyme au sein de la communauté se doit d'être en relation avec l'esprit du code de conduite (respectueux, non offensant, etc.). Les changements de pseudonyme sont autorisés dès lors que les mentors (à minima) et la communauté sont informés. Les caractères spéciaux et/ou emoji ne sont pas autorisés au début du pseudonyme (cela nous rendant la tâche compliquée pour vous notifier).
67 |
68 | ```js
69 | for await (const line of ESCommunity.prohibedBehaviors()) {
70 | console.log(`- ${line}`);
71 | }
72 | ```
73 | ## Comportements et sujets de discussion prohibés
74 | * attaque personnelle ;
75 | * contenu pornographique ;
76 | * harcèlement moral ;
77 | * politique ;
78 | * religions.
79 |
80 | ## Règles spécifiques à certain salons
81 | * Il est interdit de réagir textuellement dans les salons `#liens`, `#jobs` et `#projets`.
82 | * Les contenus présentés dans le salon `#projets` doivent être dans la thématique de la communauté, à savoir le développement.
83 |
84 | En adoptant ce code de conduite, **vous vous engagez à respecter à la lettre chacune des règles ci-dessus**. Nous serons intransigeants sur le respect et l'application du code de conduite.
85 |
86 | # Modération
87 | Les sanctions et modalités d'application concernant les manquements au code de conduite sont définies dans le document [code de modération](./MODS.md).
88 |
89 | # Contribution
90 | Tout membre de la communauté a un droit de participation et de vote sur les différentes contributions et évolutions proposées au sein de l'organisation GitHub ou du serveur Discord lui-même. A cet égard, les mentors et les administrateurs sont en tout point égaux aux membres. Pour plus d'informations, merci de lire le [guide de contribution](./CONTRIBUTING.md).
91 |
92 | # Invitation Discord
93 | ```js
94 | document.getElementById('discordInvitation').addEventListener('click',function(e) {
95 | e.preventDefault();
96 | ESCommunity.invite(user);
97 | });
98 | ```
99 | [](https://discord.gg/zJsuc6vvhn)
100 |
101 | Les membres n'ayant pas effectué une présentation dans le salon `#presentation` peuvent accéder aux salons `#annonces` et `#blabla` en lecture et au salon `#presentation` en écriture. Tous les autres salons leur sont inaccessibles.
102 |
103 | Chaque présentation doit **être un minimum travaillé** et les mentors sont **en droit de vous demander de l'étoffer** si nécessaire. Voici des exemples d'informations **susceptibles d'intéresser les membres de la communauté** pour mieux vous connaître :
104 |
105 | - Votre métier.
106 | - Vos expériences et préférences (langages, technologies etc....).
107 | - Profil GitHub / Gitlab / Bitbucket ou autres.
108 | - Depuis combien de temps faites vous du JavaScript et/ou Node.js (par passion ou non).
109 | - Comment avez-vous découvert la communauté.
110 |
111 | # Salons
112 | ```js
113 | const channels = ESCommunity.getChannels();
114 | for (const [name, description] of channels) {
115 | console.log(`- \`#${name}\` - ${description}`)
116 | }
117 | ```
118 | ## Liste
119 | ### Général
120 | - `#annonces` - Salon des annonces officielles, seuls les modérateurs peuvent écrire
121 | - `#presentation` - Présentations des membres de la communauté
122 | - `#blabla` - Salon libre
123 | - `#liens` - Ce salon vous permet d'envoyer des liens vers des projets/drafts intéressants (Obligatoirement en lien avec le groupe).
124 | - `#lives` - Salon d'annonce de stream de nos membres.
125 | - `#news` - Salon de suivi des nouvelles tech.
126 | - `#jobs` - Salon permettant de partager des offres d'emploi au reste de la communauté
127 |
128 | ### Développement
129 | - `#debutant` - Salon dédié à toutes questions de débutant
130 | - `#ecmascript` - Tout ce qui est en liaison avec l'écosystème ECMAScript, par exemple : Babel, etc.
131 | - `#front` - HTML & CSS, UI/UX Designer, WEBGL, Framework front, VanillaJS, JQuery, etc.
132 | - `#nodejs` - Pour parler de tout ce qui concerne Node.js
133 | - `#typescript` - Pour parler du langage TypeScript.
134 | - `#native` - Tout ce qui concerne l'implémentation de packages natif sur Node.js (N-API, NaN et Neon).
135 | - `#security` - Tout ce qui est lien avec la sécurité d'applications web, les bonnes pratiques d'authentification, etc.
136 | - `#autres-dev` - Tout autres sujets qui concernent le développement.
137 |
138 | ### Systèmes et databases
139 | - `#database` - Tout ce qui concerne des problèmes liés à une SGBD.
140 | - `#linux` - Tout les systèmes Linux (UNIX).
141 | - `#docker` - Tout ce qui concerne Docker. (Déploiement, configuration etc..).
142 | - `#autres-sys` - Tout autres problèmes en liaison avec le système.
143 |
144 | ### Autres
145 | - `#jeux` - Discussions autour de vos jeux préférés
146 | - `#gif` - Salon d'échange de gifs funs autour du développement ou autres
147 | - `#logs` - Salon de log des activités de l'ES-Community.
148 | - `#projets` - Salon pour présenter les projets réalisés par les membres de la communauté
149 | - `#autres` - Salon pour parler de tout et n'importe quoi !
150 |
151 | ### Evenements
152 | - `#meetup` - Discussions autour des différents meetup.
153 | - `#weektalk` - Infos sur les prochains [weektalks](https://github.com/ES-Community/weektalk).
154 | - `#insomni-hack` - Discussions au sujet de [l'insomni-hack](https://insomnihack.ch).
155 | - `#ludum-dare` - Discussions au sujet de [Ludum Dare](https://ldjam.com/events/ludum-dare/rules).
156 | - `#advent-of-code` - Discussions au sujet de [l'advent of code](https://adventofcode.com/)
157 |
158 | ### Archives
159 | - `#giveaway`
160 | - `#covid`
161 | - `#tweets` - Salon privé où le Bot publie fréquemment les tweets les plus intéressants sur Node.js et ECMAScript.
162 | - `#design` - Salon permettant de partager des créations graphiques.
163 | - `#battledev` - Discussion au sujet de la [BattleDev](https://battledev.blogdumoderateur.com).
164 |
165 | ## Formats
166 | Pour certains salons, merci de bien vouloir respecter les formats suivants.
167 |
168 | ### #liens
169 | Les liens doivent obligatoirement être en relation avec le développement.
170 |
171 | `[**TITRE et/ou ÉMOJI**] Description - Lien`
172 |
173 | 
174 |
175 | ### #lives
176 | Les lives doivent obligatoirement être en relation avec le développement.
177 |
178 | ```md
179 | Description courte (ce que vous allez faire, stack utilisée, etc.)
180 |
181 | Date (et heure) du live
182 |
183 | Lien vers votre chaine
184 | ```
185 |
186 | ### #jobs
187 | ```md
188 | **[ Orientation du poste ] - [ Langage(s) et/ou technologie(s) (si possible avec des émojis) ] - Intitulé du poste**
189 |
190 | Description courte (missions proposés, lieu, nom de la boite, rémunération, etc.)
191 |
192 | Lien de l'annonce et/ou contact
193 | ```
194 |
195 | 
196 |
197 | L'indication d'une fourchette de rémunération est obligatoire. La modération s'engage à retirer les annonces ne correspondant pas aux attentes et à en notifier l'auteurice (accompagné de l'annonce originale).
198 |
199 | ### #projets
200 |
201 | ```md
202 | **Nom du projet**
203 |
204 | Description du projet
205 |
206 | (ex: site web, repo git)
207 | ```
208 |
209 | 
210 |
211 | ## #news
212 |
213 | Ce canal est en lecture seule, y seront retransmises les nouvelles de
214 |
215 | - Typescript, TypeScript Community #updates (Discord), annonces des MaJs de Typescript
216 | - Node.js, via feed atom (bot), annonces des releases de Node.js
217 | - AdonisJS, AdonisJS Framework #📢-announces (Discord), annonces des MaJs de Adonis
218 | - Tailwind CSS, Tailwind CSS #announcements (Discord), annonces des MaJs de Tailwind CSS
219 |
220 | La communauté peut proposer la mise à jour de cette liste via une PR. Peuvent être envisagées comme source de communication simple :
221 |
222 | - un canal d'annonce d'un serveur Discord
223 | - un webhook
224 |
225 | En l'absence de ces moyens, Feed RSS et scrapping peuvent être ajoutés via le [Bot](#Bot)
226 |
227 | ## Threads
228 | Maintenant que Discord autorise la création de fils de discussion (threads), vous êtes libre de les utiliser.
229 |
230 | - Si vous souhaitez commenter un message dans un des [salons ci-dessus](#formats), il est requis de passer par un fil de discussion dorénavant.
231 | - Si vous sentez qu'une discussion prend le pas sur le canal, basculez sur un thread pour libérer le canal à d'autres sujets.
232 |
233 | # Bot
234 | La communauté développe et utilise son propre bot Discord, il est actuellement utilisé pour les fonctionnalités suivantes :
235 | - Valider les messages postés dans les channels `#liens`, `#jobs` et `#projets`
236 | - Poster des messages de manière automatique comme :
237 | - Des jeux en promotion provenant de [Epic Games](https://store.epicgames.com) et [GOG](https://www.gog.com) dans le channel `#jeux`
238 | - Les publications du site [XKCD](https://xkcd.com) dans le channel `#gif`
239 |
240 | Si vous souhaitez l'améliorer ou proposer d'autres fonctionnalités, vous pouvez y contribuer sur [son dépôt GitHub](https://github.com/ES-Community/bot).
241 |
242 | # Politique d'archivage
243 | Plutôt que de supprimer un canal car il n'est pas utilisé par la communauté, il est possible de le déplacer dans la catégorie Archives et il passera en lecture seule.
244 | Ce type de décision se prend via les PR : proposition d'une PR avec le canal à archiver déplacé dans la section Archives. Une fois la PR validée les administrateurs appliqueront la décision.
245 |
246 | # Administrateurs
247 | Les administrateurs mettent en application les décisions prises par la communauté et avertissent ou sanctionnent en cas de manquement au code de conduite de la part d'un membre.
248 | Ils sont nommés à la discrétion des fondateurs, triés parmi les mentors.
249 |
250 | Les administrateurs :
251 | - Fraxken
252 | - Purexo
253 | - Xavier
254 | - Romain Lanz
255 | - Targos
256 |
257 | Tout comportement abusif peut être rapporté aux Administrateurs de la communauté. Vous pouvez les mentionner sur Discord avec `@Administrateurs`.
258 |
259 | # Mentors
260 | Les mentors sont des membres brillant par leur investissement dans la communauté en étant particulièrement actifs avec une communication adéquate, pédagogique et bienveillante.
261 | Ils participent à faire vivre le Discord en animant les discussions sur les évolutions du code de conduite, encouragent les membres à proposer des changements en les guidant au besoin et mettent en place les weektalks.
262 | Ils sont nommés selon les modalités du [Code de contribution](CONTRIBUTING.md).
263 |
264 | Les mentors :
265 | - Fraxken
266 | - Xavier
267 | - Purexo
268 | - Romain Lanz
269 | - Targos
270 | - Koko
271 | - TnTakara
272 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-cayman
--------------------------------------------------------------------------------