Vous êtes sur la page 1sur 31

Cours Programmation Orienté Objet C+

+
Chapitre 1 : Présentation du langage C++

Niveau & Filière:

Élaboré par : Mr. Mohamed Chiheb BEN CHAABANE

Année Universitaire : 2023-2024


Plan du Module
• Présentation du langage C++
• Généralités de la Programmation Orientée Objet (POO)
• Principes Fondamentaux de la POO avec C++
• Fonctions Amies
• Bibliothèque STL avec C++
• Mini-Projets
Plan du Chapitre
• Introduction au langage C++
• Versions & Certification du C++
• Histoire de C++
• Différences entre C et C++
• Domaines d’Utilisation de C++
• TP1 C++ : Installation de l’IDE CodeBlocks.
Introduction
• Il existe 4 modes d’installation:
1. On-Premise : Directement sur le Serveur, le PC, etc..
2. Virtuel : installé sur un hyperviseur type2.
3. Déploiement Automatique de une ou plusieurs machines avec Anaconda
via le fichier de déploiement : anaconda-ks.cfg
4. Cloud : Un Administrateur Système peut sa proper image Cloud avec
RHEL Linux Image Builder tool. Les instructions sont explicites dans ce
lien :
https://access.
redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/
configuring_and_managing_cloud-init_for_rhel_9/introduction-to-cloud-
init_cloud-content
Hiérarchie FHS
Installation des Logiciels
• Il existe 3 commandes :
1. RPM
2. YUM
3. DNF
• Les listes des logiciels pouvant être installés se trouvent dans le fichier
repository: /etc/ yum.repos.d/redhat.repo
• Si, un logiciel n’existe pas on doit ajouter le repository correspondant.
• La commande : dnf repolist  affiche tous les repository actifs sur RHEL 9
• La commande : dnf repolist –all  affiche tous les repository sur RHEL 9
Gestion du Boot avec BIOS

• Les étapes de démarrage sont ainsi :


1. Machine démarrée  Chargement du BIOS
2. Le BIOS charge tous les périphériques
3. Le BIOS termine la configuration matérielle inclus la séquence de Boot afin
de déterminer le support de stockage pour le démarrage.
4. Le BIOS y charge le MBR  Chargeur de démarrage (GRUB) est activé.
5. Le GRUB charge : le noyau de RHEL (Le noyau se trouve dans un fichier
vmlinuz + l’image initiale de boot dans le fichier initrd  les 2 fichiers stockés
dans /boot.
6. L’image initiale de boot initrd (nommé init) charge le 1er processus qui est
systemd dans RHEL 9.
7. Finalement, systemd charge tous les autres composants: GUI, processus, etc..
Gestion du Boot avec UEFI

• Les étapes de démarrage sont ainsi :


1. Machine démarrée  Chargement du firmware UEFI
2. Le firmware UEFI charge tous les périphériques
3. Le firmware UEFI termine la configuration matérielle inclus la séquence de Boot afin
de déterminer le support de stockage pour le démarrage (Pas besoin de charger le
MBR).
4. Si le support de stockage est sélectionné, les partitions sont déterminées à partir du
GPT (GUID Partition Table)  le Chargeur de démarrage EFI (situé sous : /boot/efi
continue à charger le GRUB.
5. Le GRUB charge : le noyau de RHEL (Le noyau se trouve dans un fichier vmlinuz +
l’image initiale de boot dans le fichier initrd  les 2 fichiers stockés dans /boot.
6. L’image initiale de boot initrd (nommé init) charge le 1er processus qui est systemd
dans RHEL 9.
7. Finalement, systemd charge tous les autres composants: GUI, processus, etc..
Le Chargeur de Démarrage (Bootloader): GRUB

• Le GRUB a pour mission de :


1. Charger L’image initiale de boot initrd
2. Charger le 1er processus qui est systemd.
3. Charger le Noyau de l’OS : fichier vmlinuz .
4. Etc.
• Pour installer le GRUB
[root@rhel-instance ~]# grub2-install /dev/vda
• Le fichier de configuration de GRUB : grub.cfg
• Le dossier de configuration : /etc/grub.d/
• Regénération de la configuration du GRUB : grub2-mkconfig
• Lister les paramètres du GRUB : grubby
Dépannage des Erreurs du Démarrage

• Pour diagnostiquer les erreurs liées au démarrage  dmesg


• Pour réparer les erreurs liées au démarrage  fsck /boot
• Dans le cas d’un système de fichiers XFS  xfs_repair
Gestion du Stockage (1) : MBR vs GPT

• Le MBR accepte 4 partitions primaires au Max et une partition étendue.


• La taille maximale d’une partition est 2,2 To.
• La taille du MBR est de 512 Octets.
• Ne gère pas les disques de taille > 2,1 To
Successeur du MBR est le GPT.
• GPT est standardisé et devient partie du standard EFI.
• La taille maximale d’une partition avec GPT est 9,4 Zo.
• 128 partitions primaires peuvent être créées.
Gestion du Stockage (2) : Les Partitions

Type de périphériques de Nomenclature par


Nom dev dans Linux
stockage convention
Disque SATA ou SCSI /dev/sda sda1 : 1ère partition dans le
disque 1 SATA

Nvme0n1 : 1ère partition dans


Espaces de noms de stockage
/dev/nvme0n1 le disque 1 SSD
NVME (Disque SSD)

Disque IDE /dev/hda

Périphérique disquette /dev/fd0

/dev/scd0, /dev/sr0 ou
DVD-Rom ou CD-Rom
/dev/cdrom

Disque XT /dev/xda
SD Card et carte Flash dev/mmcblkX
Commandes de Gestion des Partitions

• fdisk manipuler les partitions de disque de type MBR.


• gdisk comme pour fdisk mais à destination des disque GPT
• parted : un autre utilitaire en ligne de commandes pour partitionner ses
disques
• mkfs permet de formater une partition de disque
• tune2fs modifier les paramètres du système de fichiers
Gestion du Stockage : Partition SWAP

• Le Swap est une partition très utile pour fonctionner en tant que mémoire
virtuelle.
• Elle ne peut prendre que si elle a au moins > 1,5 * RAM .
• Swapon : activer le swap
• Swapoff : désactiver le swap
Gestion du Stockage (3) : LVM

• LVM (Local Volume Manager) permet la gestion de volumes logiques sous


Linux qui remplace en quelque sorte le partitionnement des disques.
• C'est un système qui permet par exemple de réduire la taille d'un système de
fichier pour pouvoir en agrandir un autre, sans se préoccuper de leur
emplacement sur le disque.
Gestion du Stockage (3): Avantages & Limites du LVM

Avantages Désavantage(s)

Il n'y a pas de limitations « étranges » comme avec les partitions


(primaire, étendue, etc.). Si un des volumes physiques
devient Hors Service, alors
c'est l'ensemble des volumes
logiques qui utilisent ce
On ne se préoccupe plus de l'emplacement exact des données. volume physique qui sont
On peut conserver quelques giga-octets de libres pour pouvoir les perdus. Il faudra utiliser LVM
ajouter n'importe où et n'importe quand. sur des disques RAID par
Les opérations de redimensionnement deviennent quasiment sans exemple.
risques, contrairement au redimensionnement des partitions.
On peut créer des snapshots de volume sans perturber le
fonctionnement de la machine et sans interruption de services.
Gestion du Stockage (3): Outils & Commandes LVM (1)

• Toutes les commandes agissant sur les volumes physiques commencent


par pv (physical volume);
• Toutes les commandes agissant sur les groupes de volumes commencent
par vg (volumes group);
• Toutes les commandes agissant sur les volumes logiques commencent par
lv (logical volume).
• Stratis : un outil de gestion de stockage en combinant les LVM + le sytème
de fichiers XFS via le service stratisd .
• Les LVM créés précédemment ne peuvent pas être gérés avec Stratis !!
Gestion du Stockage (3): Commandes LVM (2)

• pvchange : change attributes of a physical volume


• pvck : check physical volume metadata
• pvcreate : initialize a disk or partition for use by LVM
• pvdisplay : display attributes of a physical volume
• pvmove : move physical extents
• pvremove : remove a physical volume
• pvresize : resize a disk or partition in use by LVM2
• pvs : report information about physical volumes
• pvscan : scan all disks for physical volumes
Gestion du Stockage (3): Commandes LVM (3)

• vgcreate : create a volume group


• vgdisplay : display attributes of a volume group
• Lvcreate : create a logical volume
• Lvdisplay : display attributes of a logical volume
Gestion du Système de Fichiers

• ext3: (ext3fs) supporte des fichiers de taille 2 (TiB), avec un volume total de
partition de 16 TiB. Supporte la journalisation avec un démarrage et une
recuperation plus rapides.
• ext4: (ext4fs) supporte des fichiers de taille 16 (TiB), avec un volume total de
partition de 1 EiB. Supporte la journalisation avec des meilleures performances
que ext3 .
• btrfs: supporte des fichiers de taille 16 (TiB), avec un volume total de partition de
16 EiB. Il peut agir avec son propre RAID et optimal pour le LVM avec une
meilleure tolérance aux pannes et une compression optimale. (lors de l’écriture
des données).
• XFS: (eXtended File System) c’est le système de fichiers par défaut de RHEL 9, Plus
optimal que ext4 dans la défragmentation (en ligne), la journalisation et la gestion
de quota. Il a quelques limites par rapport à ext4 telles que la compression, le
RAID et les snapshots..
Gestion de la Compression du Disque avec
VDO
• VDO (Virtual Data Optimizer) : fournit une réduction des données en ligne
pour Linux sous la forme de déduplication, de compression et de
provisionnement fin.
Gestion des Processus

• ps : affiche les processus ainsi leurs propriétés


• top :
• free :
• screen : affiche le résultat d’une commande dans un écran (emulation)
• tmux : ouvrir des sessions côte-à-côte
• w : affiche les utilisateurs connectés
Gestion du Partage des Fichiers
Configuration du Service de Temps
Configuration du Service d'impression
Configuration du Service de Journalisation (Logging)
Gestion & Planification des Tâches
Gestion des Utilisateurs et des Groupes
Gestion des Profils
Références:

• C++ - Wikipedia
• Paradigme (programmation) — Wikipédia (wikipedia.org)
• Introduction à la Programmation Orientée Objet- (developpez.com)
• Programmation orientée objet — Wikipédia (wikipedia.org)
FIN de ce Chapitre

• MERCI pour votre attention

• DES QUESTIONS ?

Vous aimerez peut-être aussi