SimRuby

Presentation de la semaine Ruby/Rails


Project maintained by Lta and C404 Hosted on GitHub Pages — Kewl theme by mattgraham

Introduction

SimRuby?

Tu es sur la page de présentation de la Semaine IMmersive Ruby et Ruby on Rails de Sup’Internet. Si tu n’es pas étudiant en 2e année à Sup’Internet, tu peux toujours utiliser les éléments fournis ici pour démarrer ton apprentissage de Ruby et de Rails en utilisant le mécanisme de correction automatique fourni.

SimRuby!

Cette page présente (rapidement) le déroulement de la semaine immersive, ainsi que la mise en place de l’environnement de travail, donne(ra) quelques précisions sur les exercices et fournit des pistes vers la (tonne de) documentation que tu devrais explorer durant la semaine.

La semaine

Objectifs

L’objectif de la semaine immersive est de développer une application très fortement inspirée par Twitter, nommée ‘Gazooyr’. Sans fournir toutes les features de twitter, vous devriez arriver à la fin à un projet fonctionnel et utilisable.

Durant ces 5 jours, nous allons aborder dans un premier temps les bases du langage Ruby, sans rentrer dans des tonnes de meta-programmation, puis nous allons enchainer pendant 4 jours sur l’excellent framework Rails. Il n’est hélàs pas possible de devenir un expert de rails en 4 jours, mais nous allons essayer de te transmettre suffisament de compétences pour te donner l’envie et les moyens de continuer par toi même.

Autre note importante, la semaine a été concue autour du TDD (Test Driven Development), pratique très utilisée dans le développement Web en général, et particulièrement en Ruby. Nous n’allons pas vous donner d’exercices à proprement parler, mais une application de référence et surtout des tests unitaires/d’intégration qui testent l’implémentation de toutes les fonctionnalités désirées. Ces tests servent à la fois de sujet d’exercice et de mécanisme de correction (i.e. trollinette illimitée ;)

Notation

Lors du dernier jour de la semaine, nous exécuterons les tests sur chacune de vos implémentations et le fichier de sortie du programme RSpec sera la base de votre évaluation, les bonus seront ajoutés manuellement dans un deuxième temps.

Interactivité

En plus des tests unitaires, de l’environnement de développement et des slides fournis, nous aimerions intégrer à la semaine immersive un peu plus d’intéractivité. Bien évidemment, nous serons à votre disposition tout la semaine (et même après) pour répondre à vos questions et vous aider à avancer. Bien évidemment, des cours et des démonstration ponctueront la semaine mais nous souhaiterions vous fournir l’opportunité de proposer des bonus, d’ améliorer la suite de test fournie et d’intervenir dans la pédagogie en proposant des petits talks autour du sujet de la semain (tips & tricks, gems, documentation). Il va sans dire que chacune de ces options, exercées de manière constructive donnera lieu a des bonus sur la note de la semaine. Il ne sera pas possible d’avoir une très bonne note sans bonus/talk/amélioration.

L’outil principal de cette interactivité sera GitHub, au travers du système d’issues et de pull request, comme les vrais rubyistes :) Je compte sur vous pour envoyer du poneyyy !

Le contenu

Comme évoqué plus haut, nous mettons à disposition un environnement de développement, des tests unitaires pour la journée sur Ruby, d’autre pour Rails et les slides du cours (même s’ils sont probablement inutiles par eux-même). Vous pouvez les trouver en lien tout en haut de la page, les voici à nouveau néanmoins :

Mise en route

Dépendances

Pour pouvoir réaliser cette semaine immersive, les éléments suivants sont nécessaires :

Déploiement

Nous allons maintenant installer les dépendances, récupérer le code
partagé et déployer l’environnement de développement:

Résumé

Documentation détaillée

Des documentations plus détaillées sont disponibles sur les différents repos impliqués, en particulier sur le repo principal

Interaction

GitHub, qui héberge le code de ces projets, dispose de 2 outils particulièrement utilisés dans la communauté et que nous allons utiliser durant cette semaine pour vous fournir du support et pour recevoir vos contributios :

Voici les instructions et la documentation de ces outils:

Support

Si vous rencontrez un problème que vous pensez être un bug venant de notre côté (c’est notre faute), ou si vous pensez que des éléments mériterait des précisions, vous pouvez ouvrir un ticket sur GitHub (une issue) pour nous en faire part. Le processus est le suivant :

Contribution

Si vous voulez avoir une très bonne note, il va falloir, d’une facon ou d’une autre, contribuer à SimRuby. Ces contributions peuvent prendre plusieurs formes:

Les contributions de code se font via des Pull Request :

Les tests unitaires utilisent :

Documentation Ruby/Rails