Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | |||
la_creation_de_classe_en_c [2018/02/01 16:03] kilian.dupuis |
la_creation_de_classe_en_c [2018/02/01 16:33] (Version actuelle) kilian.dupuis |
||
---|---|---|---|
Ligne 23: | Ligne 23: | ||
le terme private signifie que c'est accessible que dans la classe et elle seulement. | le terme private signifie que c'est accessible que dans la classe et elle seulement. | ||
- | Pour créer une ArrayList (utile dans une classe), tapez ArrayList, lorsque les vaguelettes apparaissent | + | Pour créer une ArrayList (utile dans une classe), tapez ArrayList, lorsque les vaguelettes apparaissent cliquez sur l'ampoule qui apparaît & cliquez sur générer "System.Collection". |
- | ===== Quelques commandes de base ===== | + | ==== Getter-Setter ==== |
- | ==== La commande "cd" ==== | + | Pour éviter l'utilisation des attributs de la classe directement, on les encapsule dans des attributs publics. L'utilisation des getter et setter sont très utiles. Exemples: |
+ | Public int ideleve | ||
+ | { | ||
+ | get{ | ||
+ | return id | ||
+ | } | ||
+ | set{ | ||
+ | id=value | ||
+ | } | ||
+ | } | ||
- | La commande "cd" (change directory) permet de bouger dans les différents répertoires de son arborescence. | + | ideleve faisant référence à id |
- | Pour cela, il existe deux types de chemins: | + | |
- | - Le chemin relatif qui cherche le dossier a partir du repertoire en cours (Pour l'exemple suivant nous sommes dans le dossier "/home/user") | + | getter-setter -> accesseurs-manipulateurs |
- | cd Downloads | + | le getter "attrape" une valeur tandis que le setter envoie une valeur. |
- | - Le chemin absolu qui cherche le dossier a partir de la racine de l'arborescence | ||
- | cd /home/user/Downloads | ||
- | ==== La commande "mv" ==== | + | ==== Constructeurs ==== |
- | La commande "mv" (move) permet de deplacer un fichier ou un répertoire vers un autre endroit qu'il soit dans le dossier courant ou non | + | Si vous ne fournissez pas de constructeur pour votre classe, C# en crée un par défaut qui instancie l’objet et affecte aux variables membres les valeurs par défaut déjà listées. |
- | - Dans le répertoire courant on deplace le fichier1 vers fichier2 (en clair, on le renomme) | + | Un constructeur est une méthode qui porte le même nom que celui de la classe. |
- | mv fichier1 fichier2 | + | |
- | + | ||
- | - On peut aussi changer le répertoire du fichier ou du dossier | + | |
- | mv fichier1 /home/user/fichier2 | + | |
- | | + | |
- | ==== La commande "cp" ==== | + | Pour créer un constructeur, il faut surligner tout les "privates" puis cliquer sur l'ampoule & cliquer sur "Générer le constructeur. Par exemple: |
- | la commande "cp" (copy) permet de copier un fichier ou un répertoire vers un autre emplacement | + | public Matière(int idm, string Matiere) |
- | Dans l'exemple ci-dessous on copie le fichier1 vers le fichier2 | + | { |
+ | this.id = idm; | ||
+ | this.matière = Matiere; | ||
+ | mat.Add(this); | ||
+ | } | ||
- | cp fichier1 fichier2 | + | Pour plus de sureté, il faut mettre ces "attributs publics" dans la parenthèse à côté du nom du constructeur et aussi à droite du "=". |
- | Pour les répertoires il faut utiliser une options supplémentaires "-R" qui permet de copier de manière récursive | + | Le "this" fait référence à l’instance actuelle de la classe ou pour être plus claire, on parler de moi-même. |
- | + | ||
- | cp -R dossier1 dossier2 | + | |
- | + | ||
- | + | ||
- | ==== La commande "ls" ==== | + | |
- | + | ||
- | La commande "ls" (list segments) permet d'afficher le contenu d'un répertoire | + | |
- | + | ||
- | ls repertoire1 | + | |
- | + | ||
- | Il existe différentes options, voici les plus souvents utiliséss: | + | |
- | + | ||
- | ls -l | + | |
- | + | ||
- | Cette option permet d'afficher tout les fichiers d'un répertoires avec des informations détaillés sur chaque fichier | + | |
- | + | ||
- | ls -a | + | |
- | + | ||
- | Cette option permet d'afficher aussi les fichiers cachés | + | |
- | + | ||
- | ==== La commande "rm" ==== | + | |
- | + | ||
- | La commande "rm" (remove) permet de supprimer un fichier ou un répertoire | + | |
- | Par exemple pour un fichier: | + | |
- | rm fichier1 | + | |
- | + | ||
- | Pour supprimer un dossier il faut ajouter l'option -r | + | |
- | rm -r dossier1 | + | |
- | + | ||
- | Quelques options utiles: | + | |
- | + | ||
- | L'option "rm -i" lors de la suppression d'un répertoire, on demande à l'utilisateur, pour chaque fichier à supprimé, si il souhaite le supprimer, cette commande permet une suppression des données plus controlé. | + | |
- | + | ||
- | rm -ri repertoire1 | + | |
- | L'option "-f" permet de forcer la suppression d'un fichier ou d'un dossier | + | |
- | ATTENTION cette option ne prévient pas l'utilisateur si la suppression est dangeureuse, à utilisé avec précaution ! | + | |
- | + | ||
- | rm -rf repertoire1 | + | |
- | + | ||
- | ==== La commande "cat" ==== | + | |
- | + | ||
- | La commande cat permet d'afficher le contenu d'un fichier dans le shell | + | |
- | cat fichier1 | + | |
- | + | ||
- | ==== La commande "ps" ==== | + | |
- | La commande "ps" affiche les processus en cours | + | |
- | ps -ef | + | |
- | Il existe plusieurs options, voir: | + | |
- | man ps | + | |
- | + | ||
- | ==== La commande "grep" ==== | + | |
- | La commande "grep" est une commande qui permet de filter un texte. Elle ne fera apparaitre que les lignes qui comprennent le mot données en paramètres. | + | |
- | Elle s'utilise avec un "pipe", de cette facon: | + | |
- | cat fichier1 | grep <mot_a_chercher> | + | |
- | Comment ça marche ? | + | |
- | C'est simple la commande grep va s’exécuter sur le résultat de la première commande, la commande "cat" | + | |
- | Celle-ci affiche le contenu d'un fichier et bien la commande grep ne va afficher que les lignes qui contiennent | + | |
- | le mot chercher. | + | |
- | + | ||
- | Imaginons un fichier | + | |
- | + | ||
- | ==== Changer son mot de passe ==== | + | |
- | + | ||
- | Il faut utiliser la commande "passwd" | + | |
- | passwd | + | |
- | + | ||
- | ===== Editer un fichier ===== | + | |
- | + | ||
- | Pour editer un fichier, il existe plusieurs utilitaire pour editez un fichier | + | |
- | + | ||
- | ==== VI ==== | + | |
- | "vi" ou son homologue amélioré "vim" (qui n'est pas installé par défault) est un des plus anciens editeur de texte en ligne de commande, il est très particulier puique'il fontionne de manière modal. Il demande un certain temps d'adaptation. | + | |
- | + | ||
- | ==== Nano ==== | + | |
- | "nano" est un éditeur de texte en ligne de commande classique | + | |
- | + | ||
- | ==== Emacs ==== | + | |
- | + | ||
- | Emacs est un autre éditeur de texte célèbre pour avoir été créer par Richard Stallman. Il est assez lourd, au point que ces détracteurs sorte régulièrement cette phrase: "Emacs est un système d'exploitation auquel il manque juste un éditeur de texte". A méditer ! | + | |
- | + | ||
- | + | ||
- | ===== Gestion des paquets ===== | + | |
- | + | ||
- | Pour cette section, nous parlerons du systeme de gestion des paquets de debian et de ses dérivés, à savoir "apt" | + | |
- | + | ||
- | "APT" est un systeme de gestion de paquets, il permet de télécharger des paquets en ligne de commande | + | |
- | + | ||
- | ==== Configuration des dépots ==== | + | |
- | + | ||
- | Les dépots sont disponible dans le fichier /etc/apt/sources.list | + | |
- | + | ||
- | nano /etc/apt/sources.list | + | |
- | + | ||
- | + | ||
- | + | ||
- | ==== Installer un paquet ==== | + | |
- | apt-get install <mon_paquet> <mon_paquet2> <...> | + | |
- | + | ||
- | Cette commande permet d'installer un ou plusieurs paquets | + | |
- | + | ||
- | ==== Chercher un paquet ==== | + | |
- | + | ||
- | apt-cache search <nom_du_paquet> | + | |
- | + | ||
- | Il est conseillé d'utiliser des jockers comme "*" pour faire des recherches plus amples. | + | |
- | Par exemple, pour trouver tout les paquets python3 | + | |
- | + | ||
- | apt-cache search "python3-*" | + | |
- | + | ||
- | (Il ne faut pas oublier les guillemets) | + | |
- | + | ||
- | Cette commande liste tout les paquets commencant par "python3-" | + | |
- | + | ||
- | ==== Supprimer un paquet ==== | + | |
- | + | ||
- | apt-get remove <nom_du_paquet> <nom_du_paquet2> <...> | + | |
- | + | ||
- | Cependant une "trace" du paquet reste sur votre disque dur, pour tout supprimer tapez la commande suivante: | + | |
- | apt-get remove --purge <nom_du_paquet> | + | |
- | + | ||
- | ==== Mettre a jour les dépots ==== | + | |
- | apt-get update | + | |
- | + | ||
- | ==== Mettre à jour les paquets installés ==== | + | |
- | apt-get upgrade | + | |
- | + | ||
- | + | ||
- | ===== Configurer votre connexion réseau ===== | + | |
- | + | ||
- | Le fichier de configuration est /etc/network/interfaces | + | |
- | nano /etc/network/interfaces | + | |
- | + | ||
- | + | ||
- | Pour voir vos interfaces et leurs adresses actuelles: | + | |
- | ifconfig | + | |
- | + | ||
- | Il faut bien penser à regarder votre interface par default grâce a la commande ifconfig. | + | |
- | + | ||
- | Voici un exemple de configuration: | + | |
- | auto eth0 | + | |
- | iface eth0 inet static | + | |
- | address 172.17.2.93 | + | |
- | netmask 255.255.254.0 | + | |
- | gateway 172.17.3.254 | + | |
- | + | ||
- | Analysons les différentes parties: | + | |
- | auto eth0 | + | |
- | L'interface eth0 se connectera automatiquement au démarrage de la machine | + | |
- | iface eth0 inet static | + | |
- | l'interface eth0 utilisera une connexion statique configuré avec l’adresse réseau, le masque et la passerelle que vous indiquerez en dessous. | + | |
- | + | ||
- | Il est aussi possible d'utiliser du dhcp, ce qui est plus simple, comme ceci: | + | |
- | auto eth0 | + | |
- | iface eth0 inet dhcp | + | |
- | + | ||
- | Lors du démarrage, le serveur dhcp fournira une adresse, un masque, une passerelle automatiquement | + | |
- | + | ||
- | ===== Gestion des utilisateurs ===== | + | |
- | Dans cette partie nous allons voir comment gérer les utilisateurs et les groupes | + | |
- | ==== Créer un utilisateur ==== | + | |
- | Il existe deux commandes pour le faire | + | |
- | === La commande "adduser" === | + | |
- | Cette commande est un script de création de compte automatique, il vous demandera automatiquement les informations sur le nouvel utilisateur. | + | |
- | adduser <nom_de_votre_utilisateur> | + | |
- | === La commande "useradd" === | + | |
- | La commande useradd permet une création plus controlé de son utilisateur, on peut rentrer toutes les informations dans des options, par exemple: | + | |
- | useradd -u 1010 -g 1002 -m jane | + | |
- | Dans cette exemple nous avons créer une utilisatrice jane d'uid 1010, de gid 1002 et nous avons aussi créer son dossier home dans le répertoire "/home/jane" (avec l'option -m, marche aussi avec --create-home) | + | |