Compétences visées | B1.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 contexte | Apport d’évolutions sur une application web d’administration de ressources d’une plateforme Gitlab |
Ressources fournies | Cahier 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 attendus | Etude 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ée | 6 séances |
J’ai créé le projet.

J’ai créé les tickets.

J’ai créé les milestones.


Maquette : Projets


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.

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

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

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.

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

J’ai installé la paquet Gitlab


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

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

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

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


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

La sauvegarde a bien été restaurée

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 :

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

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.

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 :

On obtient une réponse « 202 Accepted » :

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.

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

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

2-1 Réalisation des exigences fonctionnelles, coté javascript
adapter la fonction createTableRow afin de correspondre à mon tableau

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

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


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

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


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