Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Introduction] Modalités de l'évaluation technique et pratique #2

Open
hhamon opened this issue Jan 15, 2016 · 0 comments
Open

[Introduction] Modalités de l'évaluation technique et pratique #2

hhamon opened this issue Jan 15, 2016 · 0 comments

Comments

@hhamon
Copy link
Owner

hhamon commented Jan 15, 2016

Module Technos Web / PHP

Introduction

Sur la base du code présent actuellement dans la branche master du dépôt de code, il vous est demandé de réaliser les exercices complémentaires détaillés plus bas.

Vous serez évalué et noté individuellement sur le travail réalisé. La notation portera en particulier sur les critères d'évaluation ci-dessous. Cette liste de critères n'est pas exhaustive et peut évoluer encore d'ici la date de rendu finale.

  • Les fonctionnalités demandées sont implémentées et fonctionnent,
  • Les tests unitaires sont fournis pour valider le code et les bugs potentiels,
  • L'exécution des tests unitaires génère ni erreurs ni échecs,
  • Les bonnes pratiques étudiées en cours (SOLID, injection de dépendance, PSR,
    etc.) sont respectées,
  • Les structures de code telles que les classes, les méthodes et les variables
    sont correctement nommées en anglais,
  • Les morceaux de code potentiellement complexes sont correctement documentés en
    anglais avec des commentaires dans le code,
  • Les outils et librairies tierces importées dans votre code sont distribués
    sous des licences Open-Source compatibles,
  • etc.

Cette évaluation pratique s'ajoutera à votre note obtenue lors de l'évaluation théorique du mardi 12 janvier 2015. Elle comptera pour le même coefficient.

Modalités de Rendu

Vous devrez soumettre individuellement votre travail sous la forme d'une « Pull Request » Github. Pour ce faire, il vous faudra tout d'abord vous créer un compte Github.com si vous n'en possédez pas encore un. Lorsque vous êtes connecté à votre compte Github, rendez-vous sur la page de ce dépôt de code et forkez-le à l'aide du bouton prévu à cet effet en haut à droite.

Vous disposerez désormais d'une copie (aka un fork) de ce dépôt de code dans votre espace Github.com. Il vous suffit alors de cloner ce fork sur votre machine en utilisant la ligne de commande de Github dans un terminal ou bien depuis une interface GUI (exemple : Tower pour Mac OS).

La ligne de commande pour cloner votre fork doit être similaire à celle ci-dessous en prenant soin d'adapter le nom d'utilisateur Github (<username>) par le vôtre.

$ git clone git@github.com:<username>/lpdim2016.git

Lorsque votre clone est téléchargé sur votre machine, déplacez-vous dans le répertoire et créez immédiatement une nouvelle branche dans laquelle vous committerez vos changements. C'est cette branche que vous soumettrez ensuite en tant que Pull Request afin d'être évalué(e).

Le nom de la branche doit être nommée de la manière suivante : prenom-nom. Par exemple, la commande pour créer une nouvelle branche nommée hugo-hamon est la suivante :

$ git checkout -b hugo-hamon

Vous êtes à présent dans votre branche et vous pouvez commencer à implémenter les exercices dans l'ordre que vous souhaitez. Il vous ai demandé néanmoins de réaliser qu'un seul commit pour chaque exercice afin de grouper dans ce dernier tous les fichiers impactés. Cela permettra ainsi au correcteur de revoir plus facilement les changements commit par commit. Vous pouvez par exemple suivre une nomenclature de commits similaire à celle ci-dessous.

$ git add fichier1.php
$ git add fichier2.php
$ git commit -m'[Framework] implemented exercise #1.'
$
$ # ... d'autres modifications
$
$ git add fichierX.php
$ git commit -m'[Application] implemented exercise #2.'

Après chaque commit, n'oubliez pas de pousser votre branche et ses commits sur votre fork avec la commande git push.

$ git push origin hugo-hamon

Lorsque vous êtes prêt(e) à rendre votre devoir, rendez-vous sur la page Github de votre fork et soumettez votre branche en tant que Pull Request. Vous verrez apparaître un bouton vert Pull Request sur votre fork. Lorsque vous aurez validé votre pull request, celle-ci apparaîtra automatiquement dans la liste des demandes de contribution du dépôt initial à l'adresse suivante :

https://github.com/hhamon/lpdim2016/pulls

Vérifiez bien que votre pull request apparaisse dans cette liste ! Bien que branche a été poussée à ce stade, vous pouvez toujours ajouter de nouveaux commits à celle-ci simplement en les poussant depuis votre copie locale grâce à la commande git push origin <prenom-nom>. L'évaluation du code que vous aurez soumis sera réalisée après la date et l'heure maximum autorisée de soumission. N'hésitez donc pas à corriger, revoir, améliorer le code de votre branche en committant souvent dans votre branche et en poussant celle-ci régulièrement.

Rappel : chaque copie rendue est strictement individuelle ! Le travail en
groupe n'est pas autorisé mais cette contrainte ne vous empêche pas de vous
aider mutuellement pour réaliser les travaux demandés. Néamoins, les copies
rendues dans lesquelles il y aura des suspicions fortes de morceaux de code
copiés seront sanctionnées !

Il s'est déjà produit une année que quatre étudiants ont rendu le même code à
la virgule près. Les trois étudiants qui avaient copié ont été sanctionnés
dans leur notre mais aussi par la Direction de la licence professionnelle.

La date de rendu de votre travail sous la forme d'une pull request est fixée au plus tard au mardi 23 février 2016 à 23:59:59, heure de Paris. Toute pull request soumise après ce délai sera ignorée et la note de 0 vous sera attribuée !

Documentation

Il ne vous ai pas interdit de réutiliser du code trouvé sur Internet pour réaliser votre travail. Vous êtes même encouragés à ne pas réinventer la roue, sauf si l'intitulé de l'exercice vous y oblige pour vérifier et valider certaines compétences acquises en formation. Toutefois, si vous décidez de réutiliser des bouts de code téléchargés sur Internet comme des fonctions ou bien des classes, il vous ai demandé de le documenter dans votre code. L'exemple ci-dessous montre comment documenter la source d'une classe ou d'une fonction avec le mot-clé @see.

/**
 * @see http://some-website.com/the/url-of-this-class.html
 */
class ImageResizer
{
    /**
     * @see http://some-website.com/the/url-of-this-function.html
     */
    public function resize($image, $maxWidth, $maxHeight)
    {
        // ...
    }
}

Assurez aussi que vous avez bien le droit de récupérer un bout de code en vérifiant notamment la licence avec laquelle ce bout de code est distribué : MIT, GPL, LGPL, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant