initial commit
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
# GND100-27-09-24
|
||||
|
||||
## Qu'est-ce qu'un projet ?
|
||||
|
||||
### Des instances :
|
||||
|
||||
Les différentes instance :
|
||||
|
||||
* La direction général doit être appliqué.
|
||||
Le comité de pilotage
|
||||
* Rassurer le client, être honête, rassurer, ou on en est, ce qu'il reste.
|
||||
* equipe projet,
|
||||
* les pilotes
|
||||
|
||||
a partir d'un certaine taille d'une entreprise, on peut retrouver un cohoridinateur.
|
||||
|
||||
La Loi de 80/20%
|
||||
|
||||
|
||||
|
||||
TP :
|
||||
|
||||
Eddie Obeng est un entrepreneur, éducateur et auteur reconnu pour ses travaux sur le management et l'innovation. Il est le fondateur de l'école de management "Pentacle" et a développé des concepts sur la façon de naviguer dans un monde en constante évolution, en mettant l'accent sur la créativité et la collaboration. Ses conférences et publications portent souvent sur l'importance de l'adaptabilité et de l'apprentissage continu dans le milieu professionnel. Si tu cherches des informations spécifiques sur ses travaux ou ses idées, n'hésite pas à demander !
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,4 @@
|
||||
# GND100-08-01-25
|
||||
|
||||
## Les fondamentaux du management de projet
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
# GDN 100 Management
|
||||
|
||||
* [27/09/24](./GDN100-27-09-24/)
|
||||
* [08/01/25](./GDN100-08-01-25/)
|
||||
* [06/03/25](./GDN100-06-03-25/)
|
||||
* [17/04/25](./GDN100-17-04-25/)
|
||||
@@ -0,0 +1,32 @@
|
||||
# NFE114 05 03 2025
|
||||
|
||||
## Différente méthode
|
||||
|
||||
- Méthode en V, la classque
|
||||
- Methode Agile
|
||||
|
||||
Etre agil, c'est surtout, concidérer le bien être.
|
||||
Accorder une grande importance sur l'avis client.
|
||||
Avoir une productivité efficace.
|
||||
|
||||
## Commeent commencer un projet :
|
||||
|
||||
* Besoins
|
||||
* Analyse des besoins
|
||||
* Etude de faisabilités
|
||||
* Expression de Besoin
|
||||
* Cahier des charges
|
||||
* Expression fonctionnelles
|
||||
* Etude
|
||||
* Modelisation
|
||||
* Developpement
|
||||
|
||||
## La Méthode Agil
|
||||
|
||||
Créé en 2001 par 17 consultants
|
||||
Découper le besoin et prioriser
|
||||
Découper la réalisation
|
||||
- Livrer fréquemment des incréments de produit
|
||||
- Accepter les changement
|
||||
Controller régulièrement les changements.
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
@@ -0,0 +1,39 @@
|
||||
# NFE114 16 04 2025
|
||||
|
||||
## Agilité
|
||||
|
||||
Représente les 3 éléments :
|
||||
|
||||
- Lesindividus et leur interactions
|
||||
- Des logiciels opérationnels
|
||||
- L'adaptation au changement
|
||||
|
||||
Product BackLog :
|
||||
Product Owner :
|
||||
Sprint backlog :
|
||||
Equipe :
|
||||
Daily meeting :
|
||||
Sprint :
|
||||
Produit lirable :
|
||||
|
||||
## Scrum
|
||||
|
||||
USER STORIES :
|
||||
|
||||
| En tant que | Je voudrais | Afin de |
|
||||
| :---------------: |:---------------:| :-----:|
|
||||
| Visiteur | Visualiser la page d'acceuil | Voir les dernière offre du moment |
|
||||
| Visiteur | Chercher un restaurant | Trouver un endroit ou manger |
|
||||
| Visiteur | Vérifier les restaurants autour de moi | Trouver un endroit ou manger |
|
||||
| Visiteur | M'inscrir | Pouvoir reserver un restaurant |
|
||||
| Visiteur | Me connecter | Pouvoir reserver un restaurant |
|
||||
| Membre | Pouvoir reserver un restaurant | Organiser un repas en restaurant |
|
||||
| Membre | D'accèder a un profil | Pouvoir changer mes données |
|
||||
| Membre | Supprimer mon compte | Pouvoir converserver mon anonyma sur internet |
|
||||
| Modératuer | Ajouter une annonce | Promouvoir un restaurant |
|
||||
| Admnistrateur | Accèder au back office | Pouvoir gérer les rôles utilisateur |
|
||||
|
||||

|
||||
|
||||
quel est m'inportance entre Scrum master et product owner
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# NFE114 30 04 25
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# NFE114 12 06 25
|
||||
|
||||
## Date exam
|
||||
|
||||
NFE114 23 Juin Mr Larcher ou Madame Kanaoui
|
||||
RSX101 27 juin après midi Mr Karouit
|
||||
NSY104 8 Juillet Matin Mr Kourital
|
||||
Sec102 CC
|
||||
Sec101 Jeudi 7/10/11 Septembre Mr LARCHER
|
||||
RSX112 Vendredi 7/10/11 Septembre Mr LARCHER
|
||||
|
||||
## Soutenance :
|
||||
|
||||
Fin juin
|
||||
|
||||
Entreprise, Service, Mission,
|
||||
|
||||
## NFE114 :
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# NFE114 Système d'information Web
|
||||
|
||||
* [05/03/25](./NFE114-05-03-25)
|
||||
@@ -0,0 +1,191 @@
|
||||
# Revision NFE114
|
||||
|
||||
## Agil
|
||||
|
||||
>origine USA, en 2001
|
||||
|
||||
### Les étapes d’un projet classique
|
||||
|
||||
- besoin
|
||||
- analyse des besoins
|
||||
- etude de faisabilité
|
||||
- expression des besoins
|
||||
- cahier des charges
|
||||
- expression fonctionnel
|
||||
- etude
|
||||
- modelisation
|
||||
- dev
|
||||
|
||||
### Faiblesses méthode classique :
|
||||
|
||||
- peu d’adaptation aux changement du client
|
||||
- peu de relation avec le client
|
||||
- faible gestion de l’incertitude et du risque
|
||||
|
||||
### Objectif de l’agilité :
|
||||
|
||||
- trouver un compromis entre minimum de méthode tout en restant adaptable et créatif
|
||||
- accepter le changement des besoins et être capable d’y répondre
|
||||
- privilégier le code plutôt que la documentation
|
||||
|
||||
### Les moyens :
|
||||
- utiliser un dev iteratif et incrémental
|
||||
- decouper le besoin et prioriser
|
||||
- decouper la réalisation : livrer fréquemment des incrément de produit, accepter les changement
|
||||
-controler régulièrement l’avancement avec les parties prenantes
|
||||
|
||||
Def partie prenante : `personne qui est intéressé d’une façon ou d’une autre par le produit réalisé par l’ équipe`
|
||||
|
||||
### Manifeste Agile
|
||||
|
||||
- Individus et interactions -plutot-que-> Procédures et outils
|
||||
- Un logiciel fonctionne -plutot-que-> Documentation exhaustive
|
||||
- Collaboration avec le clien -plutot-que-> Négociation du contrat
|
||||
- Adaptation au changement -plutot-que-> Exécution d'un plan
|
||||
|
||||

|
||||
|
||||
### Facteurs de succès des méth. agiles
|
||||
|
||||
- Le client / l’utilisateur (ou son représentant) est impliqué quotidiennement
|
||||
- Le management intermédiaire soutient l’équipe
|
||||
- L’équipe est auto-organisée
|
||||
- Les pratiques sont adaptées au mode incrémental
|
||||
- "Des tests automatisés : rejoués souvent
|
||||
- Code compréhensible car va être sans doute modifié
|
||||
- Code collectif
|
||||
|
||||
### Attentes et bénéfices des Méth Agiles
|
||||
|
||||
#### Attentes
|
||||
1. Accélérer la livraison des logiciels et leur mise sur le marché (75%)
|
||||
2. Bien gérer les changements de priorité dans les besoins des utilisateurs (64%)
|
||||
3. Accroître la productivité des équipes (55%)
|
||||
4. Mieux aligner les attentes du Métier et de la DSI (49%)
|
||||
5. Améliorer la qualité du code produit (46%)
|
||||
|
||||
#### Bénéfices
|
||||
|
||||
1. Bien gérer les changements de priorité dans les besoins des utilisateurs (71%)
|
||||
2. Avoir une bonne visibilité des projets
|
||||
3. Mieux aligner les attentes du Métier et de la DSI (65%)
|
||||
4. Accélérer la livraison des logiciels et leur mise sur le marché (62%)
|
||||
5. Accroître la productivité des équipes (61%)
|
||||
|
||||
## Scrum
|
||||
|
||||
### ROLES SCRUM
|
||||
|
||||
- PRODUCT OWNER
|
||||
|
||||
- Définit les caractéristiques du produit
|
||||
- Décide de la date de livraison et du contenu
|
||||
- Responsable du retour sur investissement du produit
|
||||
- Priorise les fonctions conformément à leurs valeurs business
|
||||
- Ajuste les priorités pour chaque sprint
|
||||
- Accepte ou rejette les résultats
|
||||
|
||||
- SCRUM MASTER
|
||||
|
||||
- Responsable de la mise en œuvre des valeurs et des pratiques de SCRUM
|
||||
- Eliminer les obstacles
|
||||
- S’assurer que l’équipe est fonctionnelle et productive
|
||||
- Permettre la bonne coopération entre les divers rôles et fonctions
|
||||
- Protéger l’équipe de toute intervention extérieure
|
||||
|
||||
- EQUIPE DE DÉVELOPPEMENT
|
||||
|
||||
- Entre 5 et 9 personnes
|
||||
- Pluridisciplinaire
|
||||
- Dédiée au projet
|
||||
- Auto organisée
|
||||
|
||||
- PARTIES PRENANTES
|
||||
|
||||
- Personne, ou groupe de personnes qui a des intérêts sur un projet et qui est concerné par les résultats obtenus
|
||||
- Exemple de parties prenantes :
|
||||
- Marché
|
||||
- Client final / utilisateur
|
||||
- Stratégie d’innovation
|
||||
- Autres équipes de l’entreprise
|
||||
|
||||
- UTILISATEURS
|
||||
|
||||
- Expert
|
||||
- Source d’information privilégiée pour
|
||||
- Priorité
|
||||
- Détails des fonctionnalités
|
||||
|
||||
### CÉRÉMONIES
|
||||
|
||||

|
||||
|
||||
#### SPRINT PLANNING : PARTIE 1
|
||||
|
||||
Role : PRODUCT OWNER, SCRUM MASTER, EQUIPE DE DÉVELOPPEMENT, PARTIES PRENANTES
|
||||
Temps : 90 min
|
||||
|
||||
- Présentation de l’objectif du sprint
|
||||
- Présentation des stories
|
||||
- Construction du backlog de sprint
|
||||
- Engagement de l’équipe
|
||||
|
||||
#### SPRINT PLANNING : PARTIE 2
|
||||
|
||||
Role : SCRUM MASTER, EQUIPE DE DÉVELOPPEMENT
|
||||
Temps : 60 min
|
||||
|
||||
- Conception en équipe
|
||||
- Découpage en tâche
|
||||
- Estimation des tâches
|
||||
|
||||
#### MÊLÉE QUOTIDIENNE
|
||||
|
||||
>C'est un daily
|
||||
|
||||
Role : SCRUM MASTER, EQUIPE DE DÉVELOPPEMENT
|
||||
Temps : 15 min, tout les jours
|
||||
|
||||
- Qu’ai-je fait hier ?
|
||||
- Que vais-je faire aujourd’hui ?
|
||||
- Est-ce que je rencontre des obstacles ?
|
||||
|
||||
#### DÉMONSTRATION
|
||||
|
||||
Role : PRODUCT OWNER, SCRUM MASTER, EQUIPE DE DÉVELOPPEMENT, PARTIES PRENANTES, UTILISATEURS
|
||||
Temps : 90 min
|
||||
|
||||
- Chacun présente ce qu’il a fait
|
||||
- Le PO accepte ou rejette les résultats
|
||||
- Le PO note les retour
|
||||
|
||||
#### RÉTROSPECTIVE
|
||||
|
||||
- Mise en condition
|
||||
- Revue des précédentes actions
|
||||
- Rassembler les données
|
||||
- Chercher des idées
|
||||
- Plan d’action
|
||||
|
||||
## USER STORIES
|
||||
|
||||
`« En tant que, j'aimerai, afin de »`
|
||||
|
||||

|
||||
|
||||
| En tant que | je voudrais | afin de |
|
||||
|:--|:--|:--|
|
||||
| Invité | pouvoir me créer un compte | créer un compte |
|
||||
| Technicien | pouvoir ajouter des tickets à mon tableau | pouvoir accéder à mes tickets |
|
||||
| Technicien | pouvoir ajouter des tickets à mon tableau | pouvoir tracer les interventions |
|
||||
| Technicien | pouvoir modifier mes tickets | rectifier et décrire l’avancée d’un ticket |
|
||||
| Technicien | pouvoir organiser mes tickets | d’être organisé |
|
||||
| Technicien | pouvoir créer plusieurs tableaux Kanban | séparer les différents projets |
|
||||
| Technicien | pouvoir m’authentifier | d’accéder à l’application |
|
||||
| Technicien | pouvoir ajouter des images à un ticket | ajouter des détails à mon ticket |
|
||||
| Technicien | pouvoir rechercher mes tickets | retrouver mes anciens tickets |
|
||||
| Chef d’équipe | pouvoir assigner des tickets | mieux gérer la résolution de ticket |
|
||||
| Chef d’équipe| pouvoir m’authentifier | accéder à l’application |
|
||||
| Chef d’équipe | pouvoir faire tout ce qu’un technicien peut faire | accès aux mêmes fonctionnalités |
|
||||
| Administrateur | pouvoir gérer les rôles des utilisateurs | attribuer la bon rôle au bon utilisateur |
|
||||
| Administrateur | je veux pouvoir m’authentifier | accéder à l’application |
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 75 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 48 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,16 @@
|
||||
| En tant que | je voudrais | afin de |
|
||||
|:--|:--|:--|
|
||||
| Invité | pouvoir me créer un compte | créer un compte |
|
||||
| Technicien | pouvoir ajouter des tickets à mon tableau | pouvoir accéder à mes tickets |
|
||||
| Technicien | pouvoir ajouter des tickets à mon tableau | pouvoir tracer les interventions |
|
||||
| Technicien | pouvoir modifier mes tickets | rectifier et décrire l’avancée d’un ticket |
|
||||
| Technicien | pouvoir organiser mes tickets | d’être organisé |
|
||||
| Technicien | pouvoir créer plusieurs tableaux Kanban | séparer les différents projets |
|
||||
| Technicien | pouvoir m’authentifier | d’accéder à l’application |
|
||||
| Technicien | pouvoir ajouter des images à un ticket | ajouter des détails à mon ticket |
|
||||
| Technicien | pouvoir rechercher mes tickets | retrouver mes anciens tickets |
|
||||
| Chef d’équipe | pouvoir assigner des tickets | mieux gérer la résolution de ticket |
|
||||
| Chef d’équipe| pouvoir m’authentifier | accéder à l’application |
|
||||
| Chef d’équipe | pouvoir faire tout ce qu’un technicien peut faire | accès aux mêmes fonctionnalités |
|
||||
| Administrateur | pouvoir gérer les rôles des utilisateurs | attribuer la bon rôle au bon utilisateur |
|
||||
| Administrateur | je veux pouvoir m’authentifier | accéder à l’application |
|
||||
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
nbDecimal = int(input("Donner un nombre entier à convertir en binaire : "))
|
||||
nbBinaire = []
|
||||
|
||||
tmp = nbDecimal
|
||||
|
||||
while tmp != 0:
|
||||
reste = tmp % 2
|
||||
nbBinaire.append(reste)
|
||||
tmp = tmp // 2
|
||||
nbBinaire.reverse()
|
||||
print("({})b10 = ({})b2".format(nbDecimal, nbBinaire))
|
||||
@@ -0,0 +1,11 @@
|
||||
nbDecimal = int(input("Donner un nombre entier à convertir en binaire : "))
|
||||
nbBinaire = []
|
||||
|
||||
tmp = nbDecimal
|
||||
|
||||
while tmp != 0:
|
||||
reste = tmp % 2
|
||||
nbBinaire.append(reste)
|
||||
tmp = tmp // 2
|
||||
nbBinaire.reverse()
|
||||
print("({})b10 = ({})b2".format(nbDecimal, nbBinaire))
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
''' conversion partie fractionnaire d'un nombre décimal en binaire '''
|
||||
|
||||
def calcul(nbDec):
|
||||
digit = []
|
||||
while nbDec != 0:
|
||||
nbDec *= 2
|
||||
digit.append((int(nbDec)))
|
||||
nbDec = nbDec - int(nbDec)
|
||||
return digit
|
||||
|
||||
if __name__ == '__main__':
|
||||
nbDec = float(input("Donner le nombre décimal à convertir : "))
|
||||
print(calcul(nbDec))
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
''' conversion partie fractionnaire d'un nombre décimal en binaire '''
|
||||
|
||||
def calcul(nbDec):
|
||||
digit = []
|
||||
while nbDec != 0:
|
||||
nbDec *= 2
|
||||
digit.append((int(nbDec)))
|
||||
nbDec = nbDec - int(nbDec)
|
||||
return digit
|
||||
|
||||
if __name__ == '__main__':
|
||||
nbDec = float(input("Donner le nombre décimal à convertir : "))
|
||||
print(calcul(nbDec))
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
''' conversion partie fractionnaire d'un nombre décimal en binaire '''
|
||||
|
||||
def calcul(nbDec):
|
||||
digit = []
|
||||
while nbDec != 0:
|
||||
nbDec *= 2
|
||||
digit.append((int(nbDec)))
|
||||
nbDec = nbDec - int(nbDec)
|
||||
return digit
|
||||
|
||||
if __name__ == '__main__':
|
||||
nbDec = float(input("Donner le nombre décimal à convertir : "))
|
||||
print(calcul(nbDec))
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
''' conversion partie fractionnaire d'un nombre décimal en binaire '''
|
||||
|
||||
def calcul(nbDec):
|
||||
digit = []
|
||||
while nbDec != 0:
|
||||
nbDec *= 2
|
||||
digit.append((int(nbDec)))
|
||||
nbDec = nbDec - int(nbDec)
|
||||
return digit
|
||||
|
||||
if __name__ == '__main__':
|
||||
nbDec = float(input("Donner le nombre décimal à convertir : "))
|
||||
print(calcul(nbDec))
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
''' conversion partie fractionnaire d'un nombre décimal en binaire '''
|
||||
|
||||
def calcul(nbDec):
|
||||
digit = []
|
||||
nbDec = nbDec - int(nbDec)
|
||||
while nbDec != 0:
|
||||
nbDec *= 2
|
||||
digit.append((int(nbDec)))
|
||||
nbDec = nbDec - int(nbDec)
|
||||
return digit
|
||||
|
||||
if __name__ == '__main__':
|
||||
nbDec = float(input("Donner le nombre décimal à convertir : "))
|
||||
print(calcul(nbDec))
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,73 @@
|
||||
# NSY104 09 01 2025
|
||||
|
||||
> Le Module est un 100% parcielle, il n'y a pas e devoir maison.
|
||||
|
||||
## Numération de base
|
||||
|
||||
### Addition Binaire :
|
||||
|
||||
01101+10111 = 100100
|
||||
|
||||
### Soustraction Binaire :
|
||||
|
||||
1101110-10111 = 1010111
|
||||
|
||||
Voir des video car le prof explique ... commme à son habitude.
|
||||
|
||||
### Exercice :
|
||||
|
||||
#### 2.1 :
|
||||
|
||||
397 = 110001101
|
||||
133 = 10000101
|
||||
110 = 1101110
|
||||
|
||||
101 = 5
|
||||
0101 = 5
|
||||
1101110 = 110
|
||||
|
||||
#### 2.2
|
||||
|
||||
a) 1100+1000 =
|
||||
|
||||
1100
|
||||
+1000
|
||||
------
|
||||
10100
|
||||
|
||||
b) 1001+1011 =
|
||||
|
||||
1001
|
||||
+1011
|
||||
------
|
||||
10100
|
||||
|
||||
c) 1100-1000 =
|
||||
|
||||
1100
|
||||
-1000
|
||||
------
|
||||
0100
|
||||
|
||||
d) 1000-101 =
|
||||
|
||||
1000
|
||||
- 101
|
||||
------
|
||||
0011
|
||||
|
||||
e) 1+1+1+1 =
|
||||
|
||||
1 1 10
|
||||
+ 1 -> + 1 -> + 10
|
||||
---- ---- ----
|
||||
10 10 100
|
||||
|
||||
#### 2.3
|
||||
|
||||
a) 1011*11
|
||||
|
||||
1011
|
||||
* 11
|
||||
----
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
Ce programme initialise la variable n à 10, et l’élève au carré plusieurs fois. Les valeurs
|
||||
affichées devraient donc être toutes des puissances de 10, mais en exécutant le programme,
|
||||
vous verrez que ce n’est pas le cas pour les dernières valeurs, qui sont trop grandes pour
|
||||
être représentées correctement par le type int. Vous pouvez également changer le type de
|
||||
n de int à long et short pour voir l’impact sur les valeurs calculées.
|
||||
Soyez donc vigilants quand votre programme doit travailler avec de grandes valeurs !
|
||||
|
||||
Les entiers :
|
||||
byte : 1 octet de – 128 à 127
|
||||
short : 2 octets de – 32 768 à 32 767
|
||||
int : 4 octets de – 2 147 483 648 à 2 147 483 647
|
||||
long : 8 octets de – 9 223 372 036 854 775 808 à 9 223 372 036 854 775 807
|
||||
|
||||
Les réels :
|
||||
float : 4 octets de 1.40239846e-45F à 3.402823347e38F
|
||||
double : 8 octets de 4.94065645841246544e-324D à 1.79769313486231570e308D
|
||||
|
||||
Note : Pour utiliser les valeurs limites en Java, on peut utiliser les constantes suivantes :
|
||||
- Integer.MAX_VALUE
|
||||
- Double.MAX_VALUE
|
||||
|
||||
*/
|
||||
|
||||
|
||||
public class Depassement {
|
||||
|
||||
public static void main(String[] args) {
|
||||
int n = 10;
|
||||
System.out.println( n );
|
||||
for (int i = 0; i < 5; i++){
|
||||
n = n * n;
|
||||
System.out.println( n );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
|
||||
|
||||
public class Imprecision {
|
||||
public static void main(String[] args) {
|
||||
test1();
|
||||
test2();
|
||||
test3();
|
||||
|
||||
}//main
|
||||
|
||||
static void test1(){
|
||||
|
||||
/*Si le type double pouvait représenter parfaitement les valeurs réelles, ce programme
|
||||
afficherait 0. Or, sur mon ordinateur, j’obtiens environ la valeur 7.10E−15 , qui est une valeur
|
||||
très petite mais pas nulle. C’est parce que la variable racine ne peut stocker exactement
|
||||
la racine de a, et donc l’expression racine * racine ne vaut pas exactement a.
|
||||
*/
|
||||
|
||||
|
||||
double a = 37.0;
|
||||
double racine = Math.sqrt(a);
|
||||
System.out.println("test1 : " + (a - racine * racine) );
|
||||
}//test1
|
||||
|
||||
static void test2(){
|
||||
|
||||
/*C’est pour ça que les tests d’égalité ou d’inégalité entre double (ou float) NE DEVRAIENT PAS ÊTRE utilisés.
|
||||
Par exemple, le code suivant, n’affiche rien, contrairement à ce qu’on pourrait s’attendre.
|
||||
*/
|
||||
|
||||
double a = 37.0;
|
||||
double racine = Math.sqrt(a);
|
||||
if (a == racine * racine) {
|
||||
System.out.println( "test2 : ok" );
|
||||
}
|
||||
else System.out.println("test2 : pas ok !");
|
||||
}//test2
|
||||
|
||||
static void test3(){
|
||||
|
||||
/*Si vous devez absolument comparer des valeurs de type double vous pouvez utiliser un test tel que celui-ci :*/
|
||||
|
||||
double a = 37.0;
|
||||
double racine = Math.sqrt(a);
|
||||
double epsilon = 7.105427357601003E-15; // test1() donne pour (a - racine * racine) = 7.105427357601002E-15
|
||||
if (Math.abs(a - racine * racine) < epsilon) {
|
||||
System.out.println( "test3 : ok" );
|
||||
}
|
||||
|
||||
/*où epsilon est une très petite valeur et abs calcule la valeur absolue. Cette valeur de-
|
||||
vrait être choisie selon la précision du type utilisé, mais comment déterminer cette valeur
|
||||
idéalement sort largement du cadre de ce cours.*/
|
||||
|
||||
}//test3
|
||||
|
||||
}//class
|
||||
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
def twos_comp(val, bits):
|
||||
"""compute the 2's compliment of int value val"""
|
||||
if( (val&(1<<(bits-1))) != 0 ):
|
||||
val = val - (1<<bits)
|
||||
return val
|
||||
|
||||
|
||||
binary_string = '1111' # or whatever... no '0b' prefix
|
||||
out = twos_comp(int(binary_string,2), len(binary_string))
|
||||
print(out)
|
||||
|
||||
hex_string = '0xFFFFFFFF' # or whatever... '0x' prefix doesn't matter
|
||||
out = twos_comp(int(hex_string,16), 32)
|
||||
print(out)
|
||||
|
||||
overflow = bin(129) # en binaire = 0b1000001 et en hexa = 0x81
|
||||
out = twos_comp(int(overflow,2), 8)
|
||||
print(out)
|
||||
|
||||
overflow = bin(4294967292) # en binaire = 0b11111111111111111111111111111100 et en hexa = 0xfffffffc
|
||||
out = twos_comp(int(overflow,2), 32)
|
||||
print(out)
|
||||
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
|
||||
def dec2bin(d,nb=0):
|
||||
"""dec2bin(d,nb=0): conversion nombre entier positif ou nul -> chaîne binaire (si nb>0, complète à gauche par des zéros)"""
|
||||
if d==0:
|
||||
b="0"
|
||||
else:
|
||||
b=""
|
||||
while d!=0:
|
||||
b="01"[d&1]+b
|
||||
d=d>>1
|
||||
return b.zfill(nb)
|
||||
|
||||
|
||||
|
||||
def dec2bins(d,nb=0):
|
||||
"""dec2bins(d,nb=0): conversion nombre entier signé d -> chaîne binaire pour un mot de nb bits (=0 par defaut) """
|
||||
# calcul de la taille mini du mot permettant de représenter la valeur signée d (signe compris)
|
||||
n=1
|
||||
if d>=0:
|
||||
x=d
|
||||
else:
|
||||
x=-d-1
|
||||
while (1<<n)<=x:
|
||||
n+=1
|
||||
n+=1
|
||||
# valeur de nb à prendre pour la suite des calculs (si nb<n, le nb donné est trop faible pour le d donné)
|
||||
if (nb==0) or (nb<n):
|
||||
nb=n
|
||||
# calculs
|
||||
if d>=0:
|
||||
# on renvoie la chaîne normale, complétée par des "0" à gauche et par le bit de signe = "0"
|
||||
b='0' + dec2bin(d,nb-1)
|
||||
else:
|
||||
# on renvoie la chaîne signée, complétée par des "1" à gauche et par le bit de signe "1"
|
||||
b='1' + dec2bin((1<<(nb-1))+d,(nb-1))
|
||||
return b
|
||||
|
||||
# Exemple d'utilisation:
|
||||
#print dec2bins(4294967292,32)
|
||||
|
||||
|
||||
#komo
|
||||
|
||||
entier = int(input('Donner le nombre entier à convertir : '))
|
||||
form = int(input('Donner le format de conversion : '))
|
||||
print dec2bins(entier,form)
|
||||
@@ -0,0 +1,70 @@
|
||||
#include <stdio.h>
|
||||
|
||||
/*On peut consulter le fichier /usr/include/limits.h pour connaître les valeurs limites des différents types.
|
||||
|
||||
|
||||
Type Occupation mémoire Plage de valeur
|
||||
|
||||
char 1 octet –128 to 127
|
||||
|
||||
int 2 à 4 octets
|
||||
selon implémentation
|
||||
|
||||
short 2 octet –32,768 to 32,767
|
||||
|
||||
long 4 octet –2,147,483,648 to 2,147,483,647
|
||||
|
||||
unsigned char 1 octet 0 to 255
|
||||
|
||||
unsigned int 2 à 4 octets
|
||||
selon implémentation
|
||||
|
||||
unsigned short 2 octet 0 to 65,535
|
||||
|
||||
unsigned long 4 octet 0 to 4,294,967,295
|
||||
|
||||
float 4 octet ±3.4 x 10e38 to ±3.4 x 10e–38
|
||||
|
||||
double 8 octet ±1.7 x 10e–308 to ±1.7 x 10e308
|
||||
|
||||
long double 10 octet ±3.4 x 10e–4932 to ±3.4 x 10e4932
|
||||
|
||||
*/
|
||||
int main(){
|
||||
int entier = 4294967292;
|
||||
int entier2 = 129; // sur 4 octets de 0 a 2147483647 et de -1 a -2147483648
|
||||
char car = 'A'; //sur un octet de 0 a 127 et de -1 a -128
|
||||
|
||||
printf(" taille car= %d\n", sizeof( car ));
|
||||
printf(" taille short = %d\n", sizeof( short ));
|
||||
printf(" taille unsigned short = %d\n", sizeof( unsigned short ));
|
||||
printf(" taille int = %d\n", sizeof( int ));
|
||||
printf(" taille unsigned int = %d\n", sizeof( unsigned int ));
|
||||
printf(" taille long int = %d\n", sizeof( long int ));
|
||||
printf(" taille unsigned long int = %d\n", sizeof( unsigned long int ));
|
||||
printf(" taille long long int = %d\n", sizeof( long long int ));
|
||||
printf(" taille unsigned long long int = %d\n", sizeof( unsigned long long int ));
|
||||
|
||||
printf("4 et 4294967292 en tant que nombre sans signe : %u %u\n", 4, entier);
|
||||
printf("4 et 4294967292 en tant que nombre avec signe : %d %d\n", 4, entier);
|
||||
|
||||
/*
|
||||
4294967292 -> 11111111111111111111111111111100
|
||||
complément à 2 : 00000000000000000000000000000011 + 1 = 00000000000000000000000000000100 -> -4
|
||||
*/
|
||||
|
||||
|
||||
/*entier2 = car;
|
||||
printf("entier = %d\n", entier);*/
|
||||
|
||||
car = entier2;
|
||||
printf("car = %d\n", car);
|
||||
|
||||
// printf("A = %x\n", car); //en hexa
|
||||
// printf("A = %d\n", car); //en decimal
|
||||
|
||||
return 0;
|
||||
|
||||
|
||||
|
||||
}
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1,4 @@
|
||||
# NSY104 18 02 2025
|
||||
|
||||
>Reprise du cours du 09/01/2025
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# NSY104-04-03-25
|
||||
|
||||
Reprise "Représentation des nombres"
|
||||
|
||||
C'est sur à l'examen
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,2 @@
|
||||
# NSY 104 21 05 2025
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
# NSY104-23-05-2025
|
||||
|
||||
## Créer un raid 5 :
|
||||
|
||||
### Installation du packet mdadm :
|
||||
|
||||
```
|
||||
apt install mdadm
|
||||
```
|
||||
|
||||
### création des partitions :
|
||||
|
||||
```
|
||||
cfdisk /dev/sdb
|
||||
```
|
||||
> -> gpt -> New -> Type -> Linux RAID -> Whrite -> Yes
|
||||
```
|
||||
cfdisk /dev/sdc
|
||||
```
|
||||
> -> gpt -> New -> Type -> Linux RAID -> Whrite -> Yes
|
||||
```
|
||||
cfdisk /dev/sdd
|
||||
```
|
||||
> -> gpt -> New -> Type -> Linux RAID -> Whrite -> Yes
|
||||
```
|
||||
cfdisk /dev/sde
|
||||
```
|
||||
> -> gpt -> New -> Type -> Linux RAID -> Whrite -> Yes
|
||||
|
||||
### Création du RAID5 avec mdadm :
|
||||
|
||||
```
|
||||
mdadm --create /dev/md0 --level=raid5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 --spare-device=1 /dev/sde1
|
||||
```
|
||||
|
||||
### Sauvegarde de configuration de la matrice :
|
||||
```
|
||||
mkfs -t ext4 /dev/md0
|
||||
```
|
||||
`en root :`
|
||||
```
|
||||
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
|
||||
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
|
||||
```
|
||||
### Montage du RAID5 :
|
||||
```
|
||||
mount /dev/md0 /mnt
|
||||
```
|
||||
|
||||
### Pour voir les info :
|
||||
```
|
||||
cat /proc/mdstat
|
||||
mdadm --detail /dev/md0
|
||||
```
|
||||
### Pour simuler une pan :
|
||||
```
|
||||
mdadm /dev/md0 -f /dev/sdc1
|
||||
```
|
||||
### Force L'arrêt du disque dans le RAID5
|
||||
```
|
||||
mdadm /dev/md0 --fail /dev/sdc1
|
||||
```
|
||||
### Supprimer un disque du RAID5
|
||||
```
|
||||
mdadm /dev/md0 --remove /dev/sdc1
|
||||
```
|
||||
### Supprimer les informations d'appartenance du disque
|
||||
```
|
||||
mdadm --zero-superblock /dev/sdc1
|
||||
```
|
||||
### Ajouter un disque au RAID5 :
|
||||
```
|
||||
mdadm /dev/md0 -a /dev/sdc1
|
||||
```
|
||||
### Arrêter la matrice :
|
||||
```
|
||||
unmount /mnt
|
||||
mdadm --stop /dev/md0
|
||||
```
|
||||
|
||||
mdadm --zero-superblock /dev/sdb1
|
||||
mdadm --zero-superblock /dev/sdc1
|
||||
|
||||
## Pour créer un un LVM et suite du TP
|
||||
|
||||
apt install lvm2
|
||||
|
||||
```
|
||||
cfdisk /dev/sdb
|
||||
```
|
||||
> -> gpt -> New -> Type -> Linux LVM -> Whrite -> Yes
|
||||
```
|
||||
cfdisk /dev/sdc
|
||||
```
|
||||
> -> gpt -> New -> Type -> Linux LVM -> Whrite -> Yes
|
||||
|
||||
fdisk -l /dev/sdb
|
||||
|
||||
fdisk -l /dev/sdc
|
||||
|
||||
pvcreate /dev/sdb1
|
||||
|
||||
pvdisplay /dev/sdb1
|
||||
|
||||
|
||||
vgcreate vg01 /dev/sdb1
|
||||
|
||||
vgdisplay vg01
|
||||
|
||||
lvcreate -n data01 -L 512 vg01
|
||||
ls /dev/vg01/data01
|
||||
|
||||
lvdeisplay -m /dev/vg01/data01
|
||||
|
||||
|
||||
|
||||
mkfs -t ext4 /dev/vg01/data01
|
||||
|
||||
mkdir /mnt/data01
|
||||
mount /dev/vg01/data01 /mnt/data01
|
||||
|
||||
lvcreate -n data02 -L 512m vg01
|
||||
lvdisplay -m /dev/vg01/data02
|
||||
|
||||
mkfs -t ext4 /dev/vg01/data02
|
||||
|
||||
mkdir /mnt/data02
|
||||
mount /dev/vg01/data02 /mnt/data02
|
||||
|
||||
1 : Question de cour représentation de informations - 6 points
|
||||
2 : Machine de turing - 4 points
|
||||
3 : Fonctionnement d'une unité central - 4 points
|
||||
4 : QCM 6 points
|
||||
@@ -0,0 +1,2 @@
|
||||
# NSY104 10 06 2025
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# NSY 104 Architecture des systèmes informatiques
|
||||
|
||||
* [09/01/25](./NSY104-09-01-25)
|
||||
* [18/02/25](./NSY104-18-02-25)
|
||||
* [04/03/25](./NSY104-04-03-25)
|
||||
@@ -0,0 +1,34 @@
|
||||
Un projet pro stratégie qu'on met en place pour le réaliser. LA strétégie qu'on met en place pour le réaliser
|
||||
- sa doit correspondre à ce que vous aimez faire
|
||||
- a ce que vous savez ou saurez faire
|
||||
- La réalité du marché
|
||||
- embissieu
|
||||
|
||||
- I. Faire un bilan personnel
|
||||
- II. Explorer le champs des possibles
|
||||
- III. Etablire un projet concrès avec un plan d'action pour y arriver
|
||||
|
||||
type de compétences
|
||||
|
||||
- Le savoir (Les connaissances)
|
||||
- Le savoir faire (ce qu'on a apprit à faire)
|
||||
- Le savoir être (softskills)
|
||||
|
||||
première étape pour explorer les métiers et consulter les fiches métires
|
||||
|
||||
une fiche métier est un document qui donne des indications sur :
|
||||
- La définition du poste et les missions principales (Indications potentiellement théoriques)
|
||||
- Les compétences demandées
|
||||
- Les profils recherchés par les entreprises (CAD : diplôme requis, expérience professionnelles recommandées)
|
||||
- Les types de travail (Rémunération, types de contrat)
|
||||
- Les métiers proches et les évolutions professionnelles possibles
|
||||
- Des liens vers des offres d'emplois pertinentes
|
||||
|
||||
France travail, onisep, apec
|
||||
|
||||
Intégrateur Web :
|
||||
|
||||
L'intégrateur web assemble les différents éléments qui composent un site, de la mise en pages générale jusqu'aux animations graphiques et sonores.
|
||||
|
||||
|
||||
:wq
|
||||
@@ -0,0 +1,45 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name pterodactyl.guillaume-sanchez.fr;
|
||||
|
||||
|
||||
root /var/www/pelican/public;
|
||||
index index.html index.htm index.php;
|
||||
charset utf-8;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php?$query_string;
|
||||
}
|
||||
|
||||
location = /favicon.ico { access_log off; log_not_found off; }
|
||||
location = /robots.txt { access_log off; log_not_found off; }
|
||||
|
||||
access_log off;
|
||||
error_log /var/log/nginx/pelican.app-error.log error;
|
||||
|
||||
# allow larger file uploads and longer script runtimes
|
||||
client_max_body_size 100m;
|
||||
client_body_timeout 120s;
|
||||
|
||||
sendfile off;
|
||||
|
||||
location ~ \.php$ {
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
|
||||
fastcgi_index index.php;
|
||||
include fastcgi_params;
|
||||
fastcgi_param PHP_VALUE "upload_max_filesize = 100M \n post_max_size=100M";
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param HTTP_PROXY "";
|
||||
fastcgi_intercept_errors off;
|
||||
fastcgi_buffer_size 16k;
|
||||
fastcgi_buffers 4 16k;
|
||||
fastcgi_connect_timeout 300;
|
||||
fastcgi_send_timeout 300;
|
||||
fastcgi_read_timeout 300;
|
||||
}
|
||||
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
}
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
services:
|
||||
app:
|
||||
image: nextcloud
|
||||
restart: always
|
||||
ports:
|
||||
- 80:80
|
||||
depends_on:
|
||||
- nextclouddb
|
||||
volumes:
|
||||
- ./applications/nextcloud:/var/www/html
|
||||
- /mnt/data:/var/www/html/data
|
||||
environment:
|
||||
- MYSQL_PASSWORD=vkurnucfwirs?xxzsyf?hrhf?pllqzo?
|
||||
- MYSQL_DATABASE=Nextcloud
|
||||
- MYSQL_USER=nextcloud_user
|
||||
- MYSQL_HOST=nextclouddb
|
||||
|
||||
nextclouddb:
|
||||
image: app
|
||||
container_name: nextcloud-db
|
||||
restart: unless-stopped
|
||||
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
|
||||
volumes:
|
||||
- ./nextclouddb:/var/lib/mysql
|
||||
environment:
|
||||
- TZ=Europe/Paris
|
||||
- MYSQL_RANDOM_ROOT_PASSWORD=true
|
||||
- MYSQL_PASSWORD=vkurnucfwirs?xxzsyf?hrhf?pllqzo?
|
||||
- MYSQL_DATABASE=Nextcloud
|
||||
- MYSQL_USER=nextcloud_user
|
||||
|
||||
|
||||
volumes:
|
||||
nextcloud:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
services:
|
||||
db:
|
||||
image: mariadb:lts
|
||||
restart: always
|
||||
command: --transaction-isolation=READ-COMMITTED
|
||||
volumes:
|
||||
- db:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=vkurnucfwirs?xxzsyf?hrhf?pllqzo?
|
||||
- MYSQL_PASSWORD=vkurnucfwirs?xxzsyf?hrhf?pllqzo?
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
- MYSQL_USER=nextcloud
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
restart: always
|
||||
|
||||
app:
|
||||
image: nextcloud
|
||||
restart: always
|
||||
ports:
|
||||
- 80:80
|
||||
depends_on:
|
||||
- redis
|
||||
- db
|
||||
volumes:
|
||||
- ./applications/nextcloud:/var/www/html
|
||||
- /mnt/data:/var/www/html/data
|
||||
environment:
|
||||
- MYSQL_PASSWORD=vkurnucfwirs?xxzsyf?hrhf?pllqzo?
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
- MYSQL_USER=nextcloud
|
||||
- MYSQL_HOST=db
|
||||
|
||||
volumes:
|
||||
nextcloud:
|
||||
db:
|
||||
@@ -0,0 +1,2 @@
|
||||
# NSY104-17-12-24
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,2 @@
|
||||
# NSY104-29-01-25
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"auto_close": true,
|
||||
"auto_open": false,
|
||||
"auto_start": false,
|
||||
"drawing_grid_size": 25,
|
||||
"grid_size": 75,
|
||||
"name": "GNS3-exercice",
|
||||
"project_id": "8c9b6101-c955-41cc-8f80-c18617f0c325",
|
||||
"revision": 9,
|
||||
"scene_height": 1000,
|
||||
"scene_width": 2000,
|
||||
"show_grid": false,
|
||||
"show_interface_labels": false,
|
||||
"show_layers": false,
|
||||
"snap_to_grid": false,
|
||||
"supplier": null,
|
||||
"topology": {
|
||||
"computes": [],
|
||||
"drawings": [],
|
||||
"links": [],
|
||||
"nodes": []
|
||||
},
|
||||
"type": "topology",
|
||||
"variables": null,
|
||||
"version": "2.2.53",
|
||||
"zoom": 100
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
Feb 20 08:40:52.856 HYPERVISOR: Release 0.2.23-amd64/Linux (tag 2023010200)
|
||||
Feb 20 08:40:52.856 HYPERVISOR: Started on IP = 127.0.0.1, TCP port = 45587.
|
||||
Feb 20 08:40:52.860 HYPERVISOR: exec_cmd: hypervisor version
|
||||
Feb 20 08:40:52.860 HYPERVISOR: exec_cmd: hypervisor working_dir /home/nk/Documents/UTEC-Lic_ME_2024_2025/RSX101/RSX101-20-02-25/GNS3-exercice/project-files/dynamips
|
||||
Feb 20 08:40:52.860 GENERAL: working_dir=/home/nk/Documents/UTEC-Lic_ME_2024_2025/RSX101/RSX101-20-02-25/GNS3-exercice/project-files/dynamips
|
||||
Feb 20 08:40:52.860 HYPERVISOR: exec_cmd: nio_bridge create Hub1
|
||||
Feb 20 08:40:59.594 HYPERVISOR: exec_cmd: nio_bridge delete Hub1
|
||||
Feb 20 08:40:59.597 HYPERVISOR: exec_cmd: hypervisor stop
|
||||
Feb 20 08:40:59.866 HYPERVISOR: Stopped.
|
||||
Feb 20 08:40:59.866 GENERAL: reset done.
|
||||
@@ -0,0 +1,10 @@
|
||||
Feb 20 08:45:15.793 HYPERVISOR: Release 0.2.23-amd64/Linux (tag 2023010200)
|
||||
Feb 20 08:45:15.793 HYPERVISOR: Started on IP = 127.0.0.1, TCP port = 45429.
|
||||
Feb 20 08:45:15.802 HYPERVISOR: exec_cmd: hypervisor version
|
||||
Feb 20 08:45:15.802 HYPERVISOR: exec_cmd: hypervisor working_dir /home/nk/Documents/UTEC-Lic_ME_2024_2025/RSX101/RSX101-20-02-25/GNS3-exercice/project-files/dynamips
|
||||
Feb 20 08:45:15.802 GENERAL: working_dir=/home/nk/Documents/UTEC-Lic_ME_2024_2025/RSX101/RSX101-20-02-25/GNS3-exercice/project-files/dynamips
|
||||
Feb 20 08:45:15.802 HYPERVISOR: exec_cmd: atmsw create ATMSW1
|
||||
Feb 20 08:45:29.403 HYPERVISOR: exec_cmd: atmsw delete ATMSW1
|
||||
Feb 20 08:45:29.405 HYPERVISOR: exec_cmd: hypervisor stop
|
||||
Feb 20 08:45:29.815 HYPERVISOR: Stopped.
|
||||
Feb 20 08:45:29.815 GENERAL: reset done.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,47 @@
|
||||
# NSY104-17-12-24
|
||||
|
||||
## Exercice 1(plan d’adressage)
|
||||
|
||||
Le TD concerne la mise ne place d’un plan d’adressage, il est proposé sous la forme de quatre exercices
|
||||
|
||||
### 1.2.1 Exo 1 : Détermination de l’ID réseau, le masque réseau, …etc. à partir d’une adresse IP
|
||||
|
||||
#### 179.13.33.14/29
|
||||
|
||||
Adresse de réseau : 179.13.33.8
|
||||
|
||||
Première adresse : 179.13.33.9
|
||||
|
||||
Dernière adresse : 179.13.33.14
|
||||
|
||||
Adresse de broadcast : 179.13.33.15
|
||||
|
||||
#### 16.23.15.33/18
|
||||
|
||||
00010000.00010111.00001111.000100001
|
||||
|
||||
Adresse de réseau : 16.23.0.0 -> 14 dernier bits tu les passe à 0 : 00010000.00010111.**00000000.00000000**
|
||||
|
||||
Première adresse : 16.23.0.1 -> Première on ajoute un
|
||||
|
||||
Dernière adresse : 16.23.63.254 -> -1 par rapport à l'adresse broadcast
|
||||
|
||||
Adresse de broadcast : 16.23.63.255 -> 14 dernier et tu les passes à 1 : 00010000.00010111.00**111111.11111111**
|
||||
|
||||
#### 178.223.0.15/12
|
||||
|
||||
Adresse de réseau : 178.208.0.0 -> 20 dernier bits tu les passe à 0 : 10110010.1101**0000.00000000.00000000**
|
||||
|
||||
Première adresse : 178.208.0.1 -> Première on ajoute un
|
||||
|
||||
Dernière adresse : 178.223.255.254 -> -1 par rapport à l'adresse broadcast
|
||||
|
||||
Adresse de broadcast : 178.223.255.255 -> 20 dernier bits tu les passe à 1 : 10110010.1101**1111.11111111.11111111**
|
||||
|
||||
## Routage
|
||||
|
||||
Routage static, définir une route manuelement
|
||||
Routage Dynamique,
|
||||
|
||||
Lien de rondodence -> ajout d'un routeur de secours
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# RSX101 15 04 2025
|
||||
|
||||
## Exercice 1
|
||||
|
||||
### R1
|
||||
2
|
||||
3
|
||||
|
||||
### R2
|
||||
2
|
||||
2
|
||||
|
||||
## Exercice 2
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
# RSX101 20 05 2025
|
||||
@@ -0,0 +1,95 @@
|
||||
# Exercice QoS
|
||||
|
||||
## Exercice 1 : Mise en œuvre de la QoS dans un routeur
|
||||
|
||||
### Question 1 :
|
||||
|
||||
- Entête IP : 46 80 00 20 00 00 40 00 01 02 42 AD C0 A8 01 01 E0 00 00 01 94 04 00 00
|
||||
- Adresse Eternet Destination : 01 00 5E 00 00 01
|
||||
- Adresse Eternet Source : A4 08 F5 61 5d 1f
|
||||
- protocole IP : 4 donc IPv4
|
||||
- longueur de l'entête IP : 6*4 donc 24 octets
|
||||
- IP source et destination en hexadécimal :
|
||||
- source : C0 A8 01 01
|
||||
- destination : E0 00 00 01
|
||||
- longueur totale du datagramme en décimal : 0020 -> 2*16 + 0 donc 32 octets
|
||||
|
||||
### Question 2 :
|
||||
|
||||
Non , Classe 4, si on suit la logique du tableau, on peut voir qu'il est en dessous du Low (voir correction)
|
||||
|
||||
### Question 3 :
|
||||
|
||||
#### Ingress
|
||||
|
||||
```
|
||||
____
|
||||
|
||||
4 9 3 12
|
||||
_____
|
||||
|
||||
8 5
|
||||
_____
|
||||
|
||||
10
|
||||
_____
|
||||
|
||||
|
||||
_____
|
||||
|
||||
|
||||
_____
|
||||
|
||||
|
||||
_____
|
||||
|
||||
11 7 6 2 1
|
||||
_____
|
||||
```
|
||||
------------------------->
|
||||
11, 7, 12, 6, 9, 2, 8, 4, 1, 10, 5, 3
|
||||
------------------------->
|
||||
|
||||
#### Egress
|
||||
|
||||
```
|
||||
____
|
||||
|
||||
4 9 3 12
|
||||
_____
|
||||
|
||||
8 5
|
||||
_____
|
||||
|
||||
10
|
||||
_____
|
||||
|
||||
|
||||
_____
|
||||
|
||||
|
||||
_____
|
||||
|
||||
|
||||
_____
|
||||
|
||||
11 7 6 2 1
|
||||
_____
|
||||
```
|
||||
------------------------->
|
||||
11, 7, 6, 2, 8, 1, 10, 5, 12, 9, 4, 3
|
||||
------------------------->
|
||||
|
||||
### Question 4
|
||||
|
||||
|
||||
|
||||
## Exercice 2 Voix QoS
|
||||
|
||||
### Question 1
|
||||
|
||||
## Exercice 3 Réseau IP et QoS
|
||||
|
||||
### Question 1
|
||||
|
||||
|
||||
@@ -0,0 +1,128 @@
|
||||
# RSX101 du 24 06 25
|
||||
|
||||
## QoS :
|
||||
|
||||
Avec un QoS mis en place dans un routeur, un paquet arrive au routeur, le QoS calcul sa priorité et le place dans la fil d'attente de sortie calculé selon son importance.
|
||||
Mis en place par des contrat de service.
|
||||
|
||||
## Classifieur
|
||||
|
||||
Identification des flots, Lissage du trafique
|
||||
|
||||
DSCP : `Le DSCP est un champ d'en-tête dans le protocole IP, utilisé pour marquer les paquets de données. Ce marquage informe les routeurs et commutateurs du type de service que chaque paquet doit recevoir.`
|
||||
|
||||
Une fois le flux identifié, il essaye de le classifier selon l'ordenancement.
|
||||
|
||||
ACL : `Liste de contrôle d'accès au réseau (ACL), est constituée de règles qui permettent l'accès à un environnement informatique ou le refusent`
|
||||
|
||||
Ordonnancement round robin : `Le Round-robin (ou tourniquet) est un algorithme d'ordonnancement courant dans les systèmes d'exploitation adapté aux systèmes travaillant en temps partagés.`
|
||||
|
||||
LE paquet doit être marqué pour être identifié.
|
||||
|
||||
QoE : `Evaluation du retour utilisateur par rapport au QoS`
|
||||
|
||||
GIGUE : `la gigue (en anglais jitter) est la variation de la latence au fil du temps. Plus précisément, la gigue est la différence de délai de transmission de bout en bout entre des paquets choisis dans un même flux de paquets, sans prendre en compte les paquets éventuellement perdus.`
|
||||
|
||||
|
||||
## Leaky Bucket (Le seau percé)
|
||||
|
||||
L'algorithme du seau percé (leaky bucket en anglais) permet de contrôler le nombre de paquets passant à chaque seconde par un nœud d'un réseau informatique
|
||||
|
||||
Si le debit de flux augmente, le seau déborde et les paquets se perde.
|
||||
|
||||
Pour remedier à ça, on utilise le Token Bucket.
|
||||
Un paquet reçois un jetton qui donne l'ordre de sortie après le passage dans le classfieur.
|
||||
|
||||
|
||||
lissage vs Vérification
|
||||
|
||||
- Dans le cas du lissage, on retarde le flux excessif, en supposant qu'il n'excède pas le débit annoncé (attention aux flux sensibles à la latence ou a la gigue comme la voix).
|
||||
- Dans le cas de la vérification, on élimine le trafic en excès ou on le marque pour élimination lors de congestion (passage en mode best effort).
|
||||
|
||||
best effort : `C'est le trafic que les administrateurs réseau considèrent comme moins important que le trafic en temps réel.`
|
||||
|
||||
MPLS : `La commutation multiprotocole d'étiquettes (MPLS) est un protocole conçu pour acheminer des paquets de données vers leurs destinations rapidement et efficacement`
|
||||
|
||||
RSVP : `Resource ReSerVation Protocol (ou RSVP) est un protocole de la couche transport du modèle OSI, permettant de réserver des ressources dans un réseau informatique. `
|
||||
|
||||
## IntServ et DiffServ
|
||||
|
||||
## IntServ (Integrated Services) – "Réservation individuelle"
|
||||
|
||||
- Principe : chaque flux de données (vidéo, appel, etc.) demande une réservation de ressources (bande passante, délais, etc.) à tous les routeurs du réseau avant de commencer.
|
||||
|
||||
- Fonctionnement : utilise le protocole RSVP (Resource Reservation Protocol) pour réserver.
|
||||
|
||||
- Avantages : Garantie de qualité de service (QoS) très fine et précise pour chaque flux.
|
||||
|
||||
- Inconvénients :
|
||||
- Ne passe pas à l’échelle (trop lourd à gérer pour Internet entier).
|
||||
- Beaucoup de mémoire et de traitement sur les routeurs.
|
||||
|
||||
> C’est comme réserver une place assise dans un train pour chaque passager individuellement.
|
||||
|
||||
### DiffServ (Differentiated Services) – "Classes de service"
|
||||
|
||||
- Principe : les paquets sont marqués (avec des bits dans l’en-tête IP) selon leur classe de priorité, et chaque routeur traite les classes selon des règles prédéfinies.
|
||||
|
||||
- Pas de réservation individuelle.
|
||||
|
||||
- Avantages :
|
||||
- Scalable : fonctionne bien sur de grands réseaux comme Internet.
|
||||
- Plus simple pour les routeurs.
|
||||
|
||||
- Inconvénients :
|
||||
- Pas de garantie absolue pour chaque flux, seulement des priorités.
|
||||
- Moins précis qu’IntServ.
|
||||
|
||||
> C’est comme avoir des files prioritaires à l’aéroport (VIP, économique, etc.) mais sans réservation de siège.
|
||||
|
||||
### Résumé :
|
||||
|
||||
| Caractéristique | IntServ | DiffServ |
|
||||
| ------------------- | ------------------------ | ------------------------------- |
|
||||
| Type de QoS | Finesse par flux | Classes de service |
|
||||
| Réservation | Oui (RSVP) | Non |
|
||||
| Scalabilité | Faible | Bonne |
|
||||
| Complexité | Haute (par flux) | Moyenne (par classe) |
|
||||
| Utilisation typique | Réseaux privés critiques | Réseaux d’entreprise / Internet |
|
||||
|
||||
### Exemple concret pour bien comprendre la différence entre IntServ et DiffServ :
|
||||
|
||||
Contexte :
|
||||
|
||||
Imaginons une entreprise qui utilise :
|
||||
|
||||
- des appels vidéo entre employés (sensibles au délai),
|
||||
- de la navigation web (moins critique),
|
||||
- et des téléchargements de fichiers lourds (peu sensibles au temps).
|
||||
|
||||
#### Avec IntServ (Integrated Services) :
|
||||
|
||||
Quand un employé commence un appel vidéo :
|
||||
|
||||
- Son ordinateur envoie une demande de réservation de ressources via le protocole RSVP.
|
||||
- Tous les routeurs sur le chemin réservent de la bande passante et des délais spécifiques pour ce flux d’appel.
|
||||
- Si la réservation est acceptée, l’appel commence avec des garanties fortes : pas de coupure, bonne qualité.
|
||||
|
||||
Avantage : chaque appel est traité comme un VIP avec sa propre "autoroute".
|
||||
|
||||
Inconvénient : s’il y a 500 appels en même temps, chaque routeur doit gérer 500 réservations → lourd et complexe.
|
||||
|
||||
#### Avec DiffServ (Differentiated Services) :
|
||||
|
||||
Avant que les données partent :
|
||||
|
||||
- L’administrateur réseau a défini que les appels vidéo seront marqués avec une priorité haute, les fichiers lourds avec une priorité basse, etc.
|
||||
- Quand un appel démarre, les paquets sont marqués (ex : DSCP = Expedited Forwarding).
|
||||
- Les routeurs ne réservent rien, mais ils priorisent automatiquement les paquets marqués "vidéo" par rapport aux autres.
|
||||
|
||||
Avantage : très simple à mettre en œuvre même si des milliers de flux circulent.
|
||||
|
||||
Inconvénient : si le réseau est saturé, l’appel vidéo peut subir des perturbations, car rien n’a été réservé.
|
||||
|
||||
#### Conclusion :
|
||||
|
||||
- IntServ = comme réserver un taxi juste pour toi → service personnalisé, mais coûteux à grande échelle.
|
||||
- DiffServ = comme prendre un bus avec un ticket VIP → prioritaire, mais tu partages avec d’autres.
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 129 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,5 @@
|
||||
# NSY104
|
||||
|
||||
* [Cours](./Cours/)
|
||||
* [17/12/24](./RSX101-17-12-24/)
|
||||
* [29/01/25](./RSX101-29-01-25/)
|
||||
Binary file not shown.
@@ -0,0 +1,22 @@
|
||||
# RSX112 28 04 2025 Sécurité des Réseaux
|
||||
|
||||
## Systèmes d'exploitation et Droits
|
||||
|
||||
ASL
|
||||
|
||||
Capacité -> Modèle utilisateur
|
||||
|
||||
## AGDLP
|
||||
|
||||
Les groupes de sécurité.
|
||||
|
||||
Méthode utilisé par Microsoft.
|
||||
|
||||
coté utilisateur et coté fichiers géré de manière indépendante.
|
||||
|
||||
étendu des groupe
|
||||
|
||||
- GL
|
||||
- GG
|
||||
- GU
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Executable
+14
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Liste des utilisateurs à créer
|
||||
tab_user=('yannick' 'eulalie' 'jean' 'justine' 'pierre' 'sandrine' 'cecile' 'michel')
|
||||
|
||||
# Boucle pour créer chaque utilisateur
|
||||
for user in "${tab_user[@]}"
|
||||
do
|
||||
# Création de l'utilisateur
|
||||
useradd -m -s /bin/bash $user
|
||||
echo -e "$user\n$user" | passwd $user
|
||||
echo "Utilisateur $user créé avec succès avec le mot de passe par défaut."
|
||||
done
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,27 @@
|
||||
# Exercice2
|
||||
## 3
|
||||
root@ubuntu-RSX112:~# groupadd visiteurs -g 1404
|
||||
## 4
|
||||
root@ubuntu-RSX112:~# useradd -u 140401 -g visiteurs -m -s /bin/bash invite
|
||||
## 5
|
||||
root@ubuntu-RSX112:~# cat /etc/passwd | grep invite
|
||||
invite:x:140401:1404::/home/invite:/bin/bash
|
||||
root@ubuntu-RSX112:~# cat /etc/group | grep visiteurs
|
||||
visiteurs:x:1404:
|
||||
## 6
|
||||
root@ubuntu-RSX112:~# chage -M 90 -W 14 -I 7 invite
|
||||
## 7
|
||||
root@ubuntu-RSX112:~# cat /etc/shadow | grep invite
|
||||
invite:!:20206:0:90:14:7::
|
||||
## 8
|
||||
root@ubuntu-RSX112:~# echo -e "welc0me\nwelc0me" | passwd "invite"
|
||||
## 9
|
||||
useradd -u 140402 -g visiteurs -m -s /bin/bash intrus
|
||||
chage -M 90 -W 14 -I 7 invite
|
||||
echo -e "1234\n1234" | passwd intrus
|
||||
## 10
|
||||
root@ubuntu-RSX112:~# tail -n 2 /etc/shadow
|
||||
invite:$6$P87urVNAHId2z7fG$GHn/.vL4nI6nsgq.uaxmGqSgTn4n39bD/0HsQwFICgKp.4dhKOiu5scPs4tdkN2Avya09zPBI5qSxfF2Fu.eC0:20206:0:90:14:7::
|
||||
intrus:$6$F8Zh5OOiIrskScOO$WdDFLGZakeBdyv4DM0RCL5zvPkYpxllgi9IcucoVXb6z5ujYW.KtfW4ZsZrUkjFssJqta5ZG2qvpRmfduL6tJ/:20206:0:99999:7:::
|
||||
|
||||
Le nombre de jours avant expiation du mdp est passé à 99999 pour l'utilisateur intrus
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user