UNIVERSITÉ VIRTUELLE DU SÉNÉGAL, PREMIÉRE UNIVERSITÉ NUMÉRIQUE PUBLIQUE DU SÉNÉGAL , FOO NEKK FOOFU LA !

Nouveaux programmes de formations lancés en partenariat par UVS et Datum Academy

L’UVS et DATUM Academy lancent en co-diplomation le Master of Science e-Bihar, exclusivement en ligne. Cette nouvelle formation se présente en 2 parcours : 
  • Masters of Science en Intelligence artificielle ;
  • Master of Science en Big Data.
Ces Master of Science offrent aux apprenants une formation académique professionnalisante avec double certification permettant d’accéder à des métiers en forte demande dans le marché de l’emploi. Ils se déroulent sur 2 ans et permettent d’accéder à un important réseau international. Le Cursus du MSc Bihar est donc construit autour de deux blocs de compétences majeurs largement demandées par le marché informatique :
  • La gestion et l’ingénierie du big data ouvrant la voie aux métiers d’ingénieur de DATA, d’architecte big data et cloud et de CDO (Chief Data Officer)
  • L’analyse du Big Data et l’intelligence artificielle   ouvrant la voie au métier de Data Scientist
Deux autres blocs de compétence font partie du cursus concernant le développement d’applications sur smartphone et la gestion de projets agile :
  • Développeur WEB et Mobile autour des nouveaux standards disruptifs (Kotlin, NFC, LIFI, Blockchain, Réalité augmentée)
  • Gestion de projets agile (Scrum, Devops)
Ces quatre blocs de compétence sont présents en année 1 et année 2 et l’étudiant maîtrisera les principales plateformes de développement et d’IA : Oracle NO SQL, Javascript, Kotlin, langage R/Python, Tensor Flow/Queyras et Collab.

10 spécialisations :

  • GESTION RÉPARTIE DU BIG DATA
  • INTELLIGENCE ARTIFICIELLE
  • PROGRAMMATION CLOUD
  • CYBERSÉCURITÉ
  • DÉVELOPPEMENT MOBILE WEB FULL STACK
  • PROGRAMMATION MOBILE
  • NFC, OUTILS ET MANAGEMENT DE PROJET AGILE
  • NOSQL AVEC ORACLE
  • ADMINISTRATION BIG DATA
  • PROGRAMMATION SQL RELATIONNEL ET OBJET

GRADEO sur l’intelligence artificielle et le big data

GRADEO est un cadre commun de micro-accréditations pour développer ses compétences. Ce projet répond à la demande des apprenants d‘acquérir de nouvelles connaissances, compétences et savoir-faire, par le biais de cursus de courte durée, reconnus et de qualité, qui peuvent également être utilisés pour obtenir des diplômes universitaires. Il répond également à la demande des entreprises européennes afin que leurs salariés bénéficient d’un dispositif souple et plus adapté à un contexte économique en mutation rapide depuis une dizaine d’années. Ces GRADEO sont déployés dans le cadre du projet Erasmus+ EMC-LM (EMC for Labour Market) de l’European MOOC Consortium (EMC) qui regroupe les plateformes académiques européennes de cours en ligne.
Deux premiers GRADEO ESTIA / Oracle…

Ces deux GRADEO sont dispensés en anglais.

  • GRADEO Data base fondamentals and SQL programming. Démarrage année académique 2021- 2022
  • GRADEO Big data and artifical intelligence.
    Démarrage année académique 2021- 2022
Par Pr. Serge MIRANDA Présentation : Ce cours sur la gestion des grandes données réparties comprend deux parties : Etude des extensions SQL pour traiter tout type de données : données structurées (objets), semi-structurées et non structurées/NOSQL) Etude d’un cadre de traitement distribué pour traiter les données volumineuses (Hadoop/Spark) Plan détaillé : Partie 1 : SQL pour la gestion des données
    • MODULE 1 : Vision stratégique sur l’économie des GRANDES DONNÉES autour des perturbations techniques
Ce module est une introduction stratégique multidisciplinaire sur les grands systèmes de données avec des définitions des concepts clés (paradigme des données, lac de données, etc.) et des technologies de soutien des perturbations qui seront utiles pendant ce cours. Il existe une pléthore de grands systèmes de gestion de données. Dans la deuxième partie du cours, nous proposons une classification de ces systèmes en utilisant des paradigmes de données que nous illustrons avec le standard SQL (propriétés TIPS, ACID et RICE).
    • MODULE 2 : NOSQL et NEWS SQL
Dans ce module, nous présentons les systèmes N.O.SQL autour de KEY-VALUE (Hadoop, BLOB, Json Document, attributs) et de GRAPHES et de NOUVEAUX systèmes SQL et nous identifions les fonctionnalités attendues de SQL pour les systèmes de polystores avec “la théorie des catégories” étant un cadre formel unificateur : Hadoop, Spark et map/reduce.
    • MODULE 3 : Théorie des catégories
Théorie des catégories pour fournir un cadre formel uniforme pour la gestion des lacs de données. Partie 2 : Langages de requête des graphiques par Thomas Frisendal
  • MODULE 4 : GQL

Guide des langues de requête des graphiques

Partie 3 : Hadoop et Spark & MAP REDUCE par Benjamin Renaut
  • MODULE 5 : La présentation du paradigme “map/reduce” Hadoop
  • Calcul parallèle et en grappe
  • Le paradigme de la carte/réduction
  • Description
  • Exemples
  • Conclusion
  • Hadoop : présentation générale
  • Le système de fichiers distribués Hadoop
  • Présentation
  • Utilisation
  • Hadoop : Fil de presse
  • MODULE 6 : Développement d’Hadoop
  • Le développement Hadoop
  • L’API Java Hadoop
  • L’API HDFS
  • Hadoop : un développement plus avancé
  • Exemples de mise en œuvre
  • Environnement de développement
  • MODULE 7 : Développement avancé de Hadoop Apache Spark
  • Apache Hadoop
  • Développement avancé : InputFormat, OutputFormat
  • Développement avancé : Writables personnalisés
  • Apache Spark
  • Présentation
  • Architecture interne
  • Apache Spark
  • développement L’API Spark
  • Variables de diffusion et accumulateurs
  • Par Pr. Marco GORI & Pr. Stefano MELACCI
    Présentation : Ce cours présente les notions de base de l’apprentissage automatique, allant des modèles d’apprentissage superficiel aux modèles d’apprentissage profond. L’apprentissage machine est une grande branche de l’intelligence artificielle qui traite du problème de la conception de machines qui apprennent à prendre des décisions à partir de données, allant ainsi au-delà de la nécessité de coder manuellement les règles de décision. En fait, le codage des règles n’est pas toujours simple et il ne s’adapte pas très bien à l’échelle. Dans de nombreux cas, il s’avère plus facile de collecter des exemples, de les fournir à la machine, qui est censée les apprendre automatiquement. Aujourd’hui, il est clair que les solutions basées sur l’apprentissage automatique sont partout : Nous déverrouillons notre téléphone en lui faisant reconnaître notre visage, nous utilisons des interfaces vocales pour interagir avec nos télévisions, nous recevons des recommandations de produits qui pourraient nous intéresser, nos voitures peuvent reconnaître automatiquement les piétons, alors que nous pourrions ignorer le rôle de l’apprentissage automatique dans de nombreuses autres applications du monde réel.

    L’accent de ce cours sera mis sur les réseaux de neurones, où un certain nombre d’unités, appelées neurones, sont interconnectées pour définir la structure d’un modèle mathématique qui apprend à partir de données. Nous discuterons des réseaux neuronaux profonds, où de grands modèles avec plusieurs couches de calcul sont exploités, en introduisant leur application à la vision et au langage. Le cours commencera par les outils mathématiques nécessaires pour comprendre les bases des modèles d’apprentissage automatique, et se terminera par quelques exemples pratiques de code basés sur la plateforme Tensor Flow.

    Plan détaillé :
       1. Outils mathématiques

    • Ce module présente les outils mathématiques de base nécessaires pour suivre le cours avec profit. Les notions de base de l’algèbre linéaire et de l’optimisation sont présentées de manière compacte et sont massivement utilisées dans la présentation des bases de l’apprentissage automatique ainsi que dans la description des algorithmes d’apprentissage.

       2. Les bases de l’apprentissage automatique

    • Ce module présente les grands principes de l’apprentissage automatique. Il offre une vue d’ensemble des défis actuels de l’apprentissage machine, après avoir discuté des principes et de leur application concrète à des problèmes du monde réel. Le module introduit le sujet intrigant de l’induction, en montrant sa nature déroutante, ainsi que sa nécessité dans toute tâche qui implique des informations perceptuelles. Les critères d’évaluation classiques sont également décrits.

    3. Apprendre avec des architectures peu profondes

    • Ce module décrit les mécanismes d’apprentissage qui sont utilisés dans les machines linéaires et à seuil linéaire pour les problèmes de régularisation et de classification. La notion de séparabilité linéaire est donnée pour saisir les capacités de calcul des modèles peu profonds ainsi que pour souligner leurs limites. Le principe de parcimonie est introduit en même temps que le concept de base sur la régularisation. Enfin, les machines à noyau sont esquissées et proposées comme des architectures peu profondes difficiles.

    4. Apprendre avec des architectures profondes

    • Ce module se concentre sur les architectures neuronales avec des neurones cachés et sur l’algorithme de rétropropagation. L’accent est mis sur les architectures profondes, qui sont basées sur de nombreuses couches cachées empilées pour améliorer les capacités de représentation et de calcul.

    5. Vision par ordinateur, langage naturel

    • Ce module se concentre sur les applications des réseaux profonds à la vision par ordinateur et à la modélisation du langage, en exploitant respectivement les réseaux neuronaux convolutifs et les réseaux neuronaux récurrents.

    6. Logiciels pour l’apprentissage automatique

    • Ce module donne un aperçu des logiciels les plus populaires utilisés pour configurer les algorithmes d’apprentissage automatique, en mettant l’accent sur le cas de TensorFlow. Quelques exemples pratiques de mise en œuvre de réseaux neuronaux profonds sont inclus.
    •  

    Par Pr. Omar BOUCELMA & Alexandre MAISONOBE

    Présentation : La programmation cloud peut être caractérisée par plusieurs dimensions telles que les concepts et technologies de base, les modèles de service ou les plates-formes. Ce MOOC couvre des aspects fondamentaux et pratiques qui ouvrent la voie au développement d’applications modernes. Ce que vous allez apprendre :

    • Fondements et modèles du cloud computing
    • Types de technologies de cloud computing (par exemple : AWS, Azure, Google, Oracle, Microsoft, Teradata, IBM) avec un accent et une approche immersive sur AWS
    • Méthodes de gestion d’un projet d’adoption/migration de l’informatique en nuage
    • Comment concevoir une infrastructure ou un service de cloud computing
    • Déploiement et configuration des systèmes d’informatique en nuage
    • Assurer la sécurité dans les nuages et atténuer les risques
    • SaaS, PaaS et IaaS, DasS, AasS et autres plateformes de services

    Plan détaillé :
        Module 1 : Principes fondamentaux
    Ce module décrit les différents concepts et technologies qui ont conduit à l’avènement du Cloud Paradigme informatique. Concepts techniques (par exemple, architectures distribuées et orientées services) ainsi que les centres de données des entreprises (par exemple, modèle de paiement à l’utilisation), la virtualisation des machines, étant parmi ces concepts.

        Module 2 : Services et plates-formes
    Tout d’abord, ce module passe en revue certaines des plates-formes Cloud qui sont proposées soit par les vendeurs commerciaux ou Open Source. Deuxièmement, l’accent sera mis sur les services Web d’Amazon, puisque la plateforme sera largement utilisée pendant le cours, mais sans exclusivité.

        Module 3 : Gestion des données dans le nuage
    Le Cloud offre plusieurs solutions de gestion des données, à des fins différentes, du stockage brut à diverses bases de données. Les données étant la pierre angulaire de nombreuses applications, ce module explore certaines de ces solutions en fonction des besoins spécifiques de l’entreprise ou des applications. Aussi, ce module abordera également les questions d’intégration des données, car la plupart des applications peuvent nécessiter plusieurs sources de données.

        Module 4 : Développement de logiciels
    Qu’il s’agisse de développer de nouveaux logiciels/applications ou de migrer des applications vers le Cloud, certaines compétences sont nécessaires à cette fin. Ce module se concentrera sur les compétences nécessaires et les outils disponibles dans le Cloud pour les ingénieurs en logiciel.

        Module 5 : Carrières (ou applications) dans le cloud
    Le cloud révolutionne l’industrie des technologies de l’information sous différents angles, conduisant à une large éventail des (nouvelles) possibilités d’emploi. Dans ce module, nous allons explorer différentes possibilités de carrière (par exemple, l’analyse des données ou la science des données) par la réalisation d’applications liées à différentes industries.

    Par Pr. Alban GABILLON
    Présentation : Ce cours vise à donner un aperçu de la cybersécurité. La plupart des sujets de la cybersécurité sont couverts (attaques, logiciels malveillants, politique de sécurité, mécanismes de sécurité, authentification des utilisateurs, cryptographie symétrique et asymétrique, sécurité des réseaux, protection des données personnelles). Pour chaque type d’attaque ou de logiciel malveillant, nous proposons quelques solutions pour les prévenir. En ce qui concerne la politique de sécurité, nous présentons la politique de contrôle d’accès discrétionnaire (DAC) et plusieurs types de politique de contrôle d’accès obligatoire (MAC). Nous passons également en revue les principaux outils existants pour contrôler les flux d’informations dans un réseau, comme le pare-feu ou le serveur proxy. Nous présentons plusieurs moyens d’authentifier un utilisateur, comme l’authentification par mot de passe ou à deux facteurs. Nous donnons un aperçu complet des principaux mécanismes cryptographiques de cryptage et de protection de l’intégrité. Nous passons en revue plusieurs utilisations du chiffrement asymétrique, comme les signatures numériques ou l’échange de clés symétriques. Nous abordons également la question de la protection des données personnelles et donnons un aperçu du règlement général européen sur la protection des données (RPGD).

    Plan détaillé :

    • Module 1 :
    • Introduction
    • Vulnérabilité et privilèges
    • Attaque de logiciels : Débordement de mémoire tampon, injection SQL, sécurité du navigateur, Cross Site Scripting
    • Attaque, demande de contrefaçon de site croisé
    • Module 2 :
    • Ingénierie sociale : Phishing, Baiting, Fraude au faux président
    • Déni de service distribué : DDOS via un botnet, DDOS par amplification
    • Les logiciels malveillants : Virus, ver, cheval de Troie
    • Module 3 :
    • Politique de sécurité
    • Mécanismes de sécurité
    • Politique de contrôle d’accès discrétionnaire : Listes de contrôle d’accès, capacités, DAC Unix
    • Module 4 :
    • Contrôle d’accès obligatoire : Sécurité multiniveau, canaux secrets, sécurité multiniveau pour l’intégrité, application des domaines et des types, contrôle d’accès basé sur les rôles, basé sur les attributs Contrôle d’accès
    • Vie privée ; Protection des données personnelles, Règlement général sur la protection des données
    • Module 5 :
    • Cryptographie symétrique : Chiffrement des flux, chiffrement par blocs, réseaux Feistel, chiffrement des données
    • Chiffrement standard, non basé sur la technologie de cryptage, fonction de hachage, code d’authentification du message, Chiffrement authentifié
    • Module 6 :
    • Cryptographie asymétrique : Diffie Hellman Key Exchange, cryptage asymétrique, numérique
    • Signature, certificat de clé publique, sécurité de la couche transport
    • Module 7 :
    • Authentification de l’utilisateur : Mots de passe, authentification à 2 facteurs, Single-Sign On, Kerberos
    • Sécurité des réseaux : Pare-feu, Serveurs proxy, Traduction d’adresses de réseau, Réseaux Privé virtuels
    Par Grégory GALLI Présentation : Ce cours vise à couvrir un large éventail de technologies afin de donner un aperçu de ce qu’est le travail d’un développeur à part entière. Traiter tous les domaines liés à cette profession en une seule session étant difficile, vous aurez un aperçu de la profession limitée au domaine du web mobile. La première sera la construction de la partie serveur. L’objectif principal est de construire un backend Grails complet qui supportera une interface permettant aux utilisateurs d’exécuter des opérations CRUD de base. Une API REST complète sera ensuite ajoutée pour rendre toutes ces données disponibles pour l’application mobile qui sera développée dans la deuxième partie de ce module. Cette interface d’administration ainsi que l’API REST seront protégées par une forte couche de sécurité. La deuxième partie se concentrera sur les aspects web et mobile avec quelques considérations liées au domaine web en général suivies d’une partie spécifique au web mobile qui apporte son lot de contraintes. Enfin, pour l’aspect “full stack”, nous continuerons avec une partie dédiée à l’Angulaire et nous finirons par déployer les solutions que nous aurons développées au fil des semaines pour aboutir à une solution complète développée de bout en bout et mise en production. Plan détaillé : PARTIE 1 – CÔTÉ SERVEUR MODULE 1 – LES BASES DE GROOVY ET GRAILS
  • Langue vivante
  • Grails
  • Modélisation
  • ORM
  • La couche web
  • Résumé du projet
  • MODULE 2 – CADRE DU GRAILS
  • Développement de l’arrière-plan
  • Structure du projet
  • Modélisation
  • Associations
  • Contrôleurs
  • Services
  • Pour en savoir plus :
  • Projet Live Coding : Créer notre backend
  • MODULE 3 – API DE REPOS
  • API REST
  • Concepts
  • Contraintes
  • Développement
  • Sécurité
  • Projet Live Coding : Création de notre API REST
  • MODULE 4 – Sécurité du printemps
  • Sécurité du printemps
  • Introduction
  • Principes de base
  • Projet Live Coding : Ajouter la sécurité au backend
  • PARTIE 2 – Web, réactif, PWA et angulaire MODULE 5 – WEB MOBILE ET RÉACTIF
  • HTML 5
  • CSS 3
  • JAVASCRIPT
  • Projet Live Coding : Projet d’intégration du web mobile
  • MODULE 6 – PILE COMPLÈTE ET PWA
  • Considérations sur la pile complète
  • PWA
  • Manifeste de l’application web
  • Travailleurs des services
  • Projet Live Coding : Travailler avec les travailleurs des services
  • MODULE 7 – ANGULAIRE
  • Angulaire
  • Environnement
  • Principes de base
  • NodeJS
  • VSCode
  • CLI angulaire
  • Composants
  • Liaison de données
  • Directives
  • Cycle de vie
  • Projet Live Coding : Frontal de vente avec authentification
  • Par Guillaume GONZALES
    Présentation : Ce cours suivra le cours de programmation Web et se concentrera sur trois aspects de la programmation mobile : le premier portera sur la partie développement d’iOS. L’objectif principal sera de donner toutes les bases nécessaires pour développer une application iOS (iPhone & iPad) entièrement fonctionnelle. Cette partie couvrira les deux langages iOS (Objective-C et Swift). A la fin, l’étudiant sera capable de produire une application utilisant des interfaces utilisateurs, des bases de données, des appels réseau (API) et la gestion de données (JSON).

    Suivant le même schéma, le second volet couvrira la partie développement Android.
    Dans cette partie, les deux langages Android seront couverts (Java et Kotlin) ainsi que toutes les bases nécessaires pour réaliser une même application.

    Enfin, le dernier aspect couvrira la partie de développement hybride. Dans celui-ci, nous jetterons un coup d’œil rapide au framework Flutter de Google.
    Celui-ci est un concurrent direct de React Native. Le long des bases, nous couvrirons également le langage Dart utilisé par celui-ci.

    Plan détaillé :
    Introduction : Développement iOS

    • Module 1 : Langages Objective-C et Swift
    • Langage Objective-C
    • Langage Swift
    • Module 2 : IOS Framework
    • Cocoa & Cocoa Touch
    • Xcode
    • Debugging
    • Storyboards
    • User Interfaces
    • Network Requests (API)
    • Data management
    • JSON Parsing
    • Core Data (ORM)

    Module 3 : Projet (Application d’achat et de vente)

    • Conclusion : Et après ?

    Introduction : Développement d’Android

    • Module 1 : Langages Java & Kotlin
    • Langage Java
    • Langage Kotlin

    Module 2 : Android SDK

    • Android SDK
    • Get Started
    • Debugging
    • Layouts
    • Navigation
    • Activity & Fragments Lifecycles
    • ViewModel & LiveData
    • Room (ORM)
    • RecyclerView
    • Network Requests (API)
    • JSON Parsing

    Module 3 : Projet (Application d’achat et de vente)

    • Conclusion : Et après ?

    Introduction : Flutter Framework

    • Module 1 : Flutter Framework
    • Langage Dart Language
    • Interface utilisateur
    • Gestion de l’État
    • Mise en réseau et HTTP
    • JSON & Serialization
    • Firebase
    • Conclusion : Et après ?

    Par Pr. Anne-Marie LESAS Présentation : Dans ce cours, nous étudierons la NFC de deux points de vue : du point de vue d’un architecte système et du point de vue d’un développeur. À la fin, vous serez en mesure de concevoir et de mettre en œuvre la NFC en utilisant la plate-forme Android. Ce cours vous permettra de savoir comment travailler en équipe et plus précisément dans une équipe agile en utilisant le framework Scrum. Vous saurez également comment utiliser tous les outils annexes pour la gestion de projet, la gestion des versions ou la communication en équipe, et vous aurez une compréhension de base de l’approche d’assurance qualité. Plan détaillé : Programmation NFC) Module 1 : “Introduction à la norme NFC” (Théorique) – Ce module aborde la norme NFC avec la définition de concepts clés autour des 3 modes de fonctionnement de la norme NFC : le mode lecture/écriture permettant de rendre un objet du monde réel “vivant” dans le monde numérique grâce à des balises passives NFC sans avoir besoin de source d’énergie, le mode peer-to-peer permettant à deux appareils actifs d’échanger des informations et le mode d’émulation de carte permettant au smartphone de se comporter comme une carte à puce ou comme un lecteur de carte à puce qui est mis en œuvre pour les transactions sécurisées comme le paiement sans contact. Ce dernier mode est traité plus en détail dans le prochain module consacré au sujet. Module 2 : Écosystème et architecture du mode d’émulation de carte sécurisée NFC (Théorique) Dans ce module, la spécificité du mode d’émulation de carte NFC utilisant un élément sécurisé hébergé par le téléphone mobile pour stocker des données et des services sensibles est examinée. L’écosystème industriel de ce mode qui implique plusieurs acteurs autour d’une plateforme appelée Trusted Service Managed” avec une interface générique standard est abordé ici. Module 3 : “Conception de cas d’utilisation NFC” (Pratique) – La conception est au centre de l’ingénierie des systèmes d’information ; dans ce module, vous serez initié à la modélisation de cas d’utilisation de modes de fonctionnement NFC dans le but de vous permettre de comprendre comment la NFC peut être mise en œuvre, c’est un prérequis obligatoire avant la programmation. L’organisation du projet pour les travaux pratiques et les livrables que vous devrez fournir sont discutés dans ce module. Module 4 : Programmer des applications NFC avec Android (Pratique) – Dans ce module, vous serez initié à la programmation NFC sur la plate-forme Android. Dans un premier temps, vous serez initié à l’environnement de développement intégré Android studio et aux bases de la programmation Android. Ensuite, la mise en œuvre de la NFC est abordée avec les 3 modes de fonctionnement : lire et écrire des tags passifs NFC avec le mobile, échanger des données entre deux mobiles compatibles NFC ou lire une carte à puce sans contact avec le mobile ou faire en sorte que votre mobile se comporte comme une carte à puce en utilisant l’émulation de carte basée sur l’hôte (HCE) ” Conclusion et perspectives ” – Enfin, nous concluons par une rétrospective des sujets abordés dans ce cours pour souligner les concepts pertinents que vous devez retenir en vue de l’évaluation finale du QCM. Pour aller plus loin, la mise en œuvre de la NFC sur d’autres plateformes de développement ou avec d’autres langages de programmation ou d’autres dispositifs est également abordée dans cette section…. Gestion de projet et outils

    • Introduction Module 1 : Gestion de projet
    • Gestion de projet traditionnelle
    • Développement logiciel agile
    • Scrum Framework : Introduction
    • Scrum Framework : équipe et rôles
    • Propriétaire du produit
    • Équipe de développement
    • Scrum Master
    • Scrum Framework : Evénements
    • Scrum Master

    Sprint

    • Scrum Master

    Daily Scrum

    • Scrum Master

    Revue de presse</l Rétrospective du sprint Scrum Framework : Outils Liste des produits Sprint Backlog Méthodes d’estimation (Projet de planification) Module 2 : Outils et assurance qualité Outils Gestion de projet (Jira / Redmine / Taïga) Communication d’équipe (Slack) Versioning (Git) Système de gestion des documents (OpenKM) AQ (Assurance de la qualité) Types de tests de logiciels Stratégie d’essai : STLC Stratégie de test agile : Quadrants de test agiles CI/CD (Intégration continue / Déploiement continu) Conclusion : Et maintenant ?

    Par Pr. Gabriel MOPOLO Présentation : Ce cours va permettre aux auditeurs de se familiariser avec les principes de bases d’administration d’une base Oracle. A l’issue de ce cours l’auditeur doit être capable de comprendre et mettre en œuvre les notions suivantes :
  • Comprendre les architectures (NON CDB, CDB, Distribuée, Répliquée, Autonomous, …)
  • Comprendre le fonctionnement du moteur oracle
  • Comprendre l’architecture logique (Tablespaces, segments) et physique d’une BD Oracle (fichiers composants la base)
  • Effectuer les tâches d’administration de base (installation d’oracle, création de base, arrêt et suspension d’une base)
  • Administrer la sécurité (gestion des utilisateurs, gestions des privilèges (droits) Gestion des rôles : regroupement de privilèges, profiles, audit)
  • Gérer l’intégrité de données
  • Comprendre et utiliser les outils d’administration tels que o SQL plus : outil d’administration de base
  • Export/Import data pump : outil de transport des données d’une base de données Oracle vers une autre base de données Oracle
  • Sqlloader : outil de chargement de données en format texte, CSV, … vers une base de données Oracle
  • Effectuer des sauvegardes et restaurations manuelles ou automatiques (RMAN)
  • Plan détaillé :
  • Module 0 : Résumé PL-SQL et SQL3
  • Module 1 : Administration bases de données structurées
  • Les tâches de l’administrateur
  • L’offre Oracle
  • Oracle 12G Présentation Générale
  • Quiz
  • Module 2 . Architecture d’Oracle
  • Architecture fonctionnelle générale
  • La notion d’instance
  • Structure de la mémoire d’Oracle
  • La SGA
  • La PGA
  • Les process autour Oracle
  • Les process utilisateurs
  • Les Process Serveurs
  • Les Process tâches de fond
  • Autres process
  • SQLNET
  • Mécanismes de lecture et écriture
  • Mécanisme de validation et invalidation
  • Prise en main et vue générale
  • Quiz
  • Module 3 : Gestion d’une base de données structurées avec Oracle
  • Installation du noyau et des outils Oracle
  • États d’une base
  • Privilèges utiles
  • Création d’une base
  • Les paramètres d’initialisation
  • Démarrage d’une base
  • Arrêt d’une base
  • Activation de la base en mode privé pour le DBA
  • Suspension et réactivation de la base
  • Le Dictionnaire de données d’Oracle
  • Les fichiers d’alerte et de trace
  • ADR : Automatic Diagnostic Repository
  • Editions comparées
  • Module 4 : Structure Physique et logique d’une Base de Données Oracle 4.1 Structure physique d’une base de données Oracle
  • Les fichiers de données
  • Les fichiers Redo log
  • Les fichiers d’Archives
  • Les fichiers de Contrôle
  • 4.2 Structure logique d’une Base de données Oracle
  • Les tablespaces
  • Les segments et leurs composants
  • Les segments de données de type table
  • Les segments de données de type cluster
  • Les segments d’index
  • Les segments temporaires
  • Les segments rollback (manuels ou automatiques)
  • Module 5 : Environnement administration Base de données Oracle : privilèges et rôles
  • Généralités
  • Les Privilèges
  • Les privilèges Systèmes
  • Les privilèges Objets
  • Les rôles
  • Les rôles du Système d’exploitation
  • Les rôles prédéfinis
  • Les profils
  • Les utilisateurs
  • L’audit traditionnel
  • L’audit unifié
  • Module 6 : RMAN et outils d administration Oracle
  • A propos de RMAN
  • Pourquoi utiliser RMAN?
  • Vue d’ensemble de l’environnement RMAN
  • Quelques commandes utiles de RMAN
  • Démarrage et arrêt de RMAN
  • Configuration de RMAN
  • Sauvegarde avec RMAN
  • Gestion du référentiel RMAN
  • Restauration et recouvrement de données
  • Visualisation des informations sur RMAN
  • Les techniques flashback
  • Utilisation de RMAN à partir du database Control
  • Module 7 : Outils d’administrations et les NLS
  • Export/Import data pump
  • Sql Loader
  • Les tablespaces transportables
  • Sqlplus
  • Oracle Database Express
  • Sql Developer
  • Par Pr. Gabriel MOPOLO
    Présentation : Ce cours va permettre aux auditeurs de se familiariser avec les principes de la base NOSQL Oracle et le langage Big Data SQL proposé par cet éditeur. Oracle NoSQL est un moteur NoSQL multi-modèles (clés/valeurs, documents : tables/json). Pour permettre l’accès depuis son moteur SQL (Oracle 12c) aux données issues d’un lac de données (sources multiples : sql, nosql, fichiers, hadoop, etc.), Oracle propose le langage Big Data SQL basé sur les tables externes. A l’issue de cours les étudiants seront à même de :

    • Manipuler les données dans le moteur Oracle NoSQL selon le modèle Key/Value via la ligne de commande et l’API Java Key/value
    • Créer des tables (format Json caché), équivalentes aux documents mais typés
    • Manipuler les données dans des tables (ajout, modification, suppression) via la ligne de commande et via l’API java des tables
    • Consulter les tables via SQL sur le moteur Oracle NoSQL
    • Créer des tables externes HIVE
    • Créer des tables externes Oracle 12c pointant vers des tables externes Oracle 12c pour le Big Data SQL

    Plan détaillé :
    Introduction : Construction d’un DATA LAKE de type polystore (SQL et NOSQL) avec Oracle.
    Module 1 : Introduction à SQL3 (PLSQL OBJET) d’Oracle

    • INTRODUCTION
    • LES TYPES DE BASE (Prédéfinis)
    • LES TYPES ABSTRAITS (COMPLEXES)
    • NOTION D’IDENTITÉ
    • LA NOTION DE COLLECTION
    • CREATION ET MANIPULATION D’OBJETS
    • LES LIENS D’ASSOCIATIONS
    • LIENS D’HÉRITAGE

      Module 2 : SQL3 AVANCE d’Oracle

    • LES VUES
    • GESTION DES OBJETS VOLUMINEUX
    • PL/SQL OBJET
    • IMPORT/EXPORT
    • MAPPING OBJET RELATIONNEL AVEC JAVA
    • EXERCICES
    • Module 3 : Introduction à Oracle NoSQL Database

    • Comment Oracle NoSQL Database fonctionne
    • Positionnement d’Oracle Nosql
    • Les composants d’Oracle NoSQL database
    • Accès au KVStore
    • Rôle de KVLite
    • Installation ORACLE NoSQL DATABASE
    • Les consoles
      Objectifs
    • La console d’administration graphique
    • Command Line Interface for Administration & Data (CLI-A&D)
    • Les commandes utilitaires
    • QUIZ
    • Exercices
    • Bibliographe
    • Module 4 : ORACLE NoSQL DATABASE « PROGRAMMATION JAVA : KV API»

    • Conception d’un record pour une BD Oracle NoSql
    • Accès au KVSTORE
    • Construction d’un Enregistrement
    • Création et suppression d’enregistrements
    • Lecture des enregistrements
    • Utilisation des AVRO Schémas
    • Exercices
    • Bibliographie
    • Annexes
    • Module 5 : ORACLE NoSQL DATABASE « PROGRAMMATION JAVA : TABLE API»

    • Généralités
    • Gestion des Tables et d’indexes via CLI
    • Gestion des Tables et d’indexes via l’API Java
    • Les contraintes d’intégrité
    • Insertion, suppression de lignes via CLI
    • Insertion, suppression de lignes via l’API Java
    • Lecture de lignes via CLI
    • Lecture de lignes via l’API Java
    • Bibliographe
    • Exercices
    • Module 6 : ORACLE BIG DATA SQL

    • Généralités sur l’intégration BigData Oracle
    • Accès aux données Oracle Nosql via Big data SQL
    • Accès aux données HDFS via Big data SQL
    • Accès aux données Hbase via Big data SQL
    • Consultation de données multi-sources dans la base Data warehouse Oracle SQL
    • Exercices
    • Bibliographie

    Par Pr. Serge MIRANDA
    Présentation : Ce module a pour objectif d’apprendre les principes des bases de données structurées relationnelles (le modèle relationnel de Codd autours des structures de données VALEURS-DOMAINES et RELATIONS ; l’algèbre relationnelle avec le théorème de Codd ; les contraintes d’intégrité : d’entité, de référence et de domaines ; la théorie de la normalisation : de la première à la cinquième forme normale, etc.), les caractéristiques des SGBD relationnels ( la gestion du stockage ; la sécurité des données ; la gestion des transactions ; les techniques de verrouillage ; l’introduction aux mécanismes d’indexation et à l’administration ; les propriétés ACID : Atomicité, Cohérence, Isolation et Durabilité des transactions et le théorème de sérialisabilité de Jim Gray sur ; le dictionnaire de données ; les procédures stockées ; …). Sont aussi étudiés dans ce module :

    • La conception d’un schéma relationnel en suivant la méthode CODD&DATE ou la méthode MERISE (MCD : Modèle Conceptuel de données MERISE)
    • Les méthodes d’accès comme hachage et B-arbre (qui sous tendent les créations d’index)
    • Le langage standard SQL niveau 2 avec ces différentes facettes :
    • Le langage de définition de données de données (LDD) : Ordre SQL CREATE, DROP, ALTER, RENAME, … pour la gestion des métadonnées (tables, vues, utilisateurs, indexes, des procédures stockées…)
    • Le langage d’interrogation et mise à jour de données (LMD) :
    • L’ordre SQL SELECT avec la possibilité d’effectuer des projections, des restrictions, des tris, des groupements, des requêtes hiérarchiques, des jointures
    • Les ordres SQL INSERT (Insertion de lignes), DELETE (suppression de lignes), UPDATE (mise à jour des lignes)
    • Le langage de contrôle des données pour la gestion des droits (GRANT, REVOKE).
    • Le langage propriétaire pour la gestion des procédures stockées dans le SGBD. Dans notre cas ce langage sera PLSQL si le SGBD sous-jacent est Oracle ou SQL/ PSM (Persistent Stored Modules) s’il s’agit de MYSQL. Ce type de langage permet, contrairement à SQL, de manipuler conditionnellement des données, d’effectuer des boucles, de gérer des erreurs, etc.

    Plan détaillé :
    Module 1 : Concepts de base de données et modèle de données relationnel du Codd
    Ce module comprend deux parties : la première présente les concepts de base de la base de données (Schéma, ACID transactions, propriétés TIPS) et le second introduit le modèle de données relationnelles de Codd qui représente une base formelle d’unification pour les grands systèmes structurés de gestion des données.

    Module 2 : Conception de schémas de bases de données relationnelles (méthode Codd&Date)
    Méthodes d’accès (hashing, Btree) et OLAP·

    Module 3 : Introduction à SQL2
    Ce cours est consacré à la présentation de la norme SQL (y compris la définition, la manipulation et le contrôle avec les concepts VIEW et TRANSACTION) qui sera l’interface en espéranto pour les grands systèmes de données en mettant l’accent ici sur le modèle de données relationnelles .
    Nous aborderons également la question des OLAP et des données warehouses·

    Module 4 : Le manifeste de Third Date sous-tend les données hybrides objet-relationnelles modèles
    Le manifeste de Date est le cadre symétrique neutre du modèle de Codd (pour SQL2) pour les hybrides les bases de données orientées objet (pour SQL3). Nous clarifions les concepts d’objets (OID, VALUE) qui seront utiles pour les systèmes N.O.SQL.

    Module 5 : Introduction à l’ODMG
    Des modèles de données orientés objet basés sur le manifeste de Bancilhon ont été proposés pour les objets les programmeurs. L’ODMG est une extension de la base de données de l’OMG (Object Management Group) proposée en plus de Java, C++ et Smalltalk·

    Module 6 : Introduction à SQL3
    SQL3 est la fusion des manifestes de Date et de Stonebraker dont les traits saillants sont présentés et dont il est question dans ce module. 

    copyright 2022 – Université virtuelle du Sénégal