POEI Lazarus

Formation longue Lazarus : apprendre la programmation dans un langage prometteur Formation pour devenir développeur junior sur une technologie aisément abordable

Lazarus est un langage de programmation objet, proche du Pascal et fluide dans ses apprentissages.

Nous proposons ici aux entreprises recherchant des compétences Lazarus de former de nouveaux développeurs.

Dans un marché où le client lourd a tendance a être délaissé, nous vous proposons au contraire de pouvoir développer ce type d’application dans un environnement multi-plateforme.

L’IDE Lazarus, après un temps d’apprentissage relativement aisé, permet de concevoir rapidement des applications graphiques à haute valeur ajoutée.

Résumé

Langages : Pascal, SQL, UML
Logiciels : Lazarus EDI, Git, AnalyseSI, Papyrus
Durée : 57 jours, 399 heures sur 3 mois
Objectifs :
 Conduire un projet logiciel du cahier des charges au cahier de recettes.
 Développer des applications de type clients lourds Lazarus.
 Développer des applications autour des bases de données.
 Comprendre les enjeux des logiciels communautaires et le développement de solutions sur le marché du logiciel libre.
 Collaborer et participer à des projets communautaires.
Pré-requis : Réussite au test d’entrée. Avoir des besoins métier.
Public : Tout public, reconversion professionnelle possible
Tarif : Nous consulter.
Méthodes mobilisées : Alternance d’apports théoriques et d’exercices de mise en application pratique : Cours magistraux, travaux dirigés, travaux pratiques en autonomie
Modalités et délais d’accès : Sur inscription préalable au minimum 1 semaine avant le début de la formation selon disponibilité du formateur.
Modalités d’évaluations : Une évaluation du niveau des stagiaires est réalisée avant l’entrée en formation par téléphone ou au moyen d’un questionnaire. Évaluation des acquis et de la satisfaction en fin de formation.
Accessibilité aux personnes en situation de handicap ou présentant des difficultés d’apprentissage : nous pouvons proposer des solutions de compensation de nos prestations en adaptant les moyens pédagogiques, techniques et d’encadrement (les précisions).
Taux de satisfaction 2i2L : en cours de montage.
Tarif : pour une demande de formation interne, nous consulter.

Présentation

Lazarus est un RAD/EDI multiplateforme développé en Free Pascal pour Free Pascal. Son objectif est de fournir aux programmeurs Pascal Objet un environnement de développement facile à utiliser s’approchant le plus possible de Delphi.

Free Pascal est un compilateur sous licence GPL fonctionnant sous Linux, Windows, OS/2, Mac OS X, BSD, iOS, Android, etc. Il est conçu pour interpréter et compiler le Pascal Objet de Delphi. À la différence de Java dont le slogan est « write once run anywhere » (écrire une fois, exécuter partout), celui de Lazarus et Free Pascal est « write once compile anywhere » (écrire une fois, compiler partout). Ainsi, Lazarus lui-même a été écrit en Pascal et fonctionne avec une seule base de code. [1]

Programme

 Présentation et principes généraux de la modélisation UML : 2 jours
 Outils collaboratifs : 2 + 2 jours
 Algorithmie et programmation structurée : 4 jours
 Conception de bases de données et de SGBD : 3 + 2 jours
 Interrogation d’une base de données en langage SQL : 3 + 2 jours
 Aspects communautaires du logiciel libre : 1 jour
 Présentation et principes généraux de l’approche orientée objet : 2 jours
 Programmation sous l’EDI Lazarus : 13 + 9 jours
 Conversion d’un programme Lazarus vers Android : 3 + 1 jours
 Aspect juridique du logiciel libre : 1 jour
 Lazarus et les tests unitaires : 1 jour
 Projet final : 5 jours
 Soutenance : 1 jour

Présentation et principes généraux de la modélisation UML

 2 jours d’apprentissage.

UML
 Présentation de la qualité en génie logiciel
 Historique de la modélisation UML
 Les différentes vues représentées en UML
 Les différents diagrammes existants en UML

Modélisation fonctionnelle
 Le diagramme de cas d’utilisation
 La description du scénario
 Exercices

Modélisation statique du modèle
 Représentation statique du modèle : le diagramme de classes
 L’héritage et le polymorphisme
 L’association et l’agrégation
 Les Modificateurs d’accès
 L’interface
 Le package

Modélisation dynamique du modèle
 Diagramme d’états/transition
 Diagramme d’activité
 Diagramme de séquence
 Diagramme de collaboration

Méthodologie UML pour le développeur
 Rédaction du cahier des charges
 Analyse (niveau besoin)
 Analyse (niveau conception)
 Codage de la solution
 Recette de l’application


Outils collaboratifs

 2 jours d’apprentissage et 2 journées de travaux pratiques

Utiliser Git
 historique et utilisations de Git
 développer un projet communautaire avec Git

Utiliser etherpad
 découvrir et utiliser collaborativement un pad
 simplisme !

Utiliser une gestion de projet
 les outils de gestion de projet
 les Post-IT et la méthode Agile

Utiliser Moodle
 se connecter et utiliser le LMS de formation en ligne
 les documents des stagiaires

Travaux pratiques
 projet libre en commun


Algorithmie et programmation structurée

 4 jours d’apprentissage

Présentation et structure d’un algorithme
 Les variables
 Les opérateurs
 La lecture et l’écriture
 Le fonctionnement et l’utilisation des conditions
 Le fonctionnement et l’utilisation des boucles
 Les tableaux
 Les tableaux multi-dimensionnels
 Les structures
 Les appels de fonction
 Les fonctions et procédures


Conception de bases de données et de SGBD

 3 jours d’apprentissage et 2 journées de travaux pratiques

Les bases de données et les SGBD
 Utilité d’une base de données
 Gestion des bases de données
 Définitions

Les SGBD
 Définition
 Types de SGBD

L’étude du système d’information
 Introduction
 Vocabulaire
 Principes du recueil des informations

Du fonctionnement du descriptif de document à la création du dictionnaire de données
 Les explications
 Les données manipulées
 Les données calculées
 Le dictionnaire de données

Le Modèle Conceptuel de données
 Définition
 Vocabulaire
 Types de relations

Passage du dictionnaire des données au MCD
 Démarche

Le Modèle Logique de données
 Définition

Passage du MCD au MLD
 Passage de la relation binaire aux cardinalités (x,1) - (x,n) à la création d’une clé étrangère
 Passage de la relation binaire aux cardinalités (x,n) – (x,n) à la création d’une entité
 Passage de la relation ternaire aux cardinalités (x,n) – (x,n) à la création d’une entité
 Passage de la relation récursive (x,1) - (x,n) à la création d’une clé étrangère

Travaux pratiques


Interrogation d’une base de données en langage SQL

 3 jours d’apprentissage et 2 journées de travaux pratiques

Le SQL
 Définition
 Historique
 Subdivisions du SQL

La subdivision DCL plus en détail
 La création de table
 Les jointures
 La modification de table
 La suppression de table

La subdivision DML plus en détail
 L’insertion d’enregistrement
 La modification d’enregistrement
 La suppression d’enregistrement
 La sélection

La sélection approfondissement
 La clause where
 Le mot clé between
 Le mot clé distinct
 La clause in, not in
 La clause is null, is not null
 Le mot clé like
 La clause order by

La sélection suite
 Les opérateurs arithmétiques
 L’alias
 Les fonctions
 La clause group by
 La clause having

Les jointures en SQL 2
 Les jointures internes
 Les jointures externe

Les sous-requêtes
 Exemples


Aspects communautaires du logiciel libre

 1 jour d’apprentissage

Les bonnes pratiques LL
 Les outils
 Les forges

Les aspects juridiques du logiciel libre
 Les licences libres
 Les pratiques commerciales


Présentation et principes généraux de l’approche orientée objet

 2 jours d’apprentissage

L’approche Objet
 Présentation
 Principes généraux
 Historique de la programmation orientée objet

Comparaison de la programmation orientée objet et de la programmation procédurale
 Au niveau de la programmation procédurale
 Différences et points communs entre l’approche objet et l’approche procédurale
 Les avantages de l’approche objet

Les éléments de la programmation orientée objet
 Notions d’objet et de classe
 Les messages et les événements
 Abstraction et encapsulation de données
 Implémentation : définition des méthodes
 Les Constructeurs
 Les membres statiques (membres de classe)

Les éléments de la programmation orientée objet
 Représentation statique du modèle : le diagramme de classes
 L’héritage et le polymorphisme
 L’association et l’agrégation
 Les Modificateurs d’accès
 L’interface
 Le package


La programmation sous l’EDI Lazarus

 13 jours d’apprentissage + 9 journées de travaux pratiques

L’interface de l’environnement de Lazarus
 la compilation, l’exécution d’une application graphique
 la différence entre fiches et unités
 les points d’arrêt et la mise en place de témoin

Les principes de base du Pascal Objet
 maîtriser la déclaration et la définition des variables
 maîtriser les opérateurs
 écrire les commentaires
 réaliser des tableaux

Le fonctionnement des conditions
 utiliser les conditions si / sinon
 utiliser le selon si

Le fonctionnement des boucles
 utiliser la boucle pour
 utiliser la boucle tant que

Les composants de base de la palette Lazarus
 créer un composant sur une fiche et y faire référence
 utiliser l’inspecteur d’objet

Savoir utiliser les composants
 liés aux fichiers et aux boîtes de dialogues
 liés au temps et au système
 liés aux bases de données
 liés aux générateurs de scripts et de langages
 savoir installer et dés-installer des composants supplémentaires (exemple avec l’installation d’un composant de type générateur de pdf et avec un générateur de carte)

Les autres éléments de l’environnement Lazarus
 application console
 librairie
 paquet


La conversion d’un programme Lazarus vers Androïd

 3 jours d’apprentissage + 1 jours de travaux pratiques

 Historique de la programmation mobile
 Programmation mobile avec Lazarus


Lazarus et les tests unitaires

 1 jour d’apprentissage

 Les étapes d’un projet
 Définition de la recette d’un projet
 mise en place des tests unitaires sous Lazarus


Projet final

 5 jours


Soutenance

 Soutenance sur le projet final
 1 jour