Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sde2:laboratoare:02_new [2022/03/08 00:33]
alexandru.radovici
sde2:laboratoare:02_new [2022/03/29 08:39] (current)
alexandru.radovici
Line 1: Line 1:
-====== ​TP2 - GitHub et Unit Testing ======+====== ​TP 01 - GitHub et Unit Testing ======
  
 ===== Objectifs du TP ===== ===== Objectifs du TP =====
Line 8: Line 8:
  
 ===== Documentation supplémentaire ===== ===== Documentation supplémentaire =====
-  * [[https://​docs.github.com/​en/​get-started/​quickstart|GitHub QuickStart]] +  ​* Git 
-  * [[https://​docs.github.com/​en/​desktop/​installing-and-configuring-github-desktop/​overview/​getting-started-with-github-desktop|GitHub Desktop]] +    ​* [[https://​docs.github.com/​en/​get-started/​quickstart|GitHub QuickStart]] 
-  * [[http://​rogerdudler.github.io/​git-guide/​|Git en bref]] +    * [[https://​docs.github.com/​en/​desktop/​installing-and-configuring-github-desktop/​overview/​getting-started-with-github-desktop|GitHub Desktop]] 
-  * [[http://​ndpsoftware.com/​git-cheatsheet.html|Git cheatsheet]] +    * [[http://​rogerdudler.github.io/​git-guide/​|Git en bref]] 
-  * [[https://​docs.github.com/​en/​actions|GitHub Actions]] +    * [[http://​ndpsoftware.com/​git-cheatsheet.html|Git cheatsheet]] 
-  * [[https://​dev.to/​rogertorres/​getting-started-with-github-actions-for-rust-1o6g|Getting started with GitHub Actions for Rust]]+  ​* Actions 
 +    ​* [[https://​docs.github.com/​en/​actions|GitHub Actions]] 
 +    * [[https://​dev.to/​rogertorres/​getting-started-with-github-actions-for-rust-1o6g|Getting started with GitHub Actions for Rust]] 
 +  * Rust 
 +    * [[https://​doc.rust-lang.org/​book/​ch11-00-testing.html|Writing Automated Tests]] 
 +    * [[https://​jimskapt.github.io/​rust-book-fr/​ch11-00-testing.html|Ecrire des tests automatisés]]
  
  
Line 104: Line 109:
 Quand on fait commit, il sera conservé dans le repository local du Git, pas dedans le repository remote du Git. Quand on fait commit, il sera conservé dans le repository local du Git, pas dedans le repository remote du Git.
 Sans mise à jour le repository remote, les autres collègues ne pourront pas voir les changements que nous avons apportés. Nous voulons donc que les modifications apportées localement se retrouvent également remote. C'​est-à-dire,​ les commits du repository local dans le repository remote. On va realiser la publication par l'​operation **push**. Sans mise à jour le repository remote, les autres collègues ne pourront pas voir les changements que nous avons apportés. Nous voulons donc que les modifications apportées localement se retrouvent également remote. C'​est-à-dire,​ les commits du repository local dans le repository remote. On va realiser la publication par l'​operation **push**.
- 
-===== Créer un repository sur GitHub ===== 
- 
-Premièrement,​ vous devez connecter à GitHub. 
-  * Ensuite, cliquez sur la flèche dans le menu en haut à droite et voyez quelque chose de similaire à l'​image suivante. 
-  * Cliquez sur // Your profile //. C'est ici que nous pouvons voir nos contributions sur GitHub. En haut de l'​écran,​ nous verrons un menu horizontal qui contient 4 options: Overview, Repositories,​ Projects și Packages. {{ :​sde2:​laboratoare:​github_profile_menu.png?​150 |}} 
-  * On va appuye sur Repositories. Nous allons maintenant voir la liste complète des dépôts que nous avons. Pour en créer un nouveau, appuyez sur le bouton vert en haut à droite //New//. {{ :​sde2:​laboratoare:​create_new_repo.png?​500 |}} 
-  * Il est maintenant temps de donner un nom au projet et vouz pouvez décider s'il doit être public (visible par tous les utilisateurs) ou privé (visible uniquement par nous et les collaborateurs potentiels du projet). Un formulaire similaire à celui de l'​image ci-dessous apparaîtra. Pour ce tutoriel, nous allons créer un référentiel public. 
-  * Cliquez sur //Create repository//​. ​ 
-{{ :​sde2:​laboratoare:​info_create_repo.png?​400 |}} 
- 
-===== Créer un repository local ===== 
- 
-Dans le répertoire personnel, nous allons créer un répertoire dans lequel on va intialise le repository Git. 
- 
-Après avoir tapé les commandes suivantes, vous aurez une sortie similaire à celle de l'​image ci-dessous. 
- 
-<​code>​ 
-user:~$ mkdir SDE-TP2 
-user:~$ cd SDE-TP2 
-user:​~/​SDE-TP2$ git init 
-user:​~/​SDE2-TP2$ ls -a 
-</​code>​ 
- 
-{{ :​sde2:​laboratoare:​git_local_repo.png?​500 |}} 
- 
-On a initialisé le repository local en utilisant la commande ** git init **, à partir du répertoire créé nommé // SDE-TP2 //. En même temps, on a utilisé la commande // ls -a // pour afficher les répertoires cachés, car le répertoire **. Git ** est un répertoire caché. 
- 
-<​note>​ 
-**Init** 
- 
-L'​opération init est locale et a le rôle d'​initialiser un repository local vide. L'​initialisation du repository local signifie création, dans le répertoire choisi de l'​environnement pour pouvoir travailler sur un projet logiciel versionné Git.Cette opération conduit à la création d'un répertoire nommé .git dans lequel sont des données supplémentaires sur le référentiel,​ appelées metadate. 
-</​note>​ 
- 
- 
-===== Connecter les deux repositories ===== 
- 
-Avant, on a créé un repository local et un repository distant, et pour travailler avec eux, on doit les interconnecter,​ en utilisant la commande: 
- 
-<​code>​ 
-user:​~/​SDE-TP2$ git remote add origin https://​github.com/​{username}/​SDE-TP2.git 
-</​code>​ 
- 
-__//​{username}//​__est l' utilisateur sur GitHub. 
- 
-Connecter les deux repositories signifie le réglage du repository origin, c'​est-à-dire le repository remote, au  
-repository local. 
- 
- 
-=====  L’installation de GitHub Desktop ===== 
- 
-Premièrement,​ vous devez allez sur [[https://​desktop.github.com/​|GitHub Desktop]] et téléchargez l’outil. Après, vous pouvez connecter avec votre compte GitHub. 
- 
-{{ :​sde2:​laboratoare:​github_desktop.png?​500 |}} 
- 
-Vous pouvez créer un repository local directement dans GitHub Desktop en appuyant sur //File -> New Repository//​. Complétez les champs avec les informations nécessaires,​ après appuyez sur **Create Repository**. 
- 
-{{ :​sde2:​laboratoare:​github_desk_new_repo.png?​300 |}} 
- 
-{{ :​sde2:​laboratoare:​github_desk_create_repo.png?​300 |}} 
- 
-Vous pouvez ouvrir votre repository dans l’IDE de votre choix(par exemple VS Code) pour ajouter de nouvelles files ou pour changer des files. Les modifications apparaissent immédiatement dans GitHub Desktop. 
- 
-{{ :​sde2:​laboratoare:​github_desk_open_vsc.png?​300 |}} 
- 
-On va ajouter un fichier de README. 
- 
-{{ :​sde2:​laboratoare:​vsc_add_readme.png?​600 |}} 
- 
-On peut voir que nos modifications ont été actualisés immédiatement dans GitHub Desktop. On ajoute un message pour notre commit et on appuie sur Commit to main pour ajouter le file à notre repository. 
- 
- 
-{{ :​sde2:​laboratoare:​github_desk_commit.png?​600 |}} 
- 
-Pour publier le repo sur GitHub on fait click sur Publish repository. 
- 
-{{ :​sde2:​laboratoare:​github_desk_publish.png?​600 |}} 
- 
-Vous pouvez aussi cloner un repository existant et lui modifier en cliquant sur //File -> Clone Repository//,​ coller le link du repository et appuyer sur **Clone**. ​ 
- 
-{{ :​sde2:​laboratoare:​clone_repo.png?​500 |}} 
- 
-{{ :​sde2:​laboratoare:​github_desk_clone.png?​500 |}} 
- 
-Apres que vous avez fait tous les modifications,​ vous faisons un commit et push pour publier les modifications dans le repository remote. 
- 
-{{ :​sde2:​laboratoare:​github_desk_push.png?​600 |}} 
  
 ===== Exercices ===== ===== Exercices =====
  
   - Créez un compte GitHub.   - Créez un compte GitHub.
-  ​- Installez Git et GitHub Desktop. +  - Créez le repository ​sde-tp2 en utilisant GitHub, fait un clone et ajoute un projet du Rust (//cargo init//). 
-  ​- Créez le repository ​SDE-TP2 en utilisant GitHub Desktop. +  - Écrivez une application qui implémente un tableau trié de nombres. Créez une nouvelle structure de données et écrivez les fonctions //add// et //remove//.  
-  - Créez le repository SDE-TP2-2 ​en utilisant GitHub, fait un clone et ajoute un fichier ​//hello.py//. Publiez ​les modifications sur GitHub.+  - Écrivez ​les tests unitaires pour les fonctions //add// et //​remove//​. 
 +  - Déplacez les tests unitaires dans un module séparé nommé tests.  
 +  - Ajoutez un workflow ​GitHub ​qui exécute les tests unitaires 
 +  - Ajoutez une fonction qui renvoie un nouveau tableau contenant tous les nombres premiers. Écrivez un test unitaire pour cela. 
 +  - Écrivez une fonction qui renvoie une tranche (slice) du tableau contenant tous les nombres compris entre les deux paramètres qu'​elle reçoit (minimum et maximum). Écrivez un test unitaire pour cela. 
 + 
 +===== Solutions ===== 
 +[[https://​github.com/​UPB-FILS-SdE2/​Solutions/​tree/​main/​tp1|Solutions]]
  
  
sde2/laboratoare/02_new.1646692394.txt.gz · Last modified: 2022/03/08 00:33 by alexandru.radovici
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0