Vous êtes sur la page 1sur 7

Un projet est une initiative planifiée visant un objectif dans un délai défini,

impliquant des ressources et un budget.

La gestion de projet organise temporairement des actions avec des


ressources dédiées pour atteindre un objectif spécifique.

Une ressource est un élément nécessaire à la réalisation d'une tâche ou


d'un projet. incluent les personnes, outils, finances et temps.

La conduite d'un projet crée des résultats concrets, appelés "livrables"

Les livrables sont les résultats tangibles et mesurables attendus par le


client final , pouvant être multiples.

La charte de projet est un document concis détaillant les objectifs, la


réalisation et les parties prenantes d'un projet.

Parties prenantes d'un projet :


Acteurs internes:
Le commanditaire: Premier concerné par le projet.
Le sponsor du projet: Parrain du projet, responsable de sa réalisation.
Utilisateurs, services impactés: jouent un rôle dans l'utilisation finale.
La direction : Représente le pouvoir décisionnel et de contrôle ultime.
L'équipe projet: les membres impliqués dans la réalisation du projet.
Services supports impliqués: Comptabilité, logistique, ressources humaines..
Actionnaires: Attendent des résultats et performances valorisant leur
patrimoine.
Autres experts: Apportent des conseils ponctuels.
Syndicats et représentants du personnel: la défense des intérêts des salariés.

Acteurs externes:
Les clients: impactés directement ou indirectement par le projet.
Les fournisseurs: Fournisseurs de matières, prestations, main d'œuvre..
Communautés d'utilisateurs: la perception du projet.
Organismes privés: Associations, ONG, contribuant à différents aspects du
projet.
Investisseurs / partenaires financiers: Ayant des exigences de rentabilité et
de sécurisation des ressources.

Chef de projet informatique : Expert en informatique, responsable de diriger


l'équipe et gère le projet de sa conception à la maintenance, Sous la supervision
d'un directeur des systèmes d'information.
Matrice d’assignation des responsabilités (RACI): Outil qui clarifie les rôles
et responsabilités des membres de l'équipe dans la réalisation des tâches ou
livrables d'un projet.
Caractéristiques de base d’un projet:
Objectifs clairement définis pour satisfaire un besoin spécifique.
Limité dans le temps, avec un début et une fin.
Activités transformant des ressources en résultats dans un délai spécifié.
Ressources incluent argent, personnel, matériel, temps, connaissances, etc.
Résultats créent des biens ou services, menant à la réalisation de l'objectif
spécifique du projet.
Contraintes dans la gestion d’un projet: Limites générales telles que délais,
coûts, qualité et risques.
les methodes previsible (cascades, V, Y): méthodes rsans rétroactivité,
impliquent que le chef de projet assure l'accomplissement des tâches

Le modèle en cascade ( Waterfall ) : Approche linéaire et séquentielle des phases et


activités du projet.
Avantage : Planning précis dès le départ.
Inconvénients : Difficulté à diviser des projets complexes ,Flexibilité limitée pour les
ajustements, Détection d'erreurs retardée

Le cycle en Y : Modèle de gestion de projet intégrant les résultats de deux branches en


Y.

Le cycle en V : Modèle de gestion de projet évitant les retours fréquents en arrière,


favorisant une progression solide, mais moins réactif aux changements et peu
adaptable.

Méthodes imprévisibles (Agile) : Approche découpant le projet en parties


autonomes (itérations), caractérisée par une flexibilité et une itérativité distinctes
des méthodes traditionnelles.

Le Manifeste Agile est une déclaration rédigée par des experts pour améliorer le
développement de logiciels.

Les 4 valeurs agiles :


1. Individus et Interactions : Valorisation l'importance des personnes et de leurs
interactions.
2. Logiciels Opérationnels : Priorité aux logiciels fonctionnels, minimisation de la
documentation exhaustive.
3. Collaboration avec les Clients : Préférence pour la collaboration continue avec les
clients.
4. Adaptation au Changement : Priorité à l'adaptation dynamique en réponse aux
changements.
Méthode Scrum : une méthode agile de gestion de projet ,implique des
réunions quotidiennes et utilise des sprints.

SCRUM Master : Le responsable de projet.

paties prenantes : personnes concerné par les resultat obtenus

PRODUCT OWNER : le responsable de la vision et des exigences du


produit.

SCRUM TEAM : responsable de la réalisation des fonctionnalités du


produit.

DAILY SCRUM : réunion quotidienne pour synchroniser les objectifs.

sprints : cycles de développement courts.

sprint backlog : une liste de tâches à exécuter au cours d'un sprint.

Processus de la méthode SCRUM:


1. Pre-Game : planification + architecture
2. Game : Sprint + réunion Scrum
3. Post-Game : Démo + clôture

Role de Prodcut Owner :


1. Definit les caract.
2. Decide de la date de livraison et du contenu.
3. Accepte ou rejette les resultats.
4. Periorise les fonctions conformément a leurs valeurs business.
5. Ajust les priorités pour chaque sprint.

Role de Equipe de developpemet :


1. Entre 5 et 9 personnes
2. Pluridiciplinaire
3. Dediee au projet
4. Auto organiséé
Role SCRUM MASTER :
1. Responsable de la mise en œuvre es valuers et des pratiques de scrum.
2. S’assurer que l’équipe est fonctionnelle et productive.
3. Permettre la bonne cooperation entre les divres roles et fonction.
4. Proteger l’équipe de tout intervention exterieure.
5. Eliminer les obstacles

Role Parties Pernantes :


1. Marché
2. Client final/utilisateur
3. Stratégie d’innovation
4. Autres equipes de l’entreprise

Role Utilisateurs:
1. Expert
2. details les fontionnalites
3. Priorité

DONE : garantit que le produit est terminé et prêt à être livré.

Les Grandes Etapes de Scrum :


1: le produit backlog
2:
le sprint.
Le sprint planning meeting
le Daily SCRUM:La melee quotidienne
concrétement:comment on s'organiser dans le sprint
3: sprint review
4: sprint retrospective

Artefacts SCRUM : designe un produit ayant subi une transformation.

Les Artefacts Scrum sont :


1. Product backlog
2. sprint backlog
3. L’increment de produit
BACKLOG PRODUIT:
1. Detailled appropriatly
2. Estimated
3. Evolutive
4. Prioritised
Git Commands:
git init : Crée un nouveau dépôt.

git status : Affiche l'état des modifications dans le répertoire par rapport au
(HEAD).
- Flag: -s ou --short : Plus brève.

git add : Ajoute des fichiers au suivi (staging).


- Flag: -A ou --all : Ajoute toutes les modifications.

git commit : Enregistre les modifications.


- Flag: -m <message> : Message de commit.

git clone : Clone un dépôt.


- Flag: -b <branche> : Clone une branche spécifique.

git pull : Récupère les modifications depuis le dépôt distant.

git fetch : Récupère les dernières modifications sans les fusionner.

git push : Publie les modifications depuis HEAD vers un dépôt distant.

git diff : Affiche les différences entre le répertoire de travail et l'index.

git log : Affiche l'historique des commits.


- Flag: --oneline : Affiche chaque commit sur une ligne.
- Flag: --graph : Dessine un graphique basé sur l'historique.

git branch : Liste les branches disponibles.


- Flag: -a ou --all : Liste toutes les branches.

git checkout : Bascule entre les branches ou restaure des fichiers.


- Flag: -b <nouvelle_branche> : Crée une nouvelle branche et bascule
dessus.

git merge : Fusionne les modifications d'une branche dans une autre.

git rm : Supprime des fichiers de l'index.


- Flag: --cached : Conserve les fichiers dans le répertoire de travail.

git mv : Déplace ou renomme des fichiers.

git reset : Annule des commits.


- Create a file :
touch exemple.txt
echo "test" >exemple.txt
Git : est un système de contrôle de version distribué pour suivre les changements
dans le code source.

Branches : Permettent le développement isolé de fonctionnalités.

Version : Représente le contenu du projet à un moment de son cycle de vie.

Dépôt (repository) : L'historique du projet, contenant toutes ses versions.

Répertoire de travail (working directory) : Correspond aux fichiers actuellement


sauvegardés localement.

Index ou zone de staging : Espace de transit permettant de préparer les


modifications avant de les valider dans un commit.

HEAD : Pointe sur la dernière validation (commit) dans le dépôt.

GitLab : est une plateforme basée sur Git, offrant des outils de gestion de projet et
de collaboration , tels que :
• Planification
• Test logiciel
• Gestion des configurations
• Intégration et déploiement continus
• Collaboration et suivi de projet.

GitHub : est une plateforme web pour l'hébergement et la collaboration sur des
dépôts Git.

fork : permet de créer un environnement isolé où l'on peut expérimenter des


modifications sans impacter le projet principal.

fusion ("merge") combine les modifications de deux branches.

Merge Request (Pull Request sur GitHub) est le moyen de proposer et examiner
des modifications de code avant de les fusionner dans une branche principale.

Un conflit de fusion se produit lorsque deux branches modifient la même partie


d'un fichier, nécessitant une résolution manuelle par le développeur.

SonarQube : Logiciel open source qui identifie les problèmes de qualité dans
le code source et estime le temps nécessaire pour les résoudre.

Couches de SonarQube :
• Un exécuteur qui lance des outils d'analyse.
• Une base de données stockant les informations des projets.
• Un serveur web pour naviguer les analyses des projets.
Types de métriques :
• Densité des commentaires, Taux de couverture des tests,
Conventions de nommage.
• Respect des règles de codage, Détection de bogues, Code
mort, Code dupliqué.
• Complexité du code, Score de maintenabilité, fiabilité et
sécurité, Dette technique.

Sonarqube calcule la complexité d'un code par :


• la complexité cyclomatique : qui compte le nombre de chemins
d'exécution.
• la complexité cognitive : évaluant la difficulté de compréhension.

SonarQube classe les défauts logiciels en trois catégories :


• Bugs : anomalies évidentes impactant la fiabilité.
• Vulnérabilités : faiblesses pouvant nuire à la sécurité.
• Code smells : anti-patrons, impactant la maintenabilité (ex. code
dupliqué).

Tableau de bord : Affiche les scores de maintenabilité, fiabilité, sécurité,


taux de couverture des tests, taux de duplications, taille du projet, et
langages sources par rapport au projet actuel.

Avantages de SonarQube :
• Analyse statique du code.
• Tableau de bord centralisé.
• Intégration continue.

Inconvénients de SonarQube :
• Configuration initiale complexe.
• Besoin d'une maintenance régulière.
• Certaines règles peuvent être strictes.

Outils de SonarQube :
- Base de données : Stocke les configurations, résultats d'analyse.
- SonarScanner : Outil de commande pour exécuter l'analyse de code.
- Serveur SonarQube : gère les données d'analyse de code.
- Outils CI/CD : Automatisent l'analyse de code par des pipelines CI/CD.

Vous aimerez peut-être aussi