Aller au contenu

Application web d’administration de ressources d’une plateforme Gitlab

Compétences viséesB1.2 Répondre aux incidents et aux demandes d’assistance et d’évolution
B1.3 Développer la présence en ligne de l’organisation
B1.4 Travailler en mode projet
B1.5 Mettre à disposition des utilisateurs un service informatique
B2.2 Assurer la maintenance corrective ou évolutive d’une solution applicative
Outils  Poste de développement Windows 10

Package xampp
Gestion des bases de données avec phpmyadmin
Visual Studio Code
Pages HTML / CSS, scripts JS
Gitlab et Git Bash
Talend API Tester
Présentation du contexteApport d’évolutions sur une application web d’administration de ressources d’une plateforme Gitlab
Ressources fourniesCahier des charges décrivant les exigences attendues
Document indiquant les bonnes pratiques du codage JavaScript à respecter
Configuration du serveur Ubuntu hébergeant la plateforme Gitlab de test
Code source des pages HTML de la version initiale
Résultats attendusEtude de l’expression des besoins
Résultat de mes tests fonctionnels
Sources modifiées sur le dépôt gitlab
Rédaction d’un compte rendu technique en dessous de chacune des issues sur gitlab
Durée6 séances 

J’ai créé le projet.

image0

J’ai créé les tickets.

image

J’ai créé les milestones.

image2

1.1 Carte Mental

Maquette : Projets

image3

image4

Quand on clique sur le bouton « changer la visibilité » une alerte javascript qui affiche un champ de texte est crée ou on doit indiquer la nouvelle visibilité du projets.

image5

Quand on clique sur le bouton « changer la limite du nombre de projets » une alert javascript se lance avec un champ de texte où on doit marqué la nouvelle limite du nombre de projets qu’on veut.

Mise en place d’une machine virtuelle de test Gitlab 

J’ai cloné une machine virtuelle Ubuntu à mon nom sur Vsphere 

image 5

J’ai configuré le réseau et lui ai attribué mon adresse IP personnelle (100.115.29.168) 

image 2

J’ai importé le script secure.sh à l’aide de WinSCP puis l’ai executé afin d’outrepasser la passerelle et de permettre à ma machine virtuelle d’accéder à Internet. 

image 1

J’ai téléchargé et exécuté le script permettant d’ajouter les dépôts de paquets de Gitlab 

image 3

J’ai installé la paquet Gitlab 

image 4
image 7

J’ai modifié le fichier de configuration de gitlab pour configurer l’adresse IP de ma machine virtuelle en tant que URL externe. 

image 6

J’ai appliqué le changement de configuration en entrant la commande “sudo gitlab-ctl reconfigure” 

image 10

Je peux maintenant accéder à l’instance GitLab de ma machine virtuelle depuis ma machine physique hôte. 

image 8

J’ai changé le mot de passe du compte root a la valeur : Nimda+-1 

J’ai utilisé WinSCP afin de déplacer le fichier de sauvegarde à restaurer de ma machine hôte à ma VM, puis j’ai déplacé ce fichier dans le répertoire de sauvegarde de GitLab et ai arrêté les services de GitLab 

image 9
image 12

J’ai restauré la base de données en spécifiant le fichier visé 

image 13

La sauvegarde a bien été restaurée  

image 11

1-4 Recherche et test des ressources et points d’accès de l’API-Rest Gitlab à mobiliser pour l’application : Projets

Nous pouvons utiliser l’API REST GitLab en utilisant la méthode « PUT » afin d’éditer les projets (voir documentation: https://docs.gitlab.com/ee/api/projects.html#edit-project

Il est impossible de modifier plusieurs projets à la fois, il nous faudra envoyer plusieurs requêtes programmatiquement à l’aide d’une boucle. 

Voici un exemple d’une requête qui modifie le niveau de visibilité d’un projet de privé à public : 

image6

resultat_requete_public.json 

Voici un exemple d’une requête qui modifie le niveau de visibilité d’un projet de public a privé :

image7


resultat_requete_prive.json 

A noter qu’il est impossible de changer le niveau de visibilité d’un élément privé en élément public s’il appartient à un groupe privé, auquel cas on obtiendra un message d’erreur.  

image8

Nous pouvons utiliser l’API REST GitLab en utilisant la méthode « DELETE » afin de supprimer les projets (voir documentation: https://docs.gitlab.com/ee/api/projects.html#edit-project)

Il est impossible de supprimer plusieurs projets à la fois, il nous faudra envoyer plusieurs requêtes programmatiquement à l’aide d’une boucle.

Voici un exemple d’une requête qui supprime un projet :

image9

On obtient une réponse « 202 Accepted » :

image10

resultat_requete_supprime.json

Modification de la page « projects.html » pour correspondre à mes besoins

J’ai crée un bouton « Page précedente », un bouton « Page suivante » et ai ajouté entre les deux un texte indiquant la page actuelle et la page maximale.

image11

J’ai crée des boutons Supprimer, Visibilité publique, Visibilité interne et Visibilité privée afin de pouvoir changer la visibilité des projets et de pouvoir les supprimer

image12

J’ai importé les boutons « Tout cocher » et « Tout décocher » du TP3

image13

2-1 Réalisation des exigences fonctionnelles, coté javascript

adapter la fonction createTableRow afin de correspondre à mon tableau

image15

créer une fonction qui supprime les projets cochés

image16

créer une fonction qui change la visibilité des projets cochés

image17
image18

adapter la fonction retrieveProjects afin de n’afficher que une page précise

image19

créer une fonction qui affiche la page précédente et une autre qui affiche la page suivante

image20
image21

créer une fonction qui obtient le nombre maximum de pages afin de l’afficher

image22
Étiquettes: