Cours 4D en mode utilisation

Cours 4D en mode utilisation PDF
...
4D (anciennement 4 e Dimension) est un système de gestion de base de données associé à un langage de programmation de quatrième génération fonctionnant à la fois sur les plateformes macOS et Windows. La version la plus récente est 4D v17.
Historique
En 1984, Laurent Ribardière crée le logiciel 4e Dimension qui devient l'un des premiers systèmes de base de données sur la plateforme Apple Macintosh2. En 1995, 4D devient multiplateforme pour également fonctionner sous Microsoft Windows et deux ans plus tard il embarque un serveur web.
1984 ABCBase
1985 4D v1
1986 4D v2
1987 4D v3
1989 4D v4 Utilisation multiposte - Compiler
1992 4D v5 Environnement client/serveur intégré
1995 4D v5.5 Multiplateforme Mac OS et Windows
1997 4D v6 Serveur Web intégré
1999 4D 6.5 4D 6.5.9r2 est la dernière version de cette ligne
2000 4D 6.7 4D 6.7.4 est la dernière version de cette ligne
2001 4D 6.8 Certification Mac OS X (6.8.5) ; la version 6.8.6 est la dernière version de cette ligne.
2003 4D 2003 XML, Web Services et Compilateur intégré ; la version 2003.8r2 est la dernière version de cette ligne.
2004 4D 2004
Interface revue ; intégration des commandes ODBC haut niveau, 4D Customizer, 4D Backup et 4D Engine ; la version 2004.8 est la dernière version de cette ligne.
2007 4D v11 SQL
Nouveau moteur de base de données, SQL intégré, support Unicode, gestion SVG, centre de maintenance intégré, zone web ; 4D v11 SQL
Release 9 (11.9) est la dernière version de cette ligne.
2010 4D v12
Nouvelles fonctionnalités, améliorations de l'environnement de développement, multibases, système intégré de synchronisation entre plusieurs bases, support PHP ; 4D v12.4 est la dernière version de cette ligne.
2012 4D v13
Nouveau serveur HTTP multithread, gestion des sessions automatique, nouveau client HTTP extensible, intégration de webkit et support étendu de Javascript, list box enrichie, gestion de documents externes.
2014 4D v14
Création de Web apps avec 4D Mobile: Applications multiplateforme disponibles sur Mobile, Tablette et tout type de navigateur. Objets structurés JSON, vues SQL, nouveaux outils de maintenance et de monitoring.
2015 4D v15
4D Server 64 bits pour macOS ; Nouvelle couche réseau; Première version de 4D Write Pro; support LDAP; fonctions avancées d'analyse et d'optimisation 3
2017 4D v16 Nouveau système de gestion de cache; multithreading préemptif; généralisation du 64 bits; messages asynchrones entre processus 4
2018 4D v17 Introduction de ORDA acronyme pour Object Relational Data Access$
Logiciel 4D
4D est un système de gestion de base de données relationnelle disposant d'un langage de
programmation de la quatrième génération (L4G). Environnement de développement intégré
(EDI ou IDE en anglais), 4D intègre :
- un compilateur
- un débogueur
- un système de sauvegarde et de réplication
- un serveur Web
- un serveur et client de services web
4D permet à tout développeur d'écrire ses propres plug-ins et propose les siens :
- Productivité : 4D View pro (tableur), 4D Write pro (traitement de texte)
- Connectivité : 4D Internet Commands (ftp, courriel), ODBC Driver for 4D
- Extensions : 4D Plugin SDK (développement de plugin)
Le logiciel 4D possédait traditionnellement 3 modes :
- Le mode structure (ou mode Design) permettant de créer des formulaires et des méthodes, mais aussi de modifier la structure de la base de données, de compiler, de débugger.
- Le mode utilisation, permettant le lancement à l'unité des programmes réalisés et la modification du contenu de la base de données.
- Le mode dit menus créés dans lequel les utilisateurs peuvent visualiser une application sur-mesure entièrement « habillée ».
Depuis la version 4D v11 SQL, les modes Structure et Utilisation ont fusionné en un seul mode Développement. Le mode Menus Créés est devenu le mode Application.
4D en quelques notions
- Langage propriétaire de haut niveau indépendant du système d’exploitation
- Multiplateforme : Mac OS X (y compris MacIntel depuis la version 4D 2004.5) et Windows (certification Vista depuis la version 4D 2004.6 et Windows Server 2008 depuis la version 4D v11 SQL 11.3, certification Windows 7 depuis la version 4D V11.5)
- Solutions mono-poste et client/Serveur
- Architecture extensible : plug-ins, bibliothèques d’objets, composants
- Possibilité de développer en client/Serveur (développement collaboratif)
Depuis 4D v11 SQL :
- Moteur SQL natif
- Prise en charge du SVG
- Intégration d’Unicode
- Support étendu de ODBC, XML et des Web Services SOAP
Fonctionnalités principales
- Ouverture de bases de données en code interprété ou compilé
- Générateur de formulaires
- Gestion des accès utilisateurs et mot de passe
- Éditeur de méthodes
- Éditeur de menus, bulles d'aide (ou infobulles), de listes, de feuilles de styles, de filtres
- Correcteur orthographique multilingue
- Moteur de rendu HTML
- Débogueur, vérificateur syntaxique
- Compilateur et générateur d'applications
- Système intégré de sauvegarde et de mirroring
- Serveur Web
- Serveur et Client de Web Services
- Serveur et Client de données (ODBC, JDBC, Oracle, SQL, MySQL, …)
Points forts de 4D V11 SQL
- Que ce soit pour des projets élémentaires en local ou des solutions en clientserveur avec de nombreux clients : sans changer une ligne de code, le moteur de 4D prenant tout en charge. La version serveur de la version 11 donne d'excellents résultats du point de vue de la réactivité.
- Multiplateforme : un même programme peut être porté de macOS à MS Windows (et vice-versa) sans changer une seule ligne de code.
- Toute l'administration des bases et leur configuration sont centralisées en un seul point (le Centre de Support et Maintenance)
- Les sauvegardes sont soit déclenchables dans le code soit programmables à heures régulières
- l'indexation très puissante permet de faire des recherches en full-text (plein-texte)
- 4D est conforme à toutes les normes du marché :
o SQL2 (la dernière) : la grande majorité des commandes existantes dans ce langage sont implémentées dans 4D
o XML : 4D est « orientée » XML. Les données et la structure sont directement exportables en XML pour une réutilisation avec d'autres produits.
o Webservices : un assistant permet d'utiliser simplement des Webservices.
o Web 2.0 : un framework Ajax a été développé afin de simplifier l'intégration des données issues de 4D à des pages web dynamiques
o Flex : des bibliothèques 4D pour Flex permettent de connecter les données
4D via SQL dans une application cliente riche
o Oracle : via le driver ODBC, 4D peut communiquer avec les bases oracle
o UTF8
- Un traitement de texte (4D Write) et un tableur (4D View) sont intégrés en natif dans 4D. Il existe en plus des objets 4D qui permettent de communiquer directement avec les applications de la suite Office.
- Un développement complet peut être réutilisé très simplement dans un autre par simple glisser-déposer, grâce à la prise en compte de la programmation orientée composants
- 4D est à la fois serveur de données, serveur Web, serveur de webservices et serveur SQL.
- le langage de programmation de 4D est tokennisé : un développement fait avec des commandes en français sera automatiquement traduit en anglais, en allemand, en espagnol ou en japonais selon la version de 4D utilisée.
- un framework permet de développer des pages web spécifiquement adaptées à l'iPhone
- Le déploiement client/serveur est d'une grande simplicité.
… ..
Limites
- La plateforme 4D dont l'architecture intégrée permet une grande simplicité de développement ne destine pas 4D au développement d'applications de gestion visant à supporter plusieurs milliers d'utilisateurs concurrents intensifs.
- Le langage de programmation de 4D n'est pas orienté objet en natif mais commence à s'y ouvrir depuis la v17.
- 4D pour macOS est disponible en versions 32 et 64 bits à compter de la 15R5. 4D Server pour Windows est disponible en versions 32 et 64 bits depuis la version 12. Le 32 bit est désormais obsolète et ne doit être utilisé qu'au titre de la compatibilité ; 4D 17R5 qui préfigure 4D v18 n'est disponible qu'en 64 bit.
- Le langage 4D évolue à chaque version, mais n'offre pas nécessairement de compatibilité descendante. Ainsi, il n'est pas possible pour un programmeur de compiler une application pour une version antérieure de 4D. Si une application doit être développée pour plusieurs versions de 4D, elle devra donc être programmée et maintenue de façon indépendante dans chacune de ces versions. Cette limitation est particulièrement contraignante lorsqu'une application doit être disponible sous plusieurs systèmes d'exploitation (ex: Windows XP et Windows 8).