- 93
- 44 392
RevaninioComputing
เข้าร่วมเมื่อ 16 พ.ย. 2022
Bonjour, je suis Revaninio et je vous souhaite la bienvenue sur la meilleure chaîne TH-cam pour apprendre l'informatique.
Cette chaine est principalement destinée à la programmation, mais nous balayerons aussi un grand nombre de domaines :
- Programmation : Langage C, C++, JavaScript, HTML5 et CSS.
- Réseau : Bases sur les protocoles ARP, TCP/IP, le NAT, le DHCP, les serveurs DNS et d'autres notions encore.
- Système : bases et connaissances importantes sur les systèmes d'exploitation Windows et Linux.
Les cours se feront sous forme de tutos vidéos, et seront répartis dans des playlists portant les noms des sujets respectifs.
Si le contenu vous fait envie et vous intéresse, n'hésitez pas à liker les vidéos et surtout à vous abonner, car non seulement je publie de nouvelles vidéos fréquemment (chaque semaine), mais votre soutien me donne aussi de la force et de la motivation pour continuer à vous sortir du contenu de qualité.
Cette chaine est principalement destinée à la programmation, mais nous balayerons aussi un grand nombre de domaines :
- Programmation : Langage C, C++, JavaScript, HTML5 et CSS.
- Réseau : Bases sur les protocoles ARP, TCP/IP, le NAT, le DHCP, les serveurs DNS et d'autres notions encore.
- Système : bases et connaissances importantes sur les systèmes d'exploitation Windows et Linux.
Les cours se feront sous forme de tutos vidéos, et seront répartis dans des playlists portant les noms des sujets respectifs.
Si le contenu vous fait envie et vous intéresse, n'hésitez pas à liker les vidéos et surtout à vous abonner, car non seulement je publie de nouvelles vidéos fréquemment (chaque semaine), mais votre soutien me donne aussi de la force et de la motivation pour continuer à vous sortir du contenu de qualité.
Cours UNIX/Linux #8 : Gestionnaire de démons (systemd)
Nous avons maintenant assez de bases en UNIX/Linux pour s'attaquer au gestionnaire de démons. Grand remplaçant de SystemV devenu titulaire, nous plongeons dans la gestion des services et des démons avec systemd !
N'hésite pas à t'abonner si ce n'est pas fait pour être notifié à chaque fois que je sors du contenu !
Accueil de la chaîne :
www.youtube.com/@revaninio
Page Facebook :
RevaninioComputing
Serveur Discord :
discord.gg/CvnmtGFctz
Crédits :
Musique : MokkaMusic - Ocean Depths
Musique : Dawn - Sappheiros
Merci à tous de votre présence :D
#informatique #operatingsystem #sysadmin #architecture #unix #linux #oracle #filesystem #gui #posix #gnome #kde #xfce #virtualization #virtualbox
N'hésite pas à t'abonner si ce n'est pas fait pour être notifié à chaque fois que je sors du contenu !
Accueil de la chaîne :
www.youtube.com/@revaninio
Page Facebook :
RevaninioComputing
Serveur Discord :
discord.gg/CvnmtGFctz
Crédits :
Musique : MokkaMusic - Ocean Depths
Musique : Dawn - Sappheiros
Merci à tous de votre présence :D
#informatique #operatingsystem #sysadmin #architecture #unix #linux #oracle #filesystem #gui #posix #gnome #kde #xfce #virtualization #virtualbox
มุมมอง: 248
วีดีโอ
Cours/Tuto C++ #83 : Les librairies dynamiques
มุมมอง 114วันที่ผ่านมา
Il est pratique de pouvoir se servir des bibliothèques statiques dans nos programmes C , mais parfois, sous certaines contraintes, notamment concernant la taille de l'exécutable généré, il peut être utile, voir nécessaire de ne lier nos bibliothèques que lorsque notre programme est en cours d'exécution, et non à la compilation. C'est ce que nous allons voir dans cette vidéo ! N'hésite pas à t'a...
Cours/Tuto C++ #82 : Les librairies statiques
มุมมอง 18921 วันที่ผ่านมา
Nous avons introduis, dans le passé, les notions de fichier d'entête, de fichier source, de fichier objet et de fichier exécutable. Néanmoins, les programmes ayant comme fichiers de sortie un fichier exécutables ne sont pas les seuls programmes qu'on peut développer en C . Dans cette vidéo, nous allons introduire la notion de bibliothèque statique (fichier.lib), qui va nous permettre d'étendre ...
Cours UNIX/Linux #7 : Droits et privilèges (partie 2)
มุมมอง 94หลายเดือนก่อน
On continue sur la notion de droits et privilèges avec quelques notions complémentaires, ainsi que des détails et des propriétés sur l'utilisateur root dans un système d'exploitation UNIX/Linux ! N'hésite pas à t'abonner si ce n'est pas fait pour être notifié à chaque fois que je sors du contenu ! Accueil de la chaîne : www.youtube.com/@revaninio Page Facebook : RevaninioComputing ...
Cours UNIX/Linux #6 : Droits et privilèges (partie 1)
มุมมอง 87หลายเดือนก่อน
Après la hiérarchie de systèmes de fichiers en UNIX/Linux vient presque naturellement les droits et les privilèges des utilisateurs et des groupes sur ces derniers. En effet, il s'agit de déterminer qui possède quels droits sur des dossiers ou des fichiers, et comment se matérialisent ces droits. C'est ce que nous allons voir dans cette vidéo ! N'hésite pas à t'abonner si ce n'est pas fait pour...
Cours/Tuto C++ #81 : Les tuples
มุมมอง 2052 หลายเดือนก่อน
Nous y sommes, les tuples, ces containers qui permettent de stocker plusieurs types de variables différents ! (Mais qui ne viennent pas sans inconvénients...) N'hésite pas à t'abonner si ce n'est pas fait pour être notifié à chaque fois que je sors du contenu ! Les cours dont vous aurez besoin pour cette vidéo : Les structure bindings : th-cam.com/video/qa9YpRo_rJ0/w-d-xo.html Accueil de la cha...
Cours/Tuto C++ #80 : Tableaux de function pointers
มุมมอง 1472 หลายเดือนก่อน
Dans cette vidéo, j'introduis la notion de tableaux de function pointers, qui nous permet d'optimiser des programmes complexes, comme des state machine, des gestionnaires d'événements ou des fonctions graphiques ! N'hésite pas à t'abonner si ce n'est pas fait pour être notifié à chaque fois que je sors du contenu ! Les cours dont vous aurez besoin pour cette vidéo : Les function pointers : th-c...
Cours/Tuto C++ #79 : Les liaisons structurée (structure bindings)
มุมมอง 1982 หลายเดือนก่อน
Nous avons vu que le mot clef auto était une fonctionnalité qui permettait de déduire automatiquement le type d'une variable en C , mais comment faire lorsqu'on nous traitons de structures composées de plusieurs variables et qu'on veut décomposer cette structure, la "dépacker" facilement ? En utilisant les structure bindings bien sûr ! N'hésite pas à t'abonner si ce n'est pas fait pour être not...
Cours/Tuto C++ #78 : Le mot clef TYPEDEF
มุมมอง 1572 หลายเดือนก่อน
Envie de définir vos propres alias et vos propres noms de variables ou de fonction personnalisés en C ? Utilisez le mot clef "typedef" que j'introduis dans cette vidéo ! N'hésite pas à t'abonner si ce n'est pas fait pour être notifié à chaque fois que je sors du contenu ! Les cours dont vous aurez besoin pour cette vidéo : Les pointeurs de fonctions : th-cam.com/video/a35fME_3zRg/w-d-xo.html Ac...
Cours/Tuto C++ #77 : Le tri (std::sort)
มุมมอง 1163 หลายเดือนก่อน
Vous vous êtes peut être déjà demandé comment trier facilement vos containers ? Il existe une fonction de la bibliothèque standard C qui est la méthode sort, et qui vous permet de le faire facilement, en vous permettant également de personnaliser votre méthode de tri ! N'hésite pas à t'abonner si ce n'est pas fait pour être notifié à chaque fois que je sors du contenu ! Les cours dont vous aure...
Cours UNIX/Linux #5 : Utilisateurs et groupes (intro)
มุมมอง 903 หลายเดือนก่อน
Dans cette vidéo, on va introduire la notion d'utilisateurs et de groupes. Ce sont deux notions qu'il faut connaître impérativement pour avoir des bases solides de ces systèmes d'exploitation. N'hésite pas à t'abonner si ce n'est pas fait pour être notifié à chaque fois que je sors du contenu ! Lien vers la vidéo sur l'architecture UNIX/Linux : th-cam.com/video/YQsLVBjWvxY/w-d-xo.html Accueil d...
Cours/Tuto C++ #76 : Date et heure (std::chrono)
มุมมอง 1163 หลายเดือนก่อน
Nous avons vu la première partie de la vidéo sur std::chrono, sur les durées et les "time points". Nous abordons dans cette seconde vidéo l'autre facette de cette bibliothèque, sortie avec C 20, et qui traite des dates et heures. N'hésite pas à t'abonner si ce n'est pas fait pour être notifié à chaque fois que je sors du contenu ! Accueil de la chaîne : www.youtube.com/@revaninio Page Facebook ...
Cours/Tuto C++ #75 : Les std::list (liste chaînée)
มุมมอง 2903 หลายเดือนก่อน
On continue un peu sur les containers de la librairie standard C , et cette fois, en découvrant les listes chaînées en C , les "std::list". N'hésite pas à t'abonner si ce n'est pas fait pour être notifié à chaque fois que je sors du contenu ! Accueil de la chaîne : www.youtube.com/@revaninio Page Facebook : RevaninioComputing Serveur Discord : discord.gg/CvnmtGFctz Crédits : Musiqu...
Cours/Tuto C++ #74 : Temps et durées (std::chrono)
มุมมอง 2984 หลายเดือนก่อน
Maintenant que nous avons un certain nombre d'outils en C , il nous faut pouvoir choisir lesquels utiliser en fonction des situations. Quoi de mieux que de mesurer et comparer leurs temps d'exécution ? Dans cette première vidéo consacré au temps, aux durées et à la date et l'heure, j'introduis la librairies std::chrono ! N'hésite pas à t'abonner si ce n'est pas fait pour être notifié à chaque f...
Cours UNIX/Linux #4 : La hiérarchie des systèmes de fichiers
มุมมอง 4084 หลายเดือนก่อน
Les systèmes d'exploitation de type UNIX/Linux ont une structure de gestion des dossiers et des fichiers particulière. Dans cette vidéo, on va s'y intéresser d'un peu plus près ! N'hésite pas à t'abonner si ce n'est pas fait pour être notifié à chaque fois que je sors du contenu ! Lien vers la vidéo sur l'architecture UNIX/Linux : th-cam.com/video/YQsLVBjWvxY/w-d-xo.html Accueil de la chaîne : ...
Cours UNIX/Linux #3 : Prise en main et préparation de l'OS
มุมมอง 2095 หลายเดือนก่อน
Cours UNIX/Linux #3 : Prise en main et préparation de l'OS
Cours/Tuto C++ #72 : La fonction main et ses arguments
มุมมอง 2815 หลายเดือนก่อน
Cours/Tuto C #72 : La fonction main et ses arguments
Cours/Tuto C++ #71 : Opérations atomiques et conditionnement des threads
มุมมอง 2925 หลายเดือนก่อน
Cours/Tuto C #71 : Opérations atomiques et conditionnement des threads
Cours/Tuto C++ #70 : Lire et écrire dans un fichier
มุมมอง 2905 หลายเดือนก่อน
Cours/Tuto C #70 : Lire et écrire dans un fichier
Cours UNIX/Linux #2 : Architecture UNIX et étapes de démarrage
มุมมอง 2715 หลายเดือนก่อน
Cours UNIX/Linux #2 : Architecture UNIX et étapes de démarrage
Cours/Tuto C++ #69 : Références universelles
มุมมอง 2395 หลายเดือนก่อน
Cours/Tuto C #69 : Références universelles
Cours/Tuto C++ #68 : Rvalue reference et Xvalue
มุมมอง 3056 หลายเดือนก่อน
Cours/Tuto C #68 : Rvalue reference et Xvalue
Cours/Tuto C++ #67 : Sémantiques de déplacement (move semantics)
มุมมอง 2816 หลายเดือนก่อน
Cours/Tuto C #67 : Sémantiques de déplacement (move semantics)
Cours/Tuto C++ #66 : Introduction aux lvalue et rvalue
มุมมอง 3536 หลายเดือนก่อน
Cours/Tuto C #66 : Introduction aux lvalue et rvalue
Cours/Tuto C++ #65 : Les std::mutex (Mutual exclusion)
มุมมอง 2856 หลายเดือนก่อน
Cours/Tuto C #65 : Les std::mutex (Mutual exclusion)
Cours/Tuto C++ #62 : Fichiers d'entête précompilés
มุมมอง 3097 หลายเดือนก่อน
Cours/Tuto C #62 : Fichiers d'entête précompilés
Cours/Tuto C++ #61 : Les boucles "for each"
มุมมอง 2317 หลายเดือนก่อน
Cours/Tuto C #61 : Les boucles "for each"
bonjour je cherches à apprendre le c++ et tu es celui qui explique le mieux et de loin
Merci beaucoup, ça fait énormément plaisir ! N'hésite pas à rejoindre le serveur discord (dont le lien est dans la description) si tu as besoin de conseils !
Hello quelle est la différence entre création et utilisation dans les config, plutôt que fait utilisation? il faut inclure l objet du pch dans le gestionnaire du code source pour que ca marche ?
Salut, merci de ton commentaire, en revanche, je ne suis pas certain d'avoir compris ta question. Si jamais tu veux en discuter plus en détails et plus clairement, je t'invite à rejoindre mon serveur Discord :) Le lien est dans la description.
Top, cependant c’est le chargement dynamique qui est intéressant avec les dll
Merci ! Par contre, qu'est-ce que tu entends par chargement dynamique ? Le rattachement de la dll au programme en cours d'exécution ?
@@revaninio Ne pas utiliser le .lib, charger la fonction avec GetProcAddress
mercie, trop cool
:D
Merci encore !
Je t'en prie ! :D
C'est parti pour une playlist de 83 épisodes pour apprendre le C++ !
Merci à toi ! Bon visionnage !
Au top la vidéo
Merci beaucoup !
👌oui je valide le cours. +1👍
Merci !
cool emplus defois j'ai du mal a installer les lib
Quelle lib? Je suis dispo
Stp comme tu as commcence avec les librairies peut tu plus tard faire une video sur Boost ?
Possible, mais j'ai encore des notions à voir avant d'aborder des concepts plus avancés, mais pourquoi pas !
@@revaninio Je travaille comme programmeur C++ depuis janvier 2023 en freelance. Tes videos sont juste excellante.
Encore plus interessant !
Merci ! Et c'est pas fini !
bas enfaite les tuple serve a quoi ducoup si on et assez limité ??
Les tuples servent principalement pour le stockage rapide et simple de variables de types différents, et le renvoi de plusieurs valeurs depuis une fonction. De plus, les API modernes, comme les containers et les classes de la bibliothèque standard C++ utilisent souvent des tuples, du coup, niveau interopérabilité, c'est pratique.
En effet c est court mais un concentré d efficacité! +1👍
Merci beaucoup !
mercie
Bonjour, merci pour ces vidéos comme d'habitude super génial !! :) J'ai deux petites questions : - Pourquoi les smart pointer fonctionnent sans l'entête <memory> (en tout cas de mon coté)? Est ce qu'il faut quand même l'inclure ? - Pourquoi std::shared_ptr fonctionne avec std::make_unique ? c'est quoi la différence fondamental entre std::make_shared et std::make_unique ? il y a plus de deux questions c'était un piège 😁
Salut, le mieux c'est que tu rejoignes le serveur Discord (si c'est pas encore fait), histoire de centraliser les infos et de faire facilement participer tout le monde. Pour tes questions : 1) C'est étrange, vérifie que le fichier d'entête n'est pas inclus ailleurs implicitement. 2) C'est autorisé mais ce n'est pas recommandé, car le pointeur est stocké temporairement dans un unique_ptr, et est ensuite déplacé (std::move) vers un shared_ptr.
#include <iostream> int main() { int tableau[5] = {10, 20, 30, 40, 50}; int* p = tableau; // p pointe vers le premier élément du tableau for (int i = 0; i < 5; ++i) { std::cout << "Valeur à l'adresse " << p << " : " << *p << std::endl; p++; // Incrémente le pointeur pour qu'il pointe vers l'élément suivant } return 0; } //
Pourquoi dit ont que un tableau est un pointeur a son premier élément?
Merci pour le cours 😀
Merci à toi !
#include <windows.h> .... int main(){ SetConsoleOutputCP(CP_UTF8); .....
Bien vu !
@@revaninio :) Ta chaîne est vraiment super tu fais du super boulot ! Je la conseille à tous ceux qui veulent se former au C++
@@devil-dead-arcade C'est super sympa ! Merci beaucoup <3
Bonjour, merci pour cette vidéo. Concernant les tuples, il me semble qu'ils sont très semblables aux structs. Ceux-ci peuvent également contenir des éléments de types différents. Quelle est la différence fondamentale de ces deux types ?
Bonjour, il y a plusieurs différences entre les tuples et les structs. D'une part, les structs sont des formalismes similaires aux classes, qui peuvent avoir des données membres, des méthodes, implémenter l'encapsulation, l'héritage etc... Les tuples eux, ne proposent pas ce genre de possibilités, ils sont avant tout des containers template C++ utilitaires qui permettent de stocker des variables de types différents. De plus, il n'est pas possible (ou très difficilement) de mettre en place de recherche itérative dans un tuple, ce qui donne une moins-value assez importante par rapport au struct (qui lui, peut implémenter des itérateurs).
@@revaninio OK, merci pour votre réponse très complète. Les tuples sont donc utiles uniquement pour un usage limité et ponctuel, certainement pas pour stocker un nombre important de données.
A 4:20 ce cast ne risque-t-il pas d'entrainer des comportements indéfinis selon le boutisme (endianness) du system ?
Salut ! Merci de ton commentaire ! De quelle cast parles tu ?
Cool une nouvelle vidéo
Salut, je viens de découvrir tes vidéos sur le C++ c'est génial ! merci de nous transmettre tes connaissances c'est super cool !! :)
Salut, merci à toi pour ton soutien ! :D
👍
+1👍
Super bien expliqué, bien efficace cette vidéo. Savoir rendre instanciable ou non une class et faire la différence entre class abstraite et interface. +1👍
très bonne vidéo +1👍. dans le struct, le mot clé public est d'origine, je veux dire, lorsqu'on déclare, les attributs et méthodes seront toujours visibles même sans mettre le mots clé public (je ne mets jamais le mot clé public et je sais ce n'est pas bien. Ma logique veut que je déclare en premier lieu tous mes public et ensuite tous mes protected et enfin tous mes private ) contrairement à la classe, c'est private qui est d'origine.
Oui, un struct est par défaut toujours public, et une classe toujours par défaut privée.
balèze mon blaise😁 +1👍
Je ne m'intéresse plus du tout au C++ mais je tiens à féliciter l'auteur pour sa vidéo : très clair, pas d'anglicisme plus que de raison, bien écrit. Ça fait plaisir :) Par contre, dans d'autres langages disposant de ce genre de concepts, on utilise les tuples pour renvoyer plusieurs variables par une fonction, pas en C++ ? J'ai quand même l'impression que c'est l'idée principale de l'utilisation de cette "classe" d'objets.
Tu as raison, merci d'ailleurs d'avoir pointé ça du doigt. On peut se servir des tuples pour renvoyer plusieurs variables d'une fonction, j'aurai effectivement du en parler. Je ferai certainement une vidéo complémentaire sur le renvoi de multiples variables depuis une fonction.
Bonjour Revaninho, merci pour cette video )
Merci à toi !
+1👍
+1👍
Super bien expliqué le mot clé "static". +1👍 pour la vidéo
+1👍. Exactement, ce serait bien de voir comment faire les libs dynamiques
C'est prévu :)
+1👍. oh lala, mélange de C et C++ 😁. Mais oui, bon exemple!!!! moi je ne fais pas de différence. Je ne suis pas pro donc je fais ce que je veux😉. je vais à la simplicité.
+1👍
Impeccable cette vidéo, +👍. Une fois le mot clé public mis dans une classe, plus besoin de le remettre sauf après un private ou protected
A ces espaces de nom on peut lui ajouter les classes... magnifique cette vidéo! on continue. +1👍 merci prof
Merci à toi !
Je valide le cours 😉. En effet, en utilisant "virtual" la fonction n'est pas une surcharge mais bien une redéfinition d'une fonction membre dans une classe dérivée.
:D
Merci bien continue
Merci de ton soutien !
😁Tu es tout excusé🤣class enfante...🤣. Surtout ne le prends pas mal si j'en rigole. Moi aussi j'en fais et je suis content de ne plus être tout seul! En tout cas, bonne vidéo car la notion d'héritage est bien expliqué. +1👍. 🙏
J'ai honte d'avoir répété ce genre d'hérésie xD
@@revaninio bah, pas de honte pour çà ! n'importe quoi. tout est bien, moi j'adore ce que tu fais.
+1👍. Ici le déstructeur est très bien expliqué.
😁 +1👍 . 👏 Cours de très bonnes qualités. 😉
Merci beaucoup <3
Pour un simple programme semblable au Bloc-note de Microsoft j'ai déclaré les identifiants RichEdit & StatusBar avant les prototypes des fonctions/procédures de mon programme ce qui permet aux identifiants d'être reconnu partout. Mais j'aimerais maintenant faire mes gadgets (RichEdit & StatusBar) à l'aide d'une classe Gadget qui me permet de centraliser tout ça, mais je me retrouve face à un problème que je ne sais résoudre. Est-il possible de déclarer l'objet d'une classe sans le construire, afin qu'il soit reconnu partout, puis de le faire construire dans l'évènement WM_CREATE ? Peut-on séparer la déclaration d'un objet classe de sa construction ? Mille merci pour ton aide !
Salut ! Oui c'est possible, mais un peu long à expliquer sur un commentaire de vidéo TH-cam, je te suggère de rejoindre le serveur Discord, où nous sommes quelques uns à échanger :D Le lien est dans la description.
Alors celle-là si on nous l'explique pas elle est difficile à comprendre, je l'avais vue dans des sources mais j'interprètais l'expression à l'envers, ce qui me paraissait logique 😁 mais le résultat ne correspondait pas. Merci pour ces indispensables explications.
Merci encore pour tes commentaires, ça fait plaisir ! :D
De toute façon on comprend à peine 10% de ce qui est dit ! 😁 c'est seulement quand je reviens sur la vidéo que je me rends compte que des tas de choses importantes sont dites qui nécessitent de l'instruction, du temps et de l'exercice. Si ces vidéos sont super pour apprendre elles sont tellement chargées d'information que seule la répétition fait avancer le smilblick... En tout cas pour ceux qui comme moi n'avancent que de cette manière et qui le font par passion (ce n'est pas mon travail). Vidéos à voir et revoir...
Merci beaucoup ! Tu as raison, cette vidéo est peut être la plus compliquée de la playlist, mais pas de panique, je reviendrai dessus et je proposerai également des petits exercices pour pratiquer :D
Dans cette vidéo, l'encapsulation est vraiment bien expliquée. 👍
Merci beaucoup :D
excelent travail!
Merci beaucoup !
Pardon quand sortira le prochain cours
Merci beaucoup pour les cours
Merci de ton soutien !
👍