Coder Social home page Coder Social logo

es_bot's Introduction

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.

Objectifs

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).

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.).

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 !

Critères d'entrée

const you = ESCommunity.currentUser();

if (!you.hasReadCodeOfConduct) {
    throw new Error("Merci de lire le code de conduite !");
}
you.setChannel('Presentation');
you.write("... Hello world !");
  • Ê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.
  • Avoir lu et accepter entièrement le code de conduite ci-dessous.

Code de conduite

fs.createReadStream(path.join( __dirname , 'code_of_conduct.txt')).pipe(process.stdout);

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.

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).

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é.

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.

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.

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).

for await (const line of ESCommunity.prohibedBehaviors()) {
    console.log(`- ${line}`);
}

Comportements et sujets de discussion prohibés

  • attaque personnelle ;
  • contenu pornographique ;
  • harcèlement moral ;
  • politique ;
  • religions.

Règles spécifiques à certain salons

  • Il est interdit de réagir textuellement dans les salons #liens, #jobs et #projets.
  • Les contenus présentés dans le salon #projets doivent être dans la thématique de la communauté, à savoir le développement.

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.

Modération

Les sanctions et modalités d'application concernant les manquements au code de conduite sont définies dans le document code de modération.

Contribution

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.

Invitation Discord

document.getElementById('discordInvitation').addEventListener('click',function(e) {
    e.preventDefault();
    ESCommunity.invite(user);
});

ES-Community

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.

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 :

  • Votre métier.
  • Vos expériences et préférences (langages, technologies etc....).
  • Profil GitHub / Gitlab / Bitbucket ou autres.
  • Depuis combien de temps faites vous du JavaScript et/ou Node.js (par passion ou non).
  • Comment avez-vous découvert la communauté.

Salons

const channels = ESCommunity.getChannels();
for (const [name, description] of channels) {
    console.log(`- \`#${name}\` - ${description}`)
}

Liste

Général

  • #annonces - Salon des annonces officielles, seuls les modérateurs peuvent écrire
  • #presentation - Présentations des membres de la communauté
  • #blabla - Salon libre
  • #liens - Ce salon vous permet d'envoyer des liens vers des projets/drafts intéressants (Obligatoirement en lien avec le groupe).
  • #lives - Salon d'annonce de stream de nos membres.
  • #news - Salon de suivi des nouvelles tech.
  • #jobs - Salon permettant de partager des offres d'emploi au reste de la communauté

Développement

  • #debutant - Salon dédié à toutes questions de débutant
  • #ecmascript - Tout ce qui est en liaison avec l'écosystème ECMAScript, par exemple : Babel, etc.
  • #front - HTML & CSS, UI/UX Designer, WEBGL, Framework front, VanillaJS, JQuery, etc.
  • #nodejs - Pour parler de tout ce qui concerne Node.js
  • #typescript - Pour parler du langage TypeScript.
  • #native - Tout ce qui concerne l'implémentation de packages natif sur Node.js (N-API, NaN et Neon).
  • #security - Tout ce qui est lien avec la sécurité d'applications web, les bonnes pratiques d'authentification, etc.
  • #autres-dev - Tout autres sujets qui concernent le développement.

Systèmes et databases

  • #database - Tout ce qui concerne des problèmes liés à une SGBD.
  • #linux - Tout les systèmes Linux (UNIX).
  • #docker - Tout ce qui concerne Docker. (Déploiement, configuration etc..).
  • #autres-sys - Tout autres problèmes en liaison avec le système.

Autres

  • #jeux - Discussions autour de vos jeux préférés
  • #gif - Salon d'échange de gifs funs autour du développement ou autres
  • #logs - Salon de log des activités de l'ES-Community.
  • #projets - Salon pour présenter les projets réalisés par les membres de la communauté
  • #autres - Salon pour parler de tout et n'importe quoi !

Evenements

  • #meetup - Discussions autour des différents meetup.
  • #weektalk - Infos sur les prochains weektalks.
  • #insomni-hack - Discussions au sujet de l'insomni-hack.
  • #ludum-dare - Discussions au sujet de Ludum Dare.
  • #advent-of-code - Discussions au sujet de l'advent of code

Archives

  • #giveaway
  • #covid
  • #tweets - Salon privé où le Bot publie fréquemment les tweets les plus intéressants sur Node.js et ECMAScript.
  • #design - Salon permettant de partager des créations graphiques.
  • #battledev - Discussion au sujet de la BattleDev.

Formats

Pour certains salons, merci de bien vouloir respecter les formats suivants.

#liens

Les liens doivent obligatoirement être en relation avec le développement.

[**TITRE et/ou ÉMOJI**] Description - Lien

Salon liens

#lives

Les lives doivent obligatoirement être en relation avec le développement.

Description courte (ce que vous allez faire, stack utilisée, etc.)

Date (et heure) du live

Lien vers votre chaine

#jobs

**[ Orientation du poste ] - [ Langage(s) et/ou technologie(s) (si possible avec des émojis) ] - Intitulé du poste**

Description courte (missions proposés, lieu, nom de la boite, rémunération, etc.)

Lien de l'annonce et/ou contact

Salon jobs

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).

#projets

**Nom du projet**

Description du projet

<Lien du projet> (ex: site web, repo git)

Salon projets

#news

Ce canal est en lecture seule, y seront retransmises les nouvelles de

  • Typescript, TypeScript Community #updates (Discord), annonces des MaJs de Typescript
  • Node.js, via feed atom (bot), annonces des releases de Node.js
  • AdonisJS, AdonisJS Framework #📢-announces (Discord), annonces des MaJs de Adonis
  • Tailwind CSS, Tailwind CSS #announcements (Discord), annonces des MaJs de Tailwind CSS

La communauté peut proposer la mise à jour de cette liste via une PR. Peuvent être envisagées comme source de communication simple :

  • un canal d'annonce d'un serveur Discord
  • un webhook

En l'absence de ces moyens, Feed RSS et scrapping peuvent être ajoutés via le Bot

Threads

Maintenant que Discord autorise la création de fils de discussion (threads), vous êtes libre de les utiliser.

  • Si vous souhaitez commenter un message dans un des salons ci-dessus, il est requis de passer par un fil de discussion dorénavant.
  • Si vous sentez qu'une discussion prend le pas sur le canal, basculez sur un thread pour libérer le canal à d'autres sujets.

Bot

La communauté développe et utilise son propre bot Discord, il est actuellement utilisé pour les fonctionnalités suivantes :

  • Valider les messages postés dans les channels #liens, #jobs et #projets
  • Poster des messages de manière automatique comme :
    • Des jeux en promotion provenant de Epic Games et GOG dans le channel #jeux
    • Les publications du site XKCD dans le channel #gif

Si vous souhaitez l'améliorer ou proposer d'autres fonctionnalités, vous pouvez y contribuer sur son dépôt GitHub.

Politique d'archivage

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. 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.

Administrateurs

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. Ils sont nommés à la discrétion des fondateurs, triés parmi les mentors.

Les administrateurs :

  • Fraxken
  • Purexo
  • Xavier
  • Romain Lanz
  • Targos

Tout comportement abusif peut être rapporté aux Administrateurs de la communauté. Vous pouvez les mentionner sur Discord avec @Administrateurs.

Mentors

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. 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. Ils sont nommés selon les modalités du Code de contribution.

Les mentors :

  • Fraxken
  • Xavier
  • Purexo
  • Romain Lanz
  • Targos
  • Koko
  • TnTakara

es_bot's People

Contributors

fraxken avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

es_bot's Issues

💡 (idée) Système de votation

Etant donné le nombre de membre grandissant et du nombres d'éléments a voter dans la communauté, je penses qu'un moyen de voter de manière anonymisée et unique sur des points précis devient intéressant. Actuellement c'est un peu au feeling ("dans les grandes lignes c'est plutôt accepté/refusé") et personnellement ça me dérange.

Donc voici comment je vois la chose :

  • une issue/PR est ouverte sur github
  • après plusieurs jours que tout le monde ait pu donner son avis, un mentor clos l'issue
  • un mentor lance une votation (si validée) à l'aide du bot en référant l'issue, ceci a pour effet de mettre un message dans annonce ou par mp a chaque membre.
  • Chaque membre peut voter 1 fois durant les 7 prochains jours + oui ; - non ; 0 blanc (de manière anonyme via mp au bot)
  • Après le delai, le bot donne le résultat dans le chan annonce ou un nouveau nommé votations (why not) avec le nombre de votant et le pourcentage de chaque réponses.

pour moi il faut que l'on améliore la façon de prendre des décisions, ceci n'est qu'un ébauche d'une possibilité de faire avec le bot si vous voyez une façon de faire différente ou plus intéressante je suis preneur.

💡 (idée) Fonctionnalité anniversaire

Une fonctionnalité qui souhaiterait l'anniversaire de la communauté et des membres serait je pense plutôt cool ! (Par an).

Cela nous permettrait de faire des sortes d'anniversaire (et des célébrations) pour les membres les plus vieux/actifs (et bien évidemment à chaque fois que la communauté passe elle-même une année).

N'hésitez pas à voter pour cette idée (et toute contribution est du coup la bienvenue).

Ajout d'un système de log d'événements

étant donné les fonctionnalités supplémentaires du bot (#10 qui peut être critique) un ajout d'un système de log de chaque commande executée par qui avec le résultat de celle-ci devrait être loggé afin de pouvoir retracer un problème ou un troll qui passerait par la.

L'évenement 'ready' se fait appeler plusieurs fois

Comme le montre cet extrait de log :

5/20/2018 4:25:40 PM> [email protected] start /es-bot
5/20/2018 4:25:40 PM> node index.js
5/20/2018 4:25:42 PM ES Bot up and ready
5/25/2018 12:42:31 AM ES Bot up and ready

il semblerait que la partie 'ready' de Discord.js se trigger plusieurs fois ce qui a pour effet de dédoubler le feed Twitter ou le feed des membres entrants/sortants.

[FEATURE] Mention user when weektalk is about to begin

Maybe we could add feature to the ES Bot that allows users to:

  • Subscribe to weektalk: .weektalk sub/unsub

If user is subscribed, weektalker fires an event, and ES Bot DM all of subscribers that a talk is about to begin.

💡 (idée) Signalement d'un utilisateur

L'idée est que les membres de la communauté puissent signaler (par le biais d'une commande) un membre de la communauté (ou un membre sans rôle).

Chaque signalement sera rapporté dans le salon des mentors par le Bot (ils seront donc prévenus et notifiés du problème). Après plusieurs signalements, le bot ajoutera un rôle qui empêchera la personne en question de parler (en attendant l'intervention d'un Mentor).

Cet fonctionnalité à principalement pour objectif:

  • Empêcher les spams et trolls dans le salon présentation et blabla.
  • Signaler un manquement au code de conduite grave.
  • Responsabilisé les membres de la communauté sur la gestion de cas ci-dessus.

Bien qu'il soi rare qu'au moins un Mentor ne soit pas connecté (cela reste une possibilité). Nous avons déjà vécu un épisode de spam (heureusement des mentors étaient connectés).

Toute utilisation abusive de cette fonctionnalité sera considérée comme un manquement grave au code de conduite (une exclusion de la communauté sera donc possible).

N'hésitez pas à voter pour cette idée (et toute contribution est du coup la bienvenue).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.