FILIERE DEV C-C++, LINUX EMBARQUE - 57 JOURS - 399 HEURES
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
FILIERE DEV C-C++, LINUX EMBARQUE • 57 JOURS – 399 HEURES
DEV C-C++, LINUX EMBARQUE OBJECTIFS ▪ Permet d'acquérir les bases de la programmation structurée en langage C et C++. ▪ Exploiter et administrer l’environnement Linux ▪ Etre capable en fin de session de concevoir une application sur environnement embarqué (ex : Raspberry Pi) et avec interfaces graphiques. ▪ Appliquer en mode projet. PRE-REQUIS ▪ L’apprenant doit avoir des notions d’Algorithmie. PROFIL DES PARTICIPANTS ▪ Scientifique en reconversion métier, ou informaticien METHODES ET MOYENS PEDAGOGIQUES ▪ Alternance d’exercices, cas pratiques et de notions théoriques. ▪ 1 PC par stagiaire, remise des supports sur clé USB personnalisée, tableau blanc, vidéoprojecteur ▪ Evaluation, cas pratiques, QCM CERTIFICATION / ATTESTATION ▪ Attestation de formation LIEU DE LA FORMATION ▪ AJC FORMATION
DEV C-C++, LINUX EMBARQUE FONDAMENTAUX ALGORITHMIE 2J PRESENTATION UNIX 1J COMMANDES LINUX 3J SHELL SCRIPT 3J UNIX - LINUX ADMINISTRATION LINUX 1J ARCHITECTURE LINUX 1J SYSTÈME DE FICHIERS 1J ECLIPSE 1J PROGRAMMATION C 5J DEV. OPEN SOURCE 2J GIT 2J DEVELOPPEMENT D’APPLICATIONS C VERS C++ 5J QT 5J SQLITE 1J DEBUG 2J EMBARQUE LINUX EMBARQUE 5J METHODE AGILE SCRUM 1J ROLE ET COMPORTEMENT DU CONSULTANT 2J COMPORTEMENTAL PRESENTER SES NOUVELLES COMPETENCES 1J MISE EN APPLICATION PROJET 13 J
DEV C-C++, LINUX EMBARQUE • Maîtriser les outils de l'algorithmique > PROGRAMME • (Schémas de programme, types et RÉFÉRENCE : C-C++, LINUX structures de données, modules) DURÉE : 2 jours, 14 heures • Acquérir le s bases des méthodes de programmation structurée nécessaires à l'apprentissage de tout langage de programmation OBJECTIFS ▪ Présenter les principes • Apprendre à raisonner sur un fondamentaux de la algorithme programmation et de l’algorithmique et expliquer Maitriser les notions de fichiers les notions communes à tous • les langages de programmation • Découvrir et mettre en œuvre la ▪ S’approprier les structures traduction d'un algorithme dans un langage de programmation logiques et la démarche de résolution d’un problème de façon structurée et indépendante de toute contrainte matérielle ou logicielle ▪ Résoudre des problèmes plus ou moins complexes
DEV C-C++, LINUX EMBARQUE • • > PROGRAMME ▪ Les fonctionnalités d'UNIX RÉFÉRENCE : C-C++, LINUX ▪ L'organisation du système ▪ Le mode vi sur la ligne de d'exploitation commandes DURÉE : 1 jour, 7 heures • • ▪ La connexion en mode texte (telnet, OBJECTIFS ssh) ▪ Les alias ▪ La connexion en mode graphique ▪ Comprendre les logiciels ▪ L'historique des commandes (XDMCP) La déconnexion libres et l'Open Source ▪ La modification du mot de passe ▪ Connaître les principes • fondamentaux du système d'exploitation ▪ Les notions de UID et GID ▪ Utiliser interactivement le L'arborescence type sous UNIX Les Shell et connaître les principaux répertoires commandes essentielles ▪ Le répertoire de connexion ▪ Gérer les fichiers et les ▪ Le prompt dossiers ▪ Utiliser nano, vi et vim • ▪ Lancer un Shell-script. ▪ La structure de l'arborescence UNIX ▪ Le déplacement dans l'arborescence (pwd, cd) La manipulation de répertoires (mkdir, rmdir) • ▪ Les différents types de fichiers ▪ La substitution de caractères ▪ La manipulation de fichiers (cat, more, pg, cp, mv, rm) • ▪ Les principes ▪ Les droits par défaut ▪ La manipulation de droits (chmod)
DEV C-C++, LINUX EMBARQUE • • > PROGRAMME ▪ Présentation des shells ▪ Commandes cut, tr, uniq, sort, wc, ▪ Premières commandes find, grep RÉFÉRENCE : C-C++, LINUX ▪ Commandes de transformation : ▪ Les différents Shell iconv, od, nl, basename, diff ▪ Comparaison de sh, bash, ksh et DURÉE : 3 jours, 21 heures ▪ Commande utilitaires : xargs, tee, dash cmp, comm, paste, sed • ▪ Expressions régulières OBJECTIFS ▪ L'aide locale ▪ Les commandes de base, ▪ À savoir l'utilisation poussée du bash, ▪ Freenode les grand utilitaires Unix dont les expressions régulières, ▪ Usage IRC sed et awk. • ▪ Accéder au contenu des fichiers ▪ Commandes de compression, d'impression et de gestion du temps ▪ Gestion administration ▪ Commandes composites pipes et redirections • ▪ Présentation ▪ Variables utilisateur ▪ Prompt ▪ Substitutions • ▪ Set ▪ cd, pushd, popd, umask, type, enable ▪ Historique et Alias ▪ Commande sur les processus : kill, jobs, wait, ulimit
DEV C-C++, LINUX EMBARQUE • • > PROGRAMME ▪ Rôle d'un Shell ▪ Instructions conditionnelles ▪ Présentation des différents shell ▪ Choix multiples RÉFÉRENCE : C-C++, LINUX sous Unix/Linux ▪ Boucles et Sauts inconditionnels ▪ Types et syntaxes DURÉE : 3 jours, 21 heures • • ▪ Alias ▪ Les man ▪ Sous-programme sous forme de OBJECTIFS ▪ Help script ▪ Acquérir les compétences ▪ IRC freenode ▪ Sous-programme sous forme de pour écrire des scripts en fonction Shell et exploiter les • possibilités des filtres • Unix/Linux. ▪ Options du Shell ▪ Syntaxe ▪ Variables et fichiers ▪ Commande expr d'environnement • ▪ Historique des commandes ▪ Meta-caractères des expressions • régulières ▪ Utilisation des expressions ▪ Énumérer les commandes régulières avecGrep essentiels par thème ▪ Substitution de nom de fichiers • ▪ Protection des caractères spéciaux ▪ Manipulation de chaînes de ▪ Redirections et Tubes de caractères communication ▪ Expressions de variables ▪ Regroupement des commandes ▪ Commandes basename et dirname • • ▪ Structure d'un script ▪ Principe de fonctionnement ▪ Commentaires ▪ Commandes de sed ▪ Exécution d'un script ▪ Utilisation des expressions ▪ Débogage d'un script et Code de régulières retour ▪ Présentation des sous-expressions • • ▪ Variables et Constantes ▪ Principes de fonctionnement ▪ Tableaux ▪ Structure d'un programme awk ▪ E/S de données ▪ Critères ▪ Commandes de substitution ▪ Variables et les expressions ▪ Pushd et popd ▪ Tableaux ▪ Instructions et Fonctions prédéfinies
DEV C-C++, LINUX EMBARQUE • • > PROGRAMME ▪ Philosophie Debian ▪ Présentation des principales ▪ Préparation de l'installation commandes d'archivage RÉFÉRENCE : C-C++, LINUX ▪ Création d’une stratégie de ▪ L'installeur Debian sauvegarde ▪ Enchaînement des écrans DURÉE : 1 jour, 7 heures ▪ Automatisation des tâches de d'installation sauvegarde • ▪ Outils de sauvegarde OBJECTIFS ▪ Commandes de base • ▪ Les commandes de base, ▪ Fichiers utilisateurs l'administration système en ▪ Lectures des journaux textes et ▪ Gestion des groupes ligne de commande et via les binaires programmes graphiques. ▪ Réglage du shell ▪ Rotation des journaux • ▪ Effectuer une synthèse avec Logwatch ▪ Mise à jour via les dépôts ▪ Mise à jour via des paquets • ▪ Installation d'un paquet ▪ Gestion des pilotes d'interfaces ▪ Mise à jour via les sources ▪ Démarrage et arrêt du firewall (iptables), ▪ TCPIP • ▪ Organisation des fichiers ▪ Outils de diagnostic ▪ Système de fichiers • ▪ Commandes ▪ RAIDS logiciels ▪ Configuration du serveur et du client ▪ LVM OpenSSH • ▪ Description du processus de démarrage ▪ Init et upstart • ▪ Gestion des processus ▪ Gestion des signaux ▪ Tâches avant et arrière plans ▪ Planification de tâches
DEV C-C++, LINUX EMBARQUE • > PROGRAMME ▪ Architecture Linux ▪ Les différents éléments d’un RÉFÉRENCE : C-C++, LINUX système Linux ▪ Le BIOS et le boot DURÉE : 1 jour, 7 heures ▪ Le boot ▪ Introduction au Noyau ▪ La librairie LibC OBJECTIFS ▪ L’architecture Linux, le • noyau, init et demons, init et ▪ Présentation shell. ▪ Versions ▪ Les sources ▪ Configuration du noyau ▪ Module / Kernel / None ▪ Avantage / Désavantage des modules ▪ Commandes sur les modules • ▪ Inittab et init ▪ Niveau d’exécution ▪ Exemple fichier `/etc/inittab` ▪ Les différents types de démon • ▪ Les commandes de base et programme ▪ Le Shell ▪ Les gestionnaires de fenêtre ▪ Qt
DEV C-C++, LINUX EMBARQUE • ▪ Les FS anciens et récupération de > PROGRAMME ▪ Histoire du disque données : ADFS, AFFS, EFS, HFSN ▪ Faits et chiffres HFSPLUS, HPFS, MINIX, SysV, ufs, umsdos RÉFÉRENCE : C-C++, LINUX ▪ Géométrie des disques ▪ IDE, ATA, PATA, SATA, SCSI,USB, ▪ Les FS réseaux : NFS, CIFS, NCPFS, DMA,ULTRA DMA AFS, Coda, GFS, CEPH GS DURÉE : 1 jour, 7 heures ▪ Alimentation ▪ Les FS mémoire : SQUASHFS, ▪ MOLEX SATA RAMFS, ROMFS, UBIFS, JFFS2, YAFFS2, LogFS OBJECTIFS • ▪ Les pseudo File System : proc, sys, devpts, debugfs, autofs, fuse ▪ Quels sont les disques ▪ Connaître les disques présents sur présents sur votre système, le système et non montés • même ceux qui ne sont pas ▪ Connaître le hardware présent sur le montés ? système ▪ Syntaxe mount ▪ Comment gérer le RAID ou le ▪ Les pseudos devices et leurs ▪ Les types de paramètres informations LVM sous Linux ? ▪ Option -t ▪ Les commandes de customisation ▪ Comment installer les ▪ Augmenter les taux de transfert ▪ Option -o récentes partition GBT disque ▪ Option bind et move compatibles avec l'UEFI ? ▪ Démon de vérification des erreurs disques SMART ▪ Device /dev/loop0 ▪ Comment fonctionnent les UUID ? ▪ Montage loop ▪ Démontage d'un périphérique • ▪ Augmenter la vitesse de transfert d'un disque. ▪ Partitionnement MBR ▪ UUID ▪ Partitionnement GPT ▪ Le fichier fstab ▪ Prise en charge du firmware UEFI ▪ Partitionner en MBR • ▪ Partitions primaires, étendues, secondaires ▪ Partiotinner en GPT • ▪ Conversion partitions MBR/GPT • • ▪ Arborescence FHS • ▪ Revue de différents systèmes de fichiers : description, caractéristiques, limitations, montage, option du kernel ▪ Les FS actuels : ext2, ext3, ext4, reiserFS, FAT, FAT32, NFTS, ISO9660, JFS, QNXFS, UDF, JFS, BTRFS, NILFS2
DEV C-C++, LINUX EMBARQUE • • > PROGRAMME ▪ Historique, utilisation, organisation des fichiers, éditeur, compilation, RÉFÉRENCE : C-C++, LINUX environnement de développement, domaines d'utilisation, la norme ANSI DURÉE : 5 jours, 35 heures • • ▪ Cast, sizeof, malloc, delete OBJECTIFS ▪ Caractères autorisés, la fonction • main, blocs et instructions, ▪ Les bases du langage C, le commentaires, initiation langage utilisé pour sa préprocesseur, types de données ▪ ET, OU, OU exclusif, complément à rapidité. Il aborde les élémentaires 1.Décalages. éléments du langage, les spécificités du compilateur • • gnc c. ▪ Déclaration, déclarations globales et locales, initialisation des variables ▪ if, switch, while, do, for, break, continue • • ▪ Entrées/sorties formatées. Formatage numérique, formatage ▪ Définition. Tableau à une dimension. caractère, entrées formatées Initialisation. Tableau multi- dimensionnel. Chaînes de caractères -Copie de chaînes de caractères. • Opération sur les chaînes de caractères. ▪ Opérateurs arithmétiques. Mécanismes d'évaluation des • expressions. Post et pré- incrémentation de décrémentation. ▪ Présentation, définition, déclaration, Précédence et associativité des paramètres de fonction, retour d'une opérateurs. fonction, appel, passage de l'adresse d'une fonction ▪ Expressions logiques •
DEV C-C++, LINUX EMBARQUE • • > PROGRAMME ▪ Les objectifs et les principes ▪ La gestion des préférences. La d'Eclipse. gestion des propriétés. RÉFÉRENCE : C-C++, LINUX ▪ Les concepts de base : vue, éditeur, ▪ Les références entre projets. L'ajout perspective, espace de travail, de Plug-ins et Features. Le DURÉE : 1 jour, 7 heures projet, répertoire, fichier, nature. paramétrage d'Eclipse. ▪ Le démarrage d'Eclipse. Fonctions d'aide. Gestion des vues et des OBJECTIFS perspectives. Gestion des ressources. ▪ Prendre en main l'interface ▪ Fonctions de navigation, de de développement Eclipse recherche. Gestion des projets. ▪ Mettre en oeuvre des différents outils Eclipse pour • développer des applications C : édition, compilation, debug ▪ La perspective Debugger dans Eclipse. ▪ Configurer Eclipse pour qu'il corresponde à vos besoins de ▪ Les différents Breakpoints et développement Watchpoints. ▪ Gérer les versions d'une ▪ L'inspection des variables ou application C avec SVN. expressions, la navigation dans la pile d'exécution. ▪ Le contrôle de l'exécution. Le debug réparti. • • ▪ La gestion des préférences. La gestion des propriétés. ▪ Les références entre projets. L'ajout de Plug-ins et Features. Le paramétrage d'Eclipse.
DEV C-C++, LINUX EMBARQUE • • > PROGRAMME ▪ Connexion via une liaison série ▪ Principe ▪ Connexion non sécurisée via IP ▪ Installation RÉFÉRENCE : C-C++, LINUX ▪ Connexion sécurisée via IP ▪ Configuration ▪ ssh permanent ▪ Syntaxe DURÉE : 2 jours, 14 heures ▪ Connexion ssh et déport de l'affichage X • OBJECTIFS ▪ Eclipse • ▪ La formation explique aux ▪ QtCreator développeurs comment ▪ le super utilisateur ▪ Clion utiliser tous les outils du ▪ les commandes de base monde Opensource. ▪ Emacs ▪ Sauvegarde ▪ Code::Block ▪ cron et tâches automatisées ▪ KDE, Gnome, XFCE • ▪ Installations de la distributions, d'un ▪ gdb paquetage, synaptics, logithèque, en ▪ débugueurs graphiques ddd, ligne de commande, ajouter des débugueurs intégrés dépôts ▪ Autres outils : electric fense, ▪ Installation via les sources strace,ltrace, nm ▪ Dépendances ▪ Débugage par fichier core • ▪ Tuning des fichiers core ▪ Débugage à distance sur machine ▪ Syntaxe de base cible ▪ mode enrichi ▪ Autotools, automake, autoscan, • aclocal ▪ Philosophie des paquets Debian ▪ qmake ▪ Création de paquets Debian • ▪ Debhelper dpkg-buildpackage ▪ Contrôle qualité des paquets ▪ Principe ▪ Création d'un dépôt de paquets ▪ SVN, utilisation gestion de conflits ▪ Git ▪ Sourceforge ▪ Créer un serveur SVN
DEV C-C++, LINUX EMBARQUE • • > PROGRAMME ▪ Histoire de GIT ▪ Avance rapide ▪ Gestionnaires de versions ▪ Fusion triangulaire centralisés vs distribués RÉFÉRENCE : C-C++, LINUX ▪ Les différents gestionnaires de ▪ Résolution de conflit dans la version branche DURÉE : 2 jours, 14 heures ▪ Gestion shapshot vs gestion ▪ Gestion des branches différentielle ▪ Les avantages de GIT ▪ Travailler avec les branches ▪ Branches distantes OBJECTIFS • • ▪ Comment utiliser et tirer ▪ Installation sous Linux partie du gestionnaire de ▪ Premières configurations ▪ Principes et dangers versions distribué Git ▪ Installation à partir des sources ▪ Installation sur MacOSX • ▪ Installation sous Windows ▪ Les protocoles ▪ Commandes d'aide ▪ local, https, git • ▪ Installation de git sur un serveur ▪ Initialisation, clonage ▪ Dépôt nus ▪ Status ▪ Copie de dépôts ▪ Les différents états d'un fichier ▪ Génération de clés publiques ssh ▪ Commandes add et commit ▪ Mise en œuvre du serveur ▪ Commandes rm et mv ▪ Accès public ▪ Visualisation de l'historique ▪ Outil graphique gitk • ▪ Annuler des actions ▪ GitWeb, Gitosis, Gitolite, Démon Git, • Git hébergé ▪ git remote • ▪ git fetch ▪ Développements distribués ▪ git pull ▪ Contribution à un projet ▪ git push ▪ Maintenance d'un projet • • ▪ Étiquettes légères, annotées, signées ▪ Sélection des versions ▪ Propagation des étiquettes ▪ Indexation interactive ▪ Complétion et Alias ▪ Le remisage ▪ Les branches ▪ Ajout d'une branche ▪ Réécrire l'historique ▪ Checkout d'une branche ▪ Deboguer avec Git ▪ Sous-modules ▪ Fusion de sous-arborescences ▪ Migrer de SVN à Git
DEV C-C++, LINUX EMBARQUE • > PROGRAMME • ▪ Modélisation ▪ Liste des opérateurs qui peuvent ▪ Abstraction être surchargés RÉFÉRENCE : C-C++, LINUX ▪ Encapsulation ▪ Surcharge d'un opérateur par une ▪ Classe et Objets fonction membre DURÉE : 5 jours, 35 heures ▪ Instanciation d'objet ▪ Surcharge d'un opérateur par une ▪ Les membres, attributs, méthodes fonction non membre ▪ Surcharge de l'opérateur OBJECTIFS • d'affectation `operator=` ▪ Appréhender les concepts ▪ Préambule ▪ Opérateur de conversion vers un objets (Classe, ▪ Définitions autre type Encapsulation, ▪ Types ▪ Symétrie polymorphisme, héritage) qui ne sont pas présents en ▪ Paramètres de fonctions par référence langage C. ▪ Fonctions inline • ▪ Tester des Bibliothèques et ▪ Appels de fonctions C ▪ Exemple d'exception API ▪ Entrées et sorties simples ▪ Remarques • ▪ Attraper une exception ▪ La classe exception et sa dérivée ▪ Les classes stdexcept ▪ Déclaration dans le fichier cpp ▪ Réponses ▪ Méthodes ▪ Laisser échapper une exception ▪ Paramètres par défaut ▪ Déclaration de fonction avec ▪ Masquage exception non traitées ▪ Surcharge ▪ Faire/défaire • • ▪ Constructeurs ▪ Présentation ▪ Exemples d'utilisation ▪ Déclaration ▪ Types de constructeurs ▪ Définition ▪ Constructeur par copie ▪ Utilisation ▪ Constructeurs par transtypage ▪ Exemples connus ▪ Usage du mot clé explicit ▪ Constructeurs à arguments multiples ▪ Exclusion de méthodes d'un namespace ▪ Liste d'initialisations ▪ Espace de nommage anonyme ▪ Le destructeur • • ▪ Constance ▪ Les directives ▪ Variables statiques ▪ Directives include et define simple ▪ Méthodes statiques ▪ Instructions conditionnelles ▪ Autres types de classe de stockage ▪ ifndef define ifdef ▪ Constance ▪ identificateur ▪ Fonctions amis ▪ Les macros ▪ Classes amies ▪ Macros prédéfinies
DEV C-C++, LINUX EMBARQUE • > PROGRAMME ▪ Classe fille ▪ Présentation ▪ Déclaration de la classe fille ▪ Patrons de fonction RÉFÉRENCE : C-C++, LINUX ▪ Encapsulation ▪ Utilisation ▪ Particularité amusante ▪ Remarques DURÉE : 5 jours, 35 heures ▪ Héritage multiple ▪ Piège sur les pointeurs ▪ Portée d'héritage ▪ Patron de fonction à l'intérieur d'une ▪ Redéfinition vs surcharge classe OBJECTIFS ▪ Problématiques des classes ▪ Instanciation implicite et explicite ▪ Appréhender les concepts dérivées ▪ Spécialisation objets (Classe, Encapsulation, • polymorphisme, héritage) qui ne sont pas présents en ▪ Méthodes virtuelles • langage C. ▪ Contrainte sur les fonctions ▪ Exemple ▪ Tester des Bibliothèques et virtuelles ▪ Fonctions exportées API ▪ Fonctions virtuelles pures et classes ▪ Template sur les opérateurs abstraites ▪ Foncteurs • ▪ A quoi servent les foncteurs ? ▪ Cas d'utilisation ▪ Rappels ▪ Performance ▪ Définition d'un pointeur ▪ Difficultés de notation ▪ Pointeurs et allocation mémoire • ▪ Désallocation ▪ Problématique des pointeurs ▪ Organisation de la mémoire ▪ Présentation des pointeurs ▪ Pointeurs et classes intelligents ▪ Le pointeur *this* ▪ unique_ptr ▪ Arithmétique sur les pointeurs ▪ Exemple de unique_pointer ▪ Cas d'utilisation des pointeurs : pas ▪ shared_ptr ▪ Exemple de shared pointer • ▪ weak_ptr ▪ Définition ▪ Avantages et inconvénients des ▪ Exemple pratique pointeurs intelligentsssage ▪ Règles à respecter d'argument ▪ TypeId ▪ Utilisation
DEV C-C++, LINUX EMBARQUE • C11 • > PROGRAMME ▪ Présentation ▪ Singleton ▪ Templates variadiques RÉFÉRENCE : C-C++, LINUX ▪ Fabrique Abstraite ▪ Templates externes ▪ Builder ▪ Assertions statiques DURÉE : 5 jours, 35 heures ▪ Mise en œuvre pratique ▪ Expressions et fonctions lambda ▪ Sémantique RValue Reference/Move • OBJECTIFS ▪ Enumérations typées ▪ Le type tuple ▪ Composite, ▪ Appréhender les concepts ▪ Support des expressions régulières ▪ Pont, objets (Classe, Encapsulation, ▪ Tables de hachage ▪ Adaptateur, polymorphisme, héritage) qui ▪ Boucles d'intervalle ▪ Décorateur, ne sont pas présents en langage C. ▪ Façade, ▪ Tester des Bibliothèques et ▪ Proxy, API • ▪ Value Object ▪ Mise en œuvre pratique ▪ Problème de conception en programmation Objet • ▪ Présentation des Design Pattern ▪ Design Pattern du ▪ Design Pattern et bibliothèque ▪ GoF standard du C++ ▪ Principe de conception en ▪ Mise en œuvre systématique programmation Objet ▪ Refactoring • ▪ Itérateur, ▪ Stratégie, ▪ Template Method, ▪ Etat, ▪ Observateur, ▪ Médiateur, ▪ Visiteur ▪ Mise en œuvre pratique
DEV C-C++, LINUX EMBARQUE • • > PROGRAMME ▪ Historique, intérêt, domaine ▪ Déclaration d'un Signal et d'un Slot d'application, les mots clés ▪ Connexion d'un Signal et d'un Slot RÉFÉRENCE : C-C++, LINUX ▪ Licences et implication pour le développement industriel ▪ Utilisation de moc et les fichiers ▪ L'environnement de développement générés DURÉE : 5 jours, 35 heures ▪ Rappels C++ ▪ Quelques classes Qt5 • • OBJECTIFS ▪ Caractéristiques ▪ QList, QStringList ▪ Apprendre à utiliser des ▪ Projets/Modèles ▪ QVariant bibliothèques de classe pour ▪ Types de projets : console, développer des applications à ▪ QDate application, librairies interfaces graphiques ▪ QCompleter ▪ Utilisation ▪ Les différentes aides ▪ QMap, QHash ▪ La complétion ▪ Les fenêtres ▪ Astuces éditeurs ▪ QDialog ▪ Compilation et débugage ▪ Fenêtre ui :QMessageBox,QFileDialog • ▪ Ouverture directe de QWidget ▪ Compilation ▪ Classes évoluées ▪ Les différents fichiers générés ▪ Qdebug, QResources ▪ Directives de compilation ▪ QSettings ▪ Débugage ▪ QRegExp ▪ Modèle MVC • ▪ L'objet QObject • ▪ Les grandes familles d'objets ▪ Structure d'un programme ▪ QCoreApplication et QApplication ▪ Les différents modèles associés ▪ Les équivalents sans modèles, QListWidget,QtableWidget, • ▪ Philosophie QColumnWidgetn QTreeWidget ▪ Les différents objets graphiques ▪ Internationalisation ▪ Détail de QLineEdit ▪ QLayout et QSpacers • ▪ Les menus et les QActions ▪ tr ▪ commande TRANSLATION ▪ Utilisation de QLinguist ▪ Traduction dynamique • ▪ Utilisation d'un module ▪ Utilisation de Webkit ▪ Utilisation de Phonon
DEV C-C++, LINUX EMBARQUE • ▪ Retourner un tableau > PROGRAMME ▪ Configurer un délai d’attente : ▪ Généralités sqlite_busy_timeout ▪ Concepts et langage RÉFÉRENCE : C-C++, LINUX ▪ Retourner le nombre de lignes ▪ Avantages et différences avec modifiées : sqlite_changes MySQL et PostgreSQL DURÉE : 1 jour, 7 heures ▪ Lire la valeur d’une colonne : sqlite_column • ▪ Lire une ligne de résultat dans un ▪ Pré-requis tableau : sqlite_current OBJECTIFS ▪ Installation ▪ Place le pointeur de résultat au ▪ A l'issue de la formation vous ▪ Configuration à l’exécution début : sqlite_rewind connaîtrez les fonctions ▪ Déplace le pointeur de résultat vers ▪ Types de ressources essentielles de SQLite. Vous une ligne : sqlite_seek serez en mesure d'installer ▪ Fermer la connexion à SQLite : et configurer la bibliothèque, • sqlite_close utiliser l'ensemble de ses ▪ Base de données outils ou encore exécuter des ▪ Les objets • requêtes. ▪ Les tableaux ▪ Enregistrer une UDF agrégeante ▪ Les lignes et colonnes pour les requêtes : ▪ Les différentes vues sqlite_create_aggregate ▪ La bibliothèque ▪ Enregistrer une fonction utilisateur classique : sqlite_create_function • • ▪ Ouvrir une base ▪ Créer un objet : sqlite_factory ▪ Retourner toutes les lignes d’un jeu de résultats en tant que tableau de ▪ Ouvre une connexion SQLite tableaux : sqlite_fetch_all persistante et crée la base si elle n’existe pas : sqlite_popen ▪ Lire la prochaine ligne de résultats dans un tableau : sqlite_fetch_array ▪ Exécuter une requête : sqlite_array_query ▪ Retourner dans un tableau des types de colonnes d’une table : ▪ Exécuter une requête sans résultats sqlite_fetch_column_types sur une base de données : sqlite_exec
DEV C-C++, LINUX EMBARQUE • • > PROGRAMME ▪ Primary key ▪ Retourner à la ligne suivante en tant ▪ Rowid et Autoincrement RÉFÉRENCE : C-C++, LINUX qu’objet : sqlite_fetch_object ▪ Foreign Key ▪ Indique s’il reste des lignes à lire : sqlite_has_more ▪ Pragmas DURÉE : 1 jour, 7 heures ▪ Si oui ou non une ligne précédente est disponible : sqlite_has_prev OBJECTIFS ▪ Retourner à l’index de la ligne courante : sqlite_key ▪ A l'issue de la formation vous ▪ Retourne le numéro de ligne de la connaîtrez les fonctions dernière ligne insérée : essentielles de SQLite. Vous sqlite_last_insert_rowid serez en mesure d'installer ▪ Déplace le pointeur SQLite vers la et configurer la bibliothèque, prochaine ligne : sqlite_next utiliser l'ensemble de ses outils ou encore exécuter des ▪ Exécute une requête et retourne soit requêtes. un tableau pour une colonne unique, soit la valeur de la première ligne : sqlite_single_query ▪ Retourne le nom du champ : sqlite_field_name ▪ Retourne le nombre de champs dans un résultat : sqlite_num_fields • ▪ Retourne le message d’erreur : sqlite_error_string ▪ Retourne le dernier code d’erreur : sqlite_last_error ▪ Retourne l’encodage utilisé par la bibliothèque : sqlite_libencoding ▪ Décode des données binaires, passées à une UDF SQLite : sqlite_udf_decode_binary ▪ Encode les données binaires d’une UDF SQLite avant de les retourner : sqlite_udf_encode_binary
DEV C-C++, LINUX EMBARQUE • > PROGRAMME ▪ Mauvais adressage mémoire ▪ Problèmes de cadrage des RÉFÉRENCE : C-C++, LINUX informations ▪ Perte de mémoire DURÉE : 2 jours, 14 heures • ▪ strace et ltrace OBJECTIFS ▪ La mémoire ▪ Apprendre à repérer les ▪ lsof, netstat pertes de mémoire, les ▪ Sonde Nagios problèmes de débordement mémoire et savoir se servir des outils de débugage. • ▪ Apprendre à utiliser un core ▪ ddd dump, le débugage croisé, le ▪ Eclipse cdt debug d'un programme fonctionnant. • ▪ Debuguer un programme en exécution ▪ Debuguer plusieurs programmes simultanément ▪ Debuguer via un core dump ▪ Debuguer à distance • ▪ Valgrind ▪ Exemples ▪ Profile de code ▪ Electric Fence
DEV C-C++, LINUX EMBARQUE • > PROGRAMME ▪ Compilation des sources RÉFÉRENCE : C-C++, LINUX • – Vérification d’intégrité ▪ Les distributions – Décompression des sources DURÉE : 5 jours, 35 heures – Les distributions – Git SVN CVS – Les outils de mise à jour – Commandes de base CVS/SVN/git ▪ Les licences – Morphologies des programmes OBJECTIFS – Objectif – Rappel mécanisme de compilation – Free vs Open Source ▪ Les librairies ▪ Découvrir les outils de développement sous Linux – Avertissement – Le principe des librairies ▪ Maîtriser les mécanismes – L’objectif – Édition de lien d'ordonnancement temps – Les formes de licence – Librairies dynamiques partagé et réel souple. – Utilisation des librairies – Les principales licences de logiciels libres – Librairies C utilisées en C++ – Les Makefiles ▪ Différences entre les licences – Configure – GPL – Problèmes de compilation – LGPL – Installation d’une librairie sous – Apache Debian – X11 ▪ La librairie libc – Eclipse – Glibc – BSD – uclibc – Licences sur les contenus – eglibc – dietlibc – Newlib
DEV C-C++, LINUX EMBARQUE • ▪ L’aide via Freenode > PROGRAMME – Aide ▪ Présentation – L’aide par IRC RÉFÉRENCE : C-C++, LINUX – Présentation – Logiciels IRC – Versions – IRC : Présentation du réseau DURÉE : 5 jours, 35 heures – Les sources Freenode – Configuration du noyau – Exemple de canal – Module / Kernel / None ▪ Plus loin Avec Freenode OBJECTIFS – Avantage / Désavantage des – Liste des canaux modules ▪ Découvrir les outils de – Freenode : Nickserv – Commandes sur les modules développement sous Linux – Quelques règles de bon sens ▪ Configuration ▪ Maîtriser les mécanismes – Pastebin d'ordonnancement temps – make xconfig – Imagebin partagé et réel souple. – make gconfig – make menuconfig – make nconfig – Autres possibilités ▪ Architecture ARM – Les options de compilation du – Les processeurs ARM noyau – Quelques termes à connaître – Options de compilation (fin) – Les familles de processeurs ARM ▪ Options de compilation – Les processeurs ARM9 et ARM10 – La compilation – Les Cortex – Exercice : compiler un noyau ▪ Présentation de la carte – Installation du noyau – Les cartes Raspberry – Installation des modules – Carte Raspberry PI 2 – Disque minimal en RAM – Carte raspberry PI 2 – Fichier config – Légendes – OS disponibles ▪ Installation de base – Principe d’installation ▪ Busybox : présentation – Formatage via fdisk – Busybox : configuration – Copie de Raspbian sur la carte – Les commandes Busybox – Ajouter des commandes à Busybox – Finalisation d’ajout d’une commande
DEV C-C++, LINUX EMBARQUE > PROGRAMME ▪ Présentation ▪ Présentation RÉFÉRENCE : C-C++, LINUX – Compilation croisée – Utilisation de BuildRoot – Machine Hôte – Buildroot : principe DURÉE : 5 jours, 35 heures – Les compilateurs C et C++ – Paquetages nécessaires à – Le compilateur GCC (suite) Buildroot – Contenu d’une chaîne croisée – Compilation de Buildroot OBJECTIFS – Les paramètres qu’on peut ajouter – Les binutils – Binutils (suite) ▪ Utilisation ▪ Découvrir les outils de développement sous Linux – Les librairies de traitement – Exécution ▪ Maîtriser les mécanismes mathématique – Les fichiers générés d'ordonnancement temps – Les entêtes du noyau – Les fichiers .conig partagé et réel souple. ▪ Compilation du compilateur – Utiliser la toolchain générée – Chaîne de compilation croisée – Utiliser une chaîne de compilation – Alternatives à la compilation externe croisée ▪ Installation de la distribution – Les chaînes précompilées – Préparation de la carte Micro SD – Les chaînes de fabrication de cross – Agrandir la partition à toute la compilateurs mémoire SD – Les composants de la chaîne – Divers réglages – Processus de fabrication de la – Customiser la cible chaîne soi-même ▪ Paramétrage Linux temps réel Linux ▪ Appels RT, XENOMAI compilateurs/compilateurs croisés – Édition de lien – Les étapes de compilation – Exemples ▪ Mise en pratique dans l’EDI ECLIPSE ou autre EDI
DEV C-C++, LINUX EMBARQUE ▪ Affichage des variables > PROGRAMME – Revenir en arrière ▪ Paramètres spécifiques – La pile d’appel RÉFÉRENCE : C-C++, LINUX – Configuration de l’ordonnanceur – Modification du contexte – Exemples lignes cron – print variable DURÉE : 5 jours, 35 heures – Clavier français – Autres affichages – Notes à propos des modifications – Printf dynamique de configuration buildroot – Break avec liste de commandes OBJECTIFS ▪ Services réseau supplémentaires – Connexion sécurisée avec SSH et ▪ Découvrir les outils de transferts de fichiers par SCP développement sous Linux – Serveur httpd de Busybox ▪ Maîtriser les mécanismes – Ajustement d’horloge système avec ▪ Debuguer un programme d'ordonnancement temps NTP en exécution partagé et réel souple. – Autres astuces et documentations – Contraintes ▪ Ajout de programmes tiers – Sous gdb ou ddd – Ajout de programmes spécifiques ▪ Debuguer via un core dump – Les patches – Debug après plantage : core dump – Niveaux de patch – Tuning de génération du core – Technique de débugage du core ▪ Debuguer à distance – Debug croisé ▪ Premiers pas – Installation sur l’équipement – Présentation de gdb distant – gdb : lancement – Mise en route sur l’équipement host – Programme avec arguments – Remarques sur le debug croisé – Quelques astuces – Gestion des variables d’environnement – Afficher le source d’un programme ▪ Suivre l’exécution – Breakpoint - watchpoints - catchpoints – gdb : point d’arrêt – Watchpoint – Gestion des points d’arrêt – Les commandes pas à pas – Signals
DEV C-C++, LINUX EMBARQUE • • > PROGRAMME ▪ Présentation des familles de conduite de projet ▪ La communication dans SCRUM RÉFÉRENCE : C-C++, LINUX ▪ Méthode prédictives ▪ Réunion quotidienne ▪ Méthodes adaptatives ▪ Revue de sprint DURÉE : 1 jour, 7 heures • ▪ Présentation des fondamentaux de OBJECTIFS ▪ La mise en place des objectifs et des la conduite de projet indicateurs dans SCRUM ▪ Acquérir les fondamentaux ▪ Expression des besoins de la méthodologie. ▪ Estimation de charge ▪ Analyse ▪ Organisation des tâches et ▪ Conception préséance ▪ Réalisation ▪ Gestion des risques et indicateurs de ▪ Vérification et validation pilotage • • ▪ Conduite de l'équipe projet ▪ L'organisation du travail quotidien ▪ Gestion de projet généraliste ▪ Espace de collaboration ▪ Spécification dynamique ▪ Répartition des tâches par objectif ▪ Adaptation aux projets logiciels • ▪ Les acteurs ▪ Les engagements réciproques ▪ Répartition des responsabilités MOA/MOE ▪ Client ▪ Spécification des besoins ▪ Equipe ▪ Respécification ▪ Scrum master ▪ Validation et vérification ▪ Implication • • ▪ Présentation des phases de SCRUM ▪ Objectifs ▪ Outils pour le suivi, l'analyse, les tests logiciels ▪ Version ▪ Sprint • ▪ Scrum ▪ Adapter SCRUM, voir les limites • ▪ Spécificité du développement logiciel ▪ SCRUM et XP
DEV C-C++, LINUX EMBARQUE • > PROGRAMME ▪ Force et faiblesse de son expression orale RÉFÉRENCE : C-C++, LINUX ▪ Réactivité et spontanéité dans sa prise de parole DURÉE : 2 jours, 14 heures ▪ Apprivoiser son stress pour développer une image cohérente de soi OBJECTIFS ▪ Prise de conscience de l’image que l’on véhicule ▪ La communication interne et ▪ Identifier et traiter les agents externe au sein de stressants lors de l’entretien client l’entreprise. ▪ Cerner les croyances limitatives en ▪ Adapter et maîtriser les rapport avec le contexte de la différents types de mission communication pour accroître son efficacité • personnelle. ▪ Influence sur soi même et sur les autres lors de l’entretien et au cours de la mission ▪ Identifier et mettre en valeur ses atouts en rapport avec la mission ▪ Parler de soi en gardant une écoute assertive • ▪ Identifier clairement les attentes et les objectifs du client ▪ Anticiper les difficultés (objections, déstabilisations, critiques) ▪ Définir les objectifs qualités en adoptant son rôle et son comportement au contexte de la mission ▪ Positionnement du consultant vis à vis de client et des collaborateurs au sein de la mission (ex : communication en réunion…) ▪ Nature et gestion des conflits •
DEV C-C++, LINUX EMBARQUE • > PROGRAMME ▪ Ecoute active RÉFÉRENCE : C-C++, LINUX ▪ Le questionnement ▪ Reformulation et feed back DURÉE : 2 jours, 14 heures • OBJECTIFS ▪ Importance de la communication non verbale ▪ Savoir mener à bien un entretien de présentation ▪ Savoir se présenter à l’oral clair et réussi ▪ Postures – Attitudes – discours ▪ Développer son sens relationnel pour faciliter la • création du lien ▪ Les 4 profils ▪ Savoir mettre en avant ses ▪ Auto évaluation compétences et expertises métier ▪ Développer son adaptabilité relationnelle ▪ Comprendre et intégrer les bases de la communication verbale et non verbale pour • faciliter la création du lien / Savoir mettre en valeur des ▪ Définition d’un talents compétences nouvellement ▪ Talent vs points forts acquises. ▪ 5 stratégies pour gérer ses points faibles •
DEV C-C++, LINUX EMBARQUE • > PROGRAMME RÉFÉRENCE : C-C++, LINUX ▪ Gestion de l’affichage sur écrans HDMI/TV ou PC DURÉE : 13 jours, 91 heures ▪ Gestion des paramètres systèmes ▪ Mise en place du projet sur GIT HUB OBJECTIFS ▪ Mettre en application les acquis de la formation
Vous pouvez aussi lire