Toutes les catégories Catalogue général · keyos-editions

Programmation Framework pour le Backend

14 livres

Couverture — Introduction au framework framework ASPXMVC/CSharp
ASPXMVC-INIT Initiation

Introduction au framework framework ASPXMVC/CSharp

BELHAD Karim

22 pages

18.0 € HT
Table des matières
  • Introduction aux modèles d'application ASPNET
    • Comparaison des modèles d'application (ASPX non MVC vs MVC non Razor)
    • Création d'une application minimale et analyse de la structure du projet
    • Organisation d'un projets ASPX
    • Exemple de code du Controleur
    • Paramétrage de base via `appsettingsjson`
  • Fondamentaux du pattern MVC
    • Programmation côté Model : définition des modèles de données
    • Programmation côté Controller : gestion des échanges HTTP et structure des données
    • Programmation côté View : affichage (HTML, CSS, JS)
  • Programmation avancée côté View
    • Gestion des Master pages et pages enfants
    • Cycle de vie de la page, événements (Load, postback) et pipeline HTTP
    • Gestion des contrôles (boutons, listes), du style et du routage (URLs)
  • Gestion des formulaires et validation
    • Model Binding : capture et traitement automatique des données
    • Mise en place de la validation (côté client et serveur)
    • Gestion des erreurs et personnalisation de l'expérience utilisateur
  • Persistance des données avec Entity Framework Core
    • Modélisation et configuration des entités
    • Persistance : contexte de données et cycle de vie des migrations
    • Implémentation des opérations CRUD avancées
  • Relations et gestion des données complexes
    • Gestion des relations complexes (un-à-plusieurs, plusieurs-à-plusieurs)
    • Stratégies de chargement (`Eager loading`, `Lazy loading`)
  • Architecture et Injection de dépendances
    • Injection de dépendances (DI) : cycles de vie (`Transient`, `Scoped`, `Singleton`)
    • Pattern Repository & Unit of Work pour l'abstraction de la donnée
    • Gestion des exceptions via filtres d'action et middlewares
  • Sécurité et Identité
    • Utilisation d'ASPNET Core Identity (inscription, connexion, déconnexion)
    • Authentification, autorisation (rôles et politiques d'accès)
    • Prévention des vulnérabilités (CSRF, XSS)
  • API et Interopérabilité
    • Développement d'endpoints REST au sein du projet MVC
    • Consommation d'API tierces avec `HttpClientFactory`
    • Sécurisation des API (gestion des tokens et bonnes pratiques)
  • Qualité, tests et déploiement
    • Introduction aux tests unitaires et d'intégration (`xUnit`/`Moq`)
    • Optimisation des performances (mise en cache, monitoring)
    • Stratégies de déploiement (serveur classique ou cloud)
Couverture — Introduction au framework Vue.Js/Ts
JVSVUES-INIT Initiation

Introduction au framework Vue.Js/Ts

BELHAD Karim

20 pages

18.0 € HT
Table des matières
  • Installation
    • check de l'installation de nodejs - npm --version , node --version
    • check de l'installation de vue.js - npm install - g @vue/cli, vue -- version
    • Configuration typesscript pour mes projets Vue.js
    • Commande utiles et options de npm
    • Commande utiles et options de npx
  • Ma première application avec un seul composant
    • Créer un projet Vue.js/typesscript et choix de options - vue create, vue ui
    • Explication détaillée de l'organisation du projet
    • Organisation et répartition du code du projet - script/js, style/css, template/html
    • Script type, lang, setup, template - createApp, data(){}
    • Cycle de developpement d'une application - npm run preview, npm run build
    • Lancement de l'application - npm
  • Structure d'un composant - creation en CLI
    • Générer un composant
    • Composant props: methods filters, components
    • Organisation du code de composant - script, html/remplace, css
    • Lien entre les données du composant et le rendu de la template
    • Lien entre les méthodes du composant et le rendu de la template
  • Utilisation d'un composant
    • Exportation, importation de composant
    • Instance de composant et cycle de vie
    • Paramètres/propriétés passés au composant - propos, emits
    • Composant en tant que fonction vs en tant que classe
    • Données et comportement avec data(), methods, computed, mounted
    • Approche composition API vs options API
  • Template et rendu d'un composant
    • Templates vs render() methods et JSX
    • Directives d'instructions de test et de boucle - v-for, v-if, v-show
    • Données du composant et directives - v-model, v-bind, :style, :class, :key, :title, :is,
    • Événements du composant et binding avec la template - v-on:click, v-on:mousemove, @click
    • Événements de la DOM
    • Animations et transitions : améliorer l'expérience utilisateur
  • Composants UI et Interaction Utilisateur
    • Architecture de navigation : gestion de menus dynamiques (menu simple vs menu imbriqué).
    • Boîtes de dialogue (Modales) : création d'un composant modal réutilisable avec les Teleport (indispensable pour les overlays).
    • Slots : Créer des composants conteneurs flexibles pour vos menus et dialogues.
  • Routage des composants
    • Configuration du routage : associer chemins et composantsc
    • Navigation imbriquée : routes enfants.
    • Guard de navigation : sécuriser l'accès à certaines pages.
  • Gestion de l'état et réactivité
    • État local vs État partagé - ref() vs reactive().
    • Introduction à Pinia vs Vuex - Store
    • Computed properties & Watchers : Réagir intelligemment aux changements de données.
  • Gestion des formulaires et fetch
    • Présentation des formulaires html et role de submit
    • Binding directionnel des champs avec v-model
    • Submit et la sérialisation JSON
    • Echange avec un service Rest écrit en node/js
  • Qualité et Tests unitaires
    • Démarche générale et cycle en V
    • Installation du framework Vitest
    • Comment tester une classe
    • Comment tester un composant
    • Présentation de l'API moca/chai - assert expect should
Couverture — Introduction au framework Android Kotlin
ANDKOTL-INIT Initiation

Introduction au framework Android Kotlin

BELHAD Karim

22 pages

18.0 € HT
Table des matières
  • Introduction et structure du projet
    • Présentation de l'environnement et de la structure d'un projet Kotlin
    • Concepts fondamentaux : `View`, `Activity`, et `Intent`
    • Configuration du `Manifest` et gestion des permissions
    • Structure d'un projet
  • Interface Utilisateur (UI) et Layouts
    • Systèmes de layout : `ConstraintLayout` vs XML basique
    • Gestion des composants UI de base (`Button`, `TextView`) et ressources
    • Liaison entre ressources et code source (récupération des Widgets)
  • Navigation et Activités
    • Cycle de vie et démarrage d'une nouvelle activité
    • Concept de `Intent` et échange de données complexes avec `Bundle`
    • Utilisation des `Intent Filters` et récupération de valeurs de retour
  • Interaction utilisateur et Feedback
    • Boîtes de dialogue (`AlertDialog`, `DialogFragment`) et affichage de `Toast`
    • Interaction avec les applications existantes (SMS, emails, appels)
    • Gestion des événements de clic et entrées utilisateur
  • Programmation Asynchrone
    • Problématique du blocage de l'UI et utilisation des `ThreadUI`
    • Introduction aux Kotlin Coroutines pour la gestion des tâches asynchrones
    • Communication avec l'UI et gestion des tâches différées
  • Persistance de données
    • Stockage interne/externe et utilisation des `Streams`
    • Persistance d'objets entre composants avec `Parcelable`
    • Parsing de données : XML et JSON (Moshi, Kotlin Serialization)
  • Bases de données locales
    • Accès aux données relationnelles via `Room` et pattern DAO
    • Accès aux données NoSQL et implémentation du pattern DAO
  • Communication réseau
    • Communication par Sockets (Client/Serveur TCP)
    • Accès aux API REST avec `Retrofit2` et échange de données JSON
  • Graphismes et Multimédia
    • Dessin 2D : `Canvas`, `onDraw()`, et `Paint()`
    • Transformations graphiques (`rotate`, `scale`, `translate`) et `Drawable`
    • Intégration de contenus multimédias vidéo
    • Intégration de contenus multimédias audio
  • Fonctions avancées et WebView
    • Développement d'applications orientées `WebView` (JS, navigation, AJAX)
    • Utilisation des fonctionnalités système : capture d'image et gestion des capteurs
    • Services Android : invocation et cycle de vie des services
Couverture — Initiation à la programmation avec matplotlib
MATPLOT-INIT Initiation

Initiation à la programmation avec matplotlib

BELHAD Karim

15 pages

18.0 € HT
Table des matières
  • Architecture et Anatomie d'une Figure
    • La structure objet - Distinction entre `Figure`, `Axes` et `Axis`.
    • Interface - approche procédurale (`plt.plot`) et approche orientée objet (`fig, ax = plt.subplots()`).
    • Configuration - Gestion des styles globaux et des paramètres de rendu par défaut.
  • Personnalisation des Axes et Annotations
    • Axes et Labels - Configuration des titres, étiquettes d'axes et labels.
    • Légendes et limites - Positionnement intelligent des légendes et définition des bornes du graphique.
    • Graduations et échelles - Gestion des graduations (*ticks*), échelles logarithmiques et annotations précises sur le graphique.
  • Visualisation de données quantitatives
    • Tracés linéaires - Gestion des styles de lignes, des couleurs et des marqueurs pour les séries temporelles.
    • Nuages de points (`scatter`) - Représentation de corrélations avec gestion de la taille et de la transparence (`alpha`).
    • Graphiques à aires - Utilisation du remplissage (`fill_between`) pour mettre en avant des zones de données.
  • Visualisation de données catégorielles
    • Histogrammes - Analyse de distribution avec réglage dynamique des intervalles (*bins*).
    • Diagrammes en barres (`bar`) - Barres verticales ou horizontales, groupées et empilées.
    • Graphiques en secteurs (`pie`) - Représentation de parts de marché ou de répartitions proportionnelles.
  • Organisation des mises en page
    • Gestion des figures - Création et manipulation avancée des objets `Figure`.
    • Sous- graphiques (`subplot`) - Division du canevas en grilles complexes et superpositions de graphiques.
    • Layouts - Ajustement automatique des espaces (`tight_layout`)
  • Visualisation de données multidimensionnelles
    • Cartes thermiques - Utilisation de `imshow` et `pcolormesh`
    • Gestion des couleurs - Application de palettes (*colormaps*) et barres de couleurs
    • Graphiques statistiques - Boîtes à moustaches (*boxplot*) et graphiques en violon
  • Automatisation et Exportation
    • Workflows - Utilisation de boucles pour générer des séries de graphiques uniformes.
    • Formats d'export - Sauvegarde en haute résolution (PNG, PDF, SVG) avec gestion des DPI.
    • Interopérabilité - Intégration fluide avec des jeux de données complexes
Couverture — Introduction au framework ML
ML-INIT Initiation

Introduction au framework ML

BELHAD Karim

22 pages

18.0 € HT
Table des matières
  • Exploration et Préparation des données (Data Prep)
    • Traitement des données manquantes : stratégies d'imputation (moyenne, médiane, KNN Imputer).
    • Gestion des variables aberrantes (*outliers*) et mise à l'échelle (Standardisation/Normalisation).
    • Encodage des variables catégorielles (One-Hot, Ordinal) pour compatibilité avec Scikit-Learn.
  • Visualisation de données (Dataviz)
    • Diagnostic de la structure des données via histogrammes et *boxplots*.
    • Analyse des corrélations par *heatmaps- pour identifier les dépendances entre variables.
    • Représentation graphique pour détecter visuellement des regroupements naturels.
  • Méthodologie et Apprentissage Supervisé vs Non Supervisé
    • Distinction entre **Apprentissage Supervisé*- (données étiquetées) et **Non Supervisé*- (recherche de patterns).
    • Workflow Scikit-Learn : découpage Train/Test et validation croisée.
    • Compréhension du sur-apprentissage (*overfitting*) et du compromis Biais/Variance.
  • Fondations mathématiques et métriques
    • Optimisation par descente de gradient et fonctions de coût.
    • Métriques d'évaluation pour la régression (RMSE, MAE, R²).
    • Métriques pour la classification (Matrice de confusion, Précision, Rappel, F1-Score).
  • Algorithmes de Régression (Supervisé)
    • Régression linéaire simple et multiple.
    • Régularisation pour la stabilité : Ridge (L2) et Lasso (L1).
    • Interprétation des coefficients et sélection automatique de variables.
  • Algorithmes de Classification Méthodes linéaires et KNN (Supervisé)
    • Régression logistique pour les probabilités de classe.
    • Algorithme des **K plus proches voisins (KNN)*- : logique de proximité et choix de la distance.
    • Analyse des courbes ROC et AUC pour le réglage des seuils de décision.
  • Machines à Vecteurs de Support (Supervisé)
    • Principe des **Support Vector Machines (SVM)*- : recherche de la marge maximale.
    • Utilisation des fonctions noyaux (*kernels*) pour traiter des données non linéairement séparables.
    • Positionnement des SVM pour les espaces de haute dimension.
  • Arbres de décision et Forêts Aléatoires (Supervisé)
    • Construction d'arbres de décision - critères de Gini et d'entropie.
    • Forêts Aléatoires (Random Forests) - principe d'agrégation (Bagging) pour réduire la variance.
    • Extraction de l'importance des variables pour l'interprétabilité du modèle.
  • Ensemble Learning et Méta-Algorithmes (Supervisé)
    • Techniques de combinaison : Voting Classifier et Stacking.
    • Boosting (XGBoost/Gradient Boosting) - apprentissage séquentiel pour réduire le biais.
    • Stratégies de sélection de modèles pour maximiser la performance.
  • Apprentissage Non Supervisé et Données Complexes
    • Clustering - K-means (méthode du coude), clustering hiérarchique et Mean Shift.
    • Gestion des jeux de données déséquilibrés : techniques de rééchantillonnage (SMOTE).
    • Ajustement des poids de classes pour optimiser l'apprentissage.
Couverture — Introduction au framework FLutter
FLUTTER-INIT Initiation

Introduction au framework FLutter

BELHAD Karim

59 pages

18.0 € HT
Table des matières
  • Ligne de commande flutter
    • Créer une application - flutter create
    • Analyse du code - flutter analyse
    • Clean du code - flutter clean
    • Build - flutter build
    • Test - flutter test
    • Lancement - flutter run lib/main.dart
    • Pour les packages - flutter pub get, pub outdated, pub upgrade
  • Application flutter
    • Structure du source d'une application flutter [arborescence]
    • Fenêtre et code principal - StatelessWidget, MaterialApp, barre
    • Organisation du folder principal lib
    • Fichier de dépendances pubspec.yaml
  • Fenêtres
    • Modèle et structure du source d'une fenetre
    • Différentes styles de fenêtres
    • Fenêtre avec etat ou sans etat [stateless, stateless]
    • Gestion des menus sidebar, popup - Menu, MenuItem, PopupMenu
    • Bar des actions avec des icones et code événements
    • Status bar avec des icones et code événements
    • Fenetre avec onglets - DefaultTabController,TabBar,TabBarView, Tab
    • Fenetre avec une interface basée sur une Liste
    • Invoquer une nouvelle fenêtre et passagage des d'informations
    • Les "shared preferences"
  • Les Layouts
    • Présentation des différentes layouts
    • Les layouts - Row, Column, Stack
    • Les layouts - Container, Pading, Center, Align, SizedBox
    • Remplir dynamiquement une layout Row
    • Remplir dynamiquement une layout Stack
  • Les Widgets
    • Classification des Widgets
    • Propriétés, méthodes et événements communs
    • Gestion des événéments - onTap(),onDoubleTap()
    • Gérer l'état d'un Widget avec setState()
    • Widgets DataTable et DataRow
    • Widget Card
    • Widgets listview et le scrolling
    • Widget de recherche
    • Style avec ThemeData, Theme, TextTheme, Padding
    • Passage d'informations entre widgets
    • Héritage de widgets
    • Mécanisme du rendering - objet Render
  • Formulaires
    • Formulaires et Controls typés
    • Validation et persistence des données
    • Quelques modèles de formulaires
  • Boites de dialogues
    • Les boites de dialogues - AlertDialog, SimpleDialog
    • Styles d'actions et événements
    • Aspect modale , non modale
    • Utilisation de showSnackBar pour les messages évasifs
    • Dessin en 2D avec RenderBox, paint() et Canvas
  • Navigation et routing dans Flutter
    • Définir des routes
    • Navigation grâce aux routes
    • Passage de données entre routes
  • Accès aux bases de données
    • Concepts sur le modèle relationnel, SQL
    • Présentation du package sqflite - openDatabase/execute,
    • Préparation du modele de données DDL
    • Modifier la base de données DML - db.insert(),db.update(),db.delete(),
    • Lire dans la base - db.query()
    • Utilisation du ORM Moor
  • Accès au service REST
    • Concepts généraux et présentation de rest_api_client
    • Verbes Http, structure des données et headers - RestApiClient
    • Lire des données depuis le service avec restApiClient.get()
    • Envoyer des données au service avec restApiClient.post()
    • Traitement des exceptions avec restApiClient.exceptionHandler
  • Déploiement d'application
    • Modèle de deploiement Android Package APK, bundle AAB
    • Génération d'un package depuis l'interface et le signer
    • Déploiement depuis Andrdoid Studio
    • Déploiement depuis la ligne de commande - adb install
Couverture — Introduction au framework QML
QML-INIT Initiation

Introduction au framework QML

BELHAD Karim

22 pages

18.0 € HT
Table des matières
  • Mise en page et Design (Layout & Style)
    • Système d'ancrage - Maîtriser le layout par ancrage (anchors)
    • Positionnement et conteneurs - Row, Column, Grid, Flow
    • Gestion des couleurs, des gradients et des propriétés visuelles
    • Transformation d'éléments (rotation, mise à l'échelle)
    • Utilisation des feuilles de styles ou des propriétés pour créer des thèmes cohérents
  • Interactions et Événements (JavaScript & User Input)
    • Gestion des événements -
    • Interaction à la souris (clics, survol)
    • Gestion des interactions tactiles (gestures)
    • Capture des événements clavier pour une navigation clavier optimisée
    • Logique JavaScript -
    • Utiliser JavaScript directement dans les fichiers QML
    • Gérer les changements d'état et les transitions
  • Composants et Chargement Dynamique
    • Architecture des composants - Création et réutilisation d'éléments graphiques personnalisés
    • Chargement à la demande - élément `Loader` pour optimiser la mémoire et les performances
    • Gestion du cycle de vie - Comprendre la gestion du focus au sein d'interfaces complexes
  • Présentation de Données (Modèles et Vues)
    • Structures de données - Ordonnancement et hiérarchisation des éléments graphiques
    • Modèles (Models) - Implémentation de modèles de données simples
    • Vues (Views) - Affichage dynamique via les composants de type `View`
  • Système d'Objets, Signaux et Slots
    • Communication - Connecter des signaux à des slots
    • Méta-objets - fonctionnalités communes aux objets Qt
    • Méthodes invocables - Exposer des fonctions C++ depuis QML
  • Accès aux API REST (Réseau et Données)
    • Principes des API REST - HTTP (GET, POST, PUT, DELETE)
    • Exposition des résultats vers QML via des propriétés liées ou des signaux/slots
    • Réception et parsing des données JSON (utilisant `JSONparse` en JavaScript)
    • Intégration des données JSON dans les modèles (`ListModel`) -ListView, GridView
    • Gestion de l'asynchronisme (attente des réponses, affichage de loaders de chargement)
    • Gestion des erreurs de connexion et des codes de statut HTTP (erreurs 404, 500, etc)
  • Intégration Avancée C++/QML
    • Interopérabilité - Qt vers l'environnement QML
    • Extension - Composants en C++ pour étendre les capacités de QML
    • Propriétés - pour lier le moteur QML et la logique C++
Couverture — Introduction au framework Numpy
NUMPY-INIT Initiation

Introduction au framework Numpy

BELHAD Karim

23 pages

18.0 € HT
Table des matières
  • Architecture des Tableaux (`np.array`)
    • ndarray typage et dimensions -float, int, object,
    • Propriétés et méthodes du ndarray
    • Opérations distribuées sur les ndarray
    • Création et initialisations variées (`zeros`, `ones`, `full`)
    • Séquences (`arange`, `linspace`)
    • Conversion de types (Casting)
    • Gestion des chaînes de caractères au sein des tableaux
  • Manipulation d'un ndarray
    • Opérations d'extraction des données - slicing
    • Opérations d'arithmétiques
    • Slicing et accès multidimensionnel aux colonnes - les axes
    • Redimensionnement des tableaux et rotation de matrices
  • Vectorisation et Calculs
    • Opérations arithmétiques vectorisées (remplacement des boucles `for`)
    • Fonctions universelles (`ufuncs`)
    • Modification in-place du contenu pour optimiser les performances
  • Algèbre Linéaire
    • Utilisation des objets `matrix` vs `ndarray` pour les calculs matriciels
    • Opérations fondamentales : produits, inversions et déterminants
    • Résolution de systèmes d'équations linéaires
  • Agrégation et Statistiques
    • Fonctions d'agrégation (moyenne, médiane, somme) sur axes spécifiques
    • Analyse de distribution : Lois normales et génération de nombres aléatoires (`random`)
    • Signes et fonctions mathématiques appliquées aux données statistiques
  • Recherche, Filtrage et Indexation Conditionnelle
    • Localisation des données avec `where`
    • Extraction d'indices spécifiques via `argwhere`
    • Réalisation de tests logiques sur le contenu pour le filtrage complexe
  • Gestion des Polynômes
    • Génération et définition de coefficients de polynômes
    • Résolution de l'équation $p=0$ et recherche de racines
    • Calculs de dérivés sur les objets polynomiaux
  • Séries Temporelles avec `datetime`
    • Manipulation des types `datetime` spécifiques à Numpy
    • Opérations temporelles sur des tableaux de dates
  • Traitement du Signal
    • Application de fonctions de fenêtrage pour le lissage ou l'analyse
    • Testing et analyse des séquences de données numériques
  • Persistance et E/S
    • Lecture et écriture de fichiers binaires ou texte pour sauvegarder l'état des données
    • Charget et lire le format csv
    • Charget et lire le format excel
    • Interopérabilité des données entre Numpy et d'autres systèmes de fichiers
Couverture — Introduction au framework Pandas
PANDAS-INIT Initiation

Introduction au framework Pandas

BELHAD Karim

21 pages

18.0 € HT
Table des matières
  • Création et manipulation de Series
    • ndarray vs Series - indexation et données
    • Series depuis un ndarray, liste
    • Propriétés et méthodes d'une Series
    • Opérations arithmétiques
    • Extraction et recherche - slicing, `.loc` et `.iloc`
    • Travailler sur les index
    • Transformation
  • Création et manipulation de DataFrames
    • ndarray vs DataFrame - indexation et données
    • Organisation interne d'un DataFrame et propriétés
    • Créations multiples - depuis des listes, des tuples
    • Créations multiples - depuis des dictionnaires
    • Créations multiples - depuis csv
    • Créations multiples - depuis excel
    • Travailler sur les colonnes
    • Travailler sur les lignes
    • Travailler sur les labels et index
    • Extraction de données
  • Opérations sur les données
    • Tri, itération sur les lignes et modification
    • Utilisation avancée des fonctions `apply` et `pipe` pour les transformations
    • Recherches et critères de filtrage
  • Nettoyage et préparation (Data Wrangling)
    • Gestion des données invalides (`NaN`)
    • Manipulation de texte avec l'objet `.str` et son API dédiée
  • Gestion des dates et séries temporelles
    • Utilisation des modèles de temps : `Timestamp`, `Datetime`, `Timedelta` et `Period`
    • Manipulation de plages temporelles avec `period_range`
  • Statistiques et agrégations
    • Calculs de statistiques descriptives sur les données
    • Groupement de données (`groupby`) pour l'analyse par catégories
  • Jointures et fusion de données
    • Concaténation de structures de données (`concat`)
    • Jointures complexes (type SQL) pour fusionner plusieurs sources de données (`merge`, `join`)
  • Persistance et formats de fichiers
    • Lecture et écriture de fichiers CSV
    • Lecture et écriture de fichiers Excel
    • Persistance des données via le format Pickle
  • Gestion des structures multidimensionnelles
    • Introduction aux Panel Data et organisation interne
    • Utilisation du `MultiIndex` pour gérer des dimensions de données complexes
  • Optimisation et Performance
    • Comprendre l'importance de la vectorisation pour éviter les boucles lentes
    • Introduction aux outils d'analyse exploratoire et de visualisation rapide intégrée
Couverture — Introduction au framework SpringBoot
SPRGBOOT-INIT Initiation

Introduction au framework SpringBoot

BELHAD Karim

48 pages

18.0 € HT
Table des matières
  • Introduction et mise en place de l'environnement
    • Présentation de Spring Boot et son écosystème
    • Création de projets : Spring Initializr, Spring Tool Suite et intégration Maven
    • Analyse de la structure d'un projet type (arborescence, `pomxml`)
    • Exécution et test de l'application via la ligne de commande (Maven)
  • Fondamentaux de Spring MVC
    • Architecture générale de Spring MVC
    • Anatomie d'une classe contrôleur et annotations essentielles
    • Mapping des requêtes HTTP et échanges de données simples - passage d'argument
    • Le controleur retourne une réponse html
    • Le controleur retourne une données via Model pour une View
  • Développement d'interfaces avec Thymeleaf
    • Thymeleaf introduction et configuration - pom.xml
    • Les attributs de Thymeleaf - th:text, th:field , *{}, #{}, ${}, @{}
    • Les instructions - th:for, th:if, th:each
    • Gestion des erreurs
    • Échanges de données entre le contrôleur et la vue
    • Afficher un tableau de données avec deux colonnes - personne (nom,age)
    • Les zone de saisie inputs -
    • Les zone de selection et d'action - button, checkbox, radio, list
    • Gestion des événements (clics) - th:onclick
    • Gestion de style Css
  • Gestion des vues et routage
    • Utilisation de templates et layouts
    • Composition avez les fragments - th:fragment, th:insert, th:replac
    • Gestion du routage entre les pages de l'application
    • Appels asynchrones (AJAX) depuis les vues - button et form/submit
  • Interactivité et Formulaires
    • Les formulaires selon Thymeleaf - modele
    • Champs de saisie et validation - required
    • Sumbit et sérialisation envoi des données
    • Accuieil des données côté Controleur MVC
  • Persistance des données avec Spring Data
    • Présentation du package et pom.xml
    • Spring data et JPA - mysql - Configuration, annotation
    • Spring data et JPA reponsitory - Configuration, annotation
    • Spring data et noSQL redis, mongodb - Configuration, annotation
  • Persistance des données avec Spring Data JPA
    • EntityManaget et annotations - @autowire, @Entity, @Id
    • Utilisation des annotations `@Query` et `@NamedQuery`
    • Présentation du langage JPQL - Cardinalité
    • Présentation du langage JPQL - expression de requetage
    • Exemple avec les requetes nommées
    • Exemple avec les requetes JPQL
    • Exemple avec les requetes natives
    • Exemple avec les requetes de l'API Criteria
    • Exemple avec les requetes et les transactions
    • Utilisation des Repository - JpaRepository>T, ID<
  • Création de Services REST
    • API Reset et verbes http - get, post, put, patch, delete
    • Modèle de de contrôleurs REST - `@RestController`
    • Sérialisation et désérialisation JSON avec Jackson
    • Sérialisation et désérialisation JSON avec Jackson
    • Bonnes pratiques pour les API RESTful
  • Client REST et intégrations
    • Consommation de services externes
    • Utilisation de `RestTemplate` et `WebClient`
    • Conclusion et bonnes pratiques de déploiement
Couverture — Introduction au framework React/Ts
JVSREACT-INIT Initiation

Introduction au framework React/Ts

BELHAD Karim

19 pages

18.0 € HT
Table des matières
  • Initialisation et Environnement
    • Installation : Vérification de Node.js et npm.
    • Scaffolding moderne : Utilisation de Vite
    • Configuration TypeScript - `tsconfig.json`, types React et intégration ESLint.
    • Gestionnaire de paquets - Commandes npm/npx indispensables pour la gestion des dépendances.
  • Ma première application
    • Création d'un projet : Structure des dossiers et explication du fichier `main.tsx`.
    • Anatomie d'un composant : Comprendre le JSX/JavaScript XML et les composants fonctionnels.
    • Processus de développement : `npm run dev` (HMR), `npm run build` et `npm run preview`.
    • Architecture : Répartition entre logique (Hooks/fonctions) et rendu (JSX).
  • Structure d'un composant
    • Génération de composants : Création manuelle vs Snippets (ES7+ React/Redux/React-Native).
    • Props : Transmission de données entre composants (lecture seule).
    • Lien Données-Rendu : Déclaration de variables et affichage dans le JSX.
    • Gestion des événements : Passer des fonctions de rappel (callbacks) en props.
  • Utilisation des Hooks (Le cœur de React)
    • Cycle de vie : Comprendre `useEffect` (remplace `mounted` et les watchers).
    • État local : Utilisation de `useState`.
    • Composition : Pourquoi préférer la composition de composants à l'héritage.
    • React vs Vue : Comparaison de la philosophie (Immutabilité vs Réactivité fine).
  • JSX et Rendu dynamique
    • Logique dans le template
    • Styles : `className`, `style={{...}}`, et introduction aux CSS Modules ou Tailwind.
    • Binding : Gestion des événements DOM (`onClick`, `onChange`) et passage d'arguments.
    • Accessibilité et animations : Introduction à `framer-motion` (équivalent moderne des transitions Vue).
  • UI et Interaction
    • Navigation : Gestion de menus avec React Router
    • Modales et Portails : Utilisation de `createPortal` pour les overlays
    • Composition avancée : Utilisation de `props.children`
  • Gestion de l'état (State Management)
    • État local vs partagé : Passer les props ou utiliser le `Context API`.
    • Écosystème : Introduction à Zustand
    • Mise à jour d'état : La règle de l'immutabilité
  • Formulaires et API
    • Gestion des formulaires : Composants contrôlés (`value` + `onChange`).
    • Soumission et JSON : Validation et envoi des données.
    • Data Fetching : Utilisation de TanStack Query
  • Qualité et Tests unitaires
    • Démarche générale et cycle en V
    • Installation du framework Vitest
    • Comment tester une classe
    • Comment tester un composant
    • Présentation de l'API moca/chai - assert expect should
Couverture — Introduction au framework VBA
VBA-INIT Initiation

Introduction au framework VBA

BELHADJ Karim

12 pages

18.0 € HT
Table des matières
  • Fondamentaux du Langage VBA
    • Révision des Bases - Rappels des fondamentaux et optimisations des macros existantes
    • Bonnes Pratiques - Codage pour la lisibilité, la structure et la documentation
    • Modularité - Mise en place de procédures et de fonctions réutilisables
  • Variables Avancées et Structures de Données
    • Tableaux (Arrays) - Manipulation d'ensembles de données en mémoire
    • Objets et Collections - Introduction aux types de données avancés (variables d’objet, collections, dictionnaires)
    • Boucles - Manipulation de données via des boucles et des tableaux
  • Manipulation Avancée des Objets et Graphiques Excel
    • Pilotage Dynamique - Gestion des feuilles, classeurs et plages de données
    • Indexation - Utilisation des plages nommées et indexation dynamique des cellules
    • Création et modification dynamique de graphiques (`ChartObjects`)
    • Personnalisation des séries de données, des axes et des légendes via VBA
    • Intégration et mise à jour de Tableaux Croisés Dynamiques (TCD) et leurs graphiques associés (PivotCharts)
  • Gestion des Formulaires (UserForms)
    • Conception - Création de formulaires pour collecter et afficher des données
    • Contrôles - Utilisation avancée des listes, boutons radio et cases à cocher
    • Validation - Gestion des entrées utilisateur et des interactions complexes
  • Gestion des Erreurs et Débogage Avancé
    • Gestion des Erreurs - Éviter les interruptions lors de l'exécution
    • Débogage - Maîtrise des points d'arrêt et des espions (Watch)
    • Maintenance - Correction des erreurs dans les grands projets VBA
Couverture — Introduction au framework LARAVEL/Php
LARAVEL-INIT Initiation

Introduction au framework LARAVEL/Php

BELHAD Karim

22 pages

18.0 € HT
Table des matières
  • Introduction à l'écosystème Laravel
    • Installation, structure des répertoires et cycle de vie d'une requête.
    • Configuration de l'environnement (`.env`) et des services.
    • Analyse de la structure d'un projet Laravel (dossiers `app`, `routes`, `resources`, `database`).
  • Fondamentaux du pattern MVC dans Laravel
    • Modèles (Eloquent) : Définition, convention de nommage et interaction avec la BDD.
    • Contrôleurs : Gestion des requêtes HTTP et injection de dépendances.
    • Vues (Blade) : Templating, héritage de vues (`@extends`, `@section`) et syntaxe de rendu.
  • Programmation avancée des vues et routage
    • Système de composants Blade et gestion des layouts.
    • Routage avancé : paramètres de route, groupes de routes et middleware.
    • Gestion des assets (Vite) et intégration de bibliothèques front-end.
  • Gestion des données et formulaires
    • Request Validation : Validation automatique côté serveur avec les `FormRequests`.
    • Gestion des formulaires et protection CSRF native.
    • Traitement des réponses et redirection avec messages flash.
  • Persistance des données avec Eloquent ORM
    • Migrations : versionnage et évolution du schéma de base de données.
    • Opérations CRUD classiques et utilisation des - Eloquent Collections- .
    • Configuration du modèle et gestion des - Accessors/Mutators- .
  • Relations et optimisation
    • Gestion des relations (One-to-One, One-to-Many, Many-to-Many).
    • Optimisation des requêtes : - Eager Loading- (`with()`) pour éviter le problème N+1.
    • Utilisation des - Factories- et - Seeders- pour le peuplement de la base de données.
  • Architecture et Service Container
    • Le Service Container de Laravel : injection de dépendances et `Service Providers`.
    • Pattern Repository (optionnel) et séparation des responsabilités.
    • Gestion des exceptions et personnalisation des pages d'erreur.
  • Sécurité et Authentification
    • Systèmes d'authentification (Laravel Breeze ou Jetstream).
    • Gestion des rôles et des autorisations avec les - Gates- et les - Policies- .
    • Sécurisation contre les failles courantes (SQL Injection, XSS, CSRF).
  • API et interopérabilité
    • Développement d'API RESTful avec les - API Resources- .
    • Consommation d'API tierces avec le client `Http` (wrapper de Guzzle).
    • Sécurisation des API (Sanctum pour l'authentification par jetons).
  • Qualité, tests et déploiement
    • Introduction aux tests unitaires et d'intégration avec `Pest` ou `PHPUnit`.
    • Optimisation des performances : mise en cache (Redis/Memcached) et files d'attente (Queues).
    • Stratégies de déploiement (environnement de production, commandes `php artisan optimize`).
Couverture — Introduction au framework PyQT
PYQT-INIT Initiation

Introduction au framework PyQT

BELHAD Karim

16 pages

18.0 € HT
Table des matières
  • Modèle d'application minimale
    • Fenêtre principale et vue - QMainWindow, QWidget
    • Propriétés liées à la fenêtre
    • Evénements liés à la fenêtre et cycle de vie
    • Menu bar et tools bar
    • Gestion de menu et Actions - QMenuBar, QToolBar QAction
    • Création d'une fenêtre deuxième et communication inter-fenêtres
    • Empilement - Utilisation de `QStackedWidget` pour créer des interfaces à plusieurs vues dans une même fenêtre.
  • Gestion de formulaires et validation de données
    • Les Layouts et imbrications - QHBoxLayout, QVBoxLayout, QGridLayout
    • Présentation des Widgets - QButton, QLabel, QLineEdit, QSlider, ..
    • Widgets de boutons - QPushButton, QCheckBox, QRadioButton
    • Widgets de Saisie - QLabel, QLineEdit, QPlainTextEdit ,QSpinBox ,QDateEdit, QSlider
    • Widgets de listes - QComboBox, ListView, QTreeView
    • Gestion des widgets de visualisation de données - QTableView et QListView
    • Widgets de listes - QComboBox, ListView, QTreeView
    • Progressbar - QProgressBar
    • Affichage complexes - `QStackedWidget`, `QTabWidget`
  • Boîtes de dialogues
    • Coder avec QMessageBox
    • Coder avec QInputDialog
    • Coder avec QProgressDialog
    • Coder avec QFontDialog
    • Coder avec QColorDialog
    • Boite de dialogue personnalisée - QDialog
  • Industrialisation avec Qt Designer
    • Workflow Qt Designer - Utilisation de l'outil visuel pour concevoir rapidement des `QMainWindow`.
    • QtDesigner - Chargement dynamique des fichiers `.ui` (via `uic.loadUi`).
    • Génération de code Python à partir des fichiers `.ui` (via `pyuic`) pour une intégration plus poussée.
    • MVC vs Modèle-Vue-Délégant - Comprendre pourquoi Qt sépare la donnée de l'affichage.
  • Gestion fichiers et des formats XML JSON
    • Au moyen de Python - with
    • Manipulation de fichiers : `QFile`, `QDir`, `QFileInfo` et flux de données (`QDataStream`)
    • Travailler avec Csv
    • Travailler avec XML
    • Travailler avec Json
    • Utilisation des composants - QAbstractTableModel, QAbstractListModel
  • Dessin et Graphismes 2D
    • Dessin personnalisé - QWidget/Canvas, QPainter, QPaintEvent, `paintEvent` :
    • Dessiner des formes - drawLine(), drawRect(), drawEllipse()
    • Gestion du texte, font et couleur
    • pen et brush - QPen, QBrush
    • Afficher une image - png, jpeg
    • Graphics View Framework : Scène, Items et transformations (Zoom, Rotation)
  • Multithreading et Asynchronisme
    • Différence entre `QThread` et les workers (`moveToThread`).
    • Synchronisation : `QMutex`, `QWaitCondition`, `QReadWriteLock`.
    • Programmation asynchrone pour éviter le blocage de l'interface (GUI responsive).
  • Communication réseaux
    • Présentation des l'API Socket - QtNetwork, QSocket, QHostAddress
    • Echange avec les Socket Tcp - QTcpServer, QTcpSocket
    • Echange avec les Socket Udp - QUdpSocket
    • Http avec QNetworkAccessManager, QUrl, QNetworkRequest, QNAM.get(), QNAM.post(), QNetworkReply
    • API Rest avec ApiClient et le format json