Profitez des offres Memoirevive.ch!
4D 2004, un gestionnaire de base de données fantastique

4D, ou 4e Dimension, j'en ai déjà beaucoup parlé sur Cuk.ch.

Vous avez pu lire le test complet à propos de la version 4D 6.8 (la première qui a été compatible OSX) ici, qui présentait de manière très complète ce qu'est 4e Dimension. Et puis, j'ai testé 4D 2003, version bien plus mature de ce programme pour le nouveau système ici.

Bon, pour vous éviter de relire ces articles un peu longs, et de surcroît légèrement dépassé au vu de la sortie de la nouvelle version 2004 qui fait l'objet de cet article, je vais reprendre la présentation de ce qu'est 4D, et pour cette introduction, je vais faire une chose toute simple, un copier coller un peu travaillé et mixé des présentations que j'ai faites dans les tests précités.

Voici donc ce qu'est 4D.

4D, c'est quoi, ça sert à quoi?

Dès que vous avez à faire avec des données quelconques, vous devez les classer, les ranger, et surtout pouvoir les retrouver.

Pour ce faire, il existe ce que l'on appelle les bases de données.

Il existe des bases de données mono fichiers, toutes simples, qui recensent des contacts par exemple: l'AddressBook de Mac OS X est une base de données, tout comme le sont Now Contacts ou Quicken, dans ce dernier cas pour vos finances.

Vous pouvez également classer votre collection de films vidéos, mais là déjà, d'autres besoins se font sentir, comme par exemple le fait de ne pas vouloir retaper à chaque fois certaines spécifications sur les acteurs et les auteurs des films.

C'est dans ce cas qu'entrent en jeu les bases de données relationnelles. On va créer une relation entre le fichier des films, le fichier des acteurs et le fichier des réalisateurs. En ce cas, nous travaillons avec trois fichiers. Le fichier acteurs contiendra toutes les données concernant les... acteurs, et une seule fois. Le fichier des réalisateurs sera identique, à la différence près qu'il regroupera les réalisateurs, comme il se doit.

Le fichier films lui ira chercher les données dans le fichier des acteurs et des auteurs, lorsque vous entrerez par exemple le nom ou le code de ces derniers.

Avantage de cette solution? La non-redondance des données, qui finit toujours par prendre trop de place, le gain de temps à la saisie, et l'automatisation de la correction des données. On corrige une faute d'orthographe dans le prénom d'un acteur et tous les films qu'il a joués sont automatiquement corrigés.

Remarquez que les liens peuvent aller dans les deux sens! Rien de plus simple en fait après avoir entré quelques films de prendre un auteur dans le fichier ad hoc, et de lister les films qu'il a joués qui font partie de votre fichier "Films".

Évidemment, on tombe très vite dans des complications assez importantes, et c'est là qu'intervient la puissance d'une application comme 4D pour créer votre base. Les liens se tirent graphiquement (ce qui n'empêche surtout pas d'avoir réfléchi sa base AVANT de commencer le travail sur la machine) et l'environnement de travail est une simple petite merveille.

La concurrence? C'est FileMaker.

Vous remarquerez (ceux qui me connaissent depuis Pommea.com) que je reste très zen dans cet article. En effet, j'ai cessé de comparer les deux produits.

FileMaker, c'est pour le enduser, l'utilisateur qui veut lui-même se faire une petite base, même relationnelle, avec quelques boutons. Notez que certains ont développé de très grandes bases avec FileMaker, et certaines solutions importantes tirent parti de ce programme. Comme quoi rien n'est figé.

4D, c'est pour le développeur, qui veut créer une application pour un ou plusieurs utilisateurs. Je suis sûr que vous avez travaillé un jour ou l'autre sans le savoir avec un programme développé sur 4D.

Bien entendu, il existe toujours des développeurs qui vont utiliser FileMaker comme plateforme de développement, tout comme il existe des utilisateurs exigeants qui vont travailler avec 4D pour leur propre usage.

Les avantages de 4D par rapport à FileMaker résident principalement dans l'environnement de développement, dans le vrai langage de programmation et sa facilité de mise en úuvre, encore plus certainement depuis la sortie de la version 2004 comme nous allons le voir plus bas.

Une application écrite sous 4D se reconnaît à sa barre d'outils dédiés, ses bulles d'aides, ce qu'est bien incapable de réaliser FileMaker (bien que QuickPay, testé ici, prouve le contraire au niveau de la barre d'outils, grâce à un plug-in très efficace, peut-être celui-ci mais je n'en suis pas certain.).

FileMaker a pour lui la facilité et le côté "bricole" qu'adorent certains. Mathieu ne devrait pas me contredire.

Bref, à chacun son application! Personnellement, j'ai choisi.

Les trois modes de 4D

Pour que les choses soient bien claires, il faut savoir que 4D est une gamme de produits. Mais l'application de base, c'est 4e Dimension. Autour de ce programme tournent des plug-in (comme un traitement de texte complet, 4DWrite). Un certain nombre de plug-ins des versions précédentes ont été intégrées à 4D 2003, puis à 4D 2004. Le compilateur est depuis la version 2003 intégré par exemple à 4D Developer Edition.

Lorsqu'on lance 4D, on peut travailler dans trois modes.

  • Le mode Structure, qui est là pour créer la base (tables, champs), dessiner les formulaires, programmer les actions, des boutons, des barres de menus.
  • Le mode Utilisation, qui est à mon avis le moins... utile, même si les choses deviennent me semble-t-il de plus en plus simples. On passe en mode utilisation si l'on n'a pas envie de programmer sa barre de menus. Le mode Utilisation est fait pour l'utilisateur (eh oui), mais n'est pas trop pratique. Personnellement, je ne l'utilise jamais.
  • Le mode Menu créé que vous allez employer dès qu'il s'agit de travailler avec votre base en production, avec, comme son nom l'indique, une barre de menus, et une utilisation par conséquent facile et entièrement programmée de votre base.

Comprenez-moi bien: quand on prononce le mot "programmer" tout une catégorie de gens partent en courant. Mais la programmation 4D d'une part est relativement facile à mettre en œuvre, même pour un débutant (déjà, elle est en français si vous le désirez, et de très nombreux exemples et modèles sont livrés en standard), et d'autre part, vous allez l'utiliser pour faire des choses qu'il serait souvent bien plus compliqué d'effectuer avec un programme comme FileMaker, qui n'est pas vraiment prévu pour cela.

Donc l'apprentissage du langage est un moment peut-être relativement pénible, mais qui n'est pas du tout insurmontable. Comme pour tout programme, un minimum d'efforts vous est toujours demandé.

Je vais donc passer en revue les modifications importantes de la version 2004 en mode Structure et en mode Menus Créés .

Les nouveautés du mode Structure

Bon, alors soyons clairs: si vous attendez de savoir s'il est possible de supprimer une table ou une rubrique dans la structure de 4D, la réponse est non. Je ne comprends toujours pas pourquoi, mais c'est ainsi, et je pense que jusqu'à la révolution à venir dans quelques années, il ne faut pas espérer un changement de philosophie de la part de l'éditeur. Dommage tout de même. Mais pas grave après tout. Une table peut être mise à la corbeille "intégrée" du programme, mais elle ne disparaîtra jamais vraiment.

Le mode Structure est revu pour le plus grand plaisir du développeur. Et c'est pour ce dernier un réel bonheur de découvrir les nouveautés qui lui ont été tout spécialement réservées.

L'explorateur, le centre nerveux qui nous permet de trouver d'un coup d'un seul n'importe quel élément de notre projet, qui permet de gérer notre programmation, est revu pour devenir encore plus pratique.

Tout est sous la main, dans une seule fenêtre. Les principaux modules sont situés dans une barre verticale, et c'est très bien ainsi. Vous avez ainsi accès aux méthodes (les scripts), aux formulaires (modèles), aux tables, aux constantes, et à bien d'autres éléments encore, dans autant de pages dédiées:

Plus ergonomique, je crois que c'est difficilement possible. Notez la page "Corbeille" qui permet de supprimer des objets mais de pouvoir les récupérer en cas d'erreur. Cette corbeille peut être vidée, comme celle du bureau, et peut résister à un ou des "Quitter". Une table peut être mise à la corbeille, mais en ce cas, elle sera uniquement cachée comme je l'ai déjà dit, et elle restera en réalité dans la base. Grâce à cette barre et à la page "composants" vous pouvez voir aussi immédiatement les plug-ins installés dans la base.

Et puis, toujours dans cet explorateur, nous trouvons la page "Démarrage", qui vous permet de grouper vos objets comme bon vous semble dans des dossiers virtuels.

Par défaut, trois dossiers sont créés: Méthodes, Formulaires et Tables. Mais vous pouvez créer autant de dossiers que vous le désirez, pour grouper ensemble les objets qui sont en relation par exemple avec un même module de votre programme. Bien entendu, une méthode restera disponible via la page de l'explorateur "Méthodes", un formulaire par la page "Formulaires", mais la page Démarrage vous permet de vous organiser selon votre propre logique. Une souplesse remarquable ne trouvez-vous pas?

Lorsque vous créez un nouvel objet ou un nouveau formulaire, paf, 4D vous demande dans lequel de vos dossiers vous désirez le placer.

J'ai déjà parlé dans une humeur de septembre 2004, de la création et l'édition des formulaires, qui sont une petite merveille d'ergonomie.

Tout d'abord, des guides intelligents et magnétiques, alors ça, il faut le voir pour le croire tellement c'est génial.

Aligner un objet par rapport au centre, au bas ou au sommet d'un autre, en tenant compte de l'objet du dessus au niveau de la verticalité. Enfin bref, tout, tout est possible, et avec une facilité tout simplement déconcertante. C'est d'autant plus simple avec les nouveaux taux de zoom de la barre d'outils, désormais partie intégrante de la fenêtre, ce qui est bien pratique et évite les palettes multiples.

Et puisque l'on parle des objets, il est maintenant possible d'en sélectionner un et de l'éditer alors qu'il fait partie d'un groupe, sans avoir besoin de dégrouper au préalable à l'aide d'un Commande-clic. De même un objet situé derrière un autre sera sélectionnable avec le même raccourci clavier.

Autre facilité pour le développeur apportée par cette version 2004: la possibilité de déplacer un objet (le rapetisser) dans une liste par exemple, sans avoir besoin de passer des heures ensuite à tout réaligner. Voyez plutôt:

J'ai une bête liste toute prête, mais je veux raccourcir le champ [Table 1]Test 1 à gauche.

Je sélectionne donc tous les objets qui devraient normalement être déplacés après l'action

Je raccourcis le champ désiré

Tout le reste a parfaitement suivi, c'est parfait. Quel temps gagné!

Toujours en vue d'améliorer le confort d'utilisation, la fenêtre des propriétés a été revue de fond en comble. En particulier, elle peut maintenant n'afficher que certaines d'entre elles, puisqu'elles sont maintenant divisées en onglets pour autant de catégories.

Vu le nombre de propriétés pour un objet, cette nouveauté se trouve être pour le moins bienvenue.

Section technique de la rubrique

Section "affichage" de la même rubrique.

Autre grande nouveauté, la possibilité de sentir notre formulaire grâce aux badges.

Cela n'a l'air de rien, mais c'est tout simplement génial. On sait par exemple d'un coup d'un seul quels sont les objets qui contiennent une méthode:

Je veux voir maintenant quel est l'ordre de saisie? Je vais vite dans le menu des badges et le tour est joué! C'est génial!

De même, je vois très vite quelles sont les rubriques ou les objets qui sont dotés d'un info-bulle (eh oui, on peut avec 4D, comme dans Revolution et RealBasic, mais pas comme Fil... non, j'ai dit que je ne critiquais plus) ou qui sont dotés d'une action standard.

Grande nouveauté: la version 2004 introduit la notion de bibliothèque d'objets. Tout objet peut être copié et collé dans une bibliothèque d'objets, sous forme d'un fichier externe, avec ses scripts, ces éléments liés. Cette même bibliothèque pourra être rappelée dans une autre base. C'est super et permet de passer toutes sortes d'objets d'une base à l'autre, ce qui était bien plus compliqué avant. Il est également possible de préparer des bibliothèques d'objets (des images par exemple) pour que nos utilisateurs puissent personnaliser des fonds de formulaire, ou illustrer des données. Comme le dit très bien la documentation, il s'agit d'une sorte de presse-papier permanent.

4D 2004 nous propose, toujours pour faciliter notre création des formulaires, un nouveau concept: les vues. Qu'est-ce qu'une vue me direz-vous? Je vous répondrai que nous aurions pu parler de calque, si nous étions dans Photoshop. En effet, nous savons très bien que lorsqu'un formulaire est très fourni en objets, on a très vite fait de déplacer ce que l'on voulait garder bien en place.

Oh bien sûr, il y a le verrouillage d'objets, mais le système de calques est vraiment tellement pratique, que dès qu'on l'a utilisé un tant soi peu, il devient difficile de s'en passer.

Ici, la vue deux est masquée. C'est sur elle que j'avais placé mes boutons.

Bien entendu, il est possible de passer des objets d'une vue à l'autre très simplement, en les sélectionnant, en sélectionnant ensuite une autre vue dans la fenêtre, et en cliquant sur "Déplacer vers vue".

Un nouvel objet vient s'ajouter à la liste déjà longue de ce que propose 4D: la ListBox.

Cette dernière permet de représenter extrêmement rapidement, puisque tout est en mémoire et non pas sur le disque, un tableau de variables. En quelque sorte, cette ListBox ressemble à ce que l'on appelle un formulaire inclus (une liste des livres empruntés par un client, à l'intérieur de la fiche dudit client par exemple), et ne travaille pas avec des champs directement, mais via des variables.

Très franchement, je sais que cet apport était très demandé par bien des développeurs, mais, alors que je vais assez loin dans 4D, je n'utilise pas de tableaux de variables. Jamais eu besoin. J'ai un peu honte et je ne sais pas mettre cela en pratique. C'est comme ça, désolé!

La gestion des listes, la révolution

Le plus gros défaut de 4D jusqu'à cette nouvelle version, c'est l'impossibilité que l'application avait de pouvoir intercepter les appuis sur des touches du clavier en mode "Liste". Rappelons qu'en gros, deux modes sont disponibles pour l'utilisateur: les modes Entrée (saisie) et Liste (sortie). Il était par exemple très difficile, jusqu'à il y a peu, de programmer une liste pour que, lorsqu'on tape les touches D U P, on arrive immédiatement sur Dupont.

Maintenant, non seulement c'est possible, sans n'avoir rien à programmer (il suffit d'avoir un champ indexé dans la liste, le premier à gauche sera celui sur lequel le programme se basera pour scroller dans la liste), mais il est possible, en un rien de temps, de créer dans l'en-tête de cette liste par exemple, une zone de recherche à la manière du Carnet d'adresses, qui ira regarder si votre séquence de lettres se trouve quelque part dans une ou plusieurs rubriques (c'est vous qui décidez dans lesquelles), et qui affichera de moins en moins d'enregistrements, au fur et à mesure de votre frappe.

Tout cela en temps réel!

Ici, le programme a trouvé "gare" dans les Cigares du Pharaon (titre) mais aussi dans Margaret Ryan (auteur)
(figure tirée de Cuk Médiathèque).

C'est vraiment un plus fondamental par rapport à la version 2003 et précédentes, que j'attendais depuis des années.

Notez aussi que les ascenseurs fonctionnent de manière tout à fait correcte: si l'on descend ce dernier tout en bas de la fenêtre, on arrive bien au dernier enregistrement de la liste, pas dans du vide. Il était temps dites!

Autre nouveauté importante: il est maintenant possible de saisir des données en mode liste! Et cela aussi bien dans les formulaires de ce type que dans les formulaires inclus. Beaucoup attendaient cette fonction.

Personnellement, je trouvais cela dangereux (qu'est-ce que je n'ai pas bousillé des choses comme ça dans FileMaker), mais ici, il est tout à fait possible de l'interdire très simplement.

En mode menu créé, pour permettre la saisie en mode liste, il suffit d'écrire la commande "MODIFIER SELECTION([Clients];1;vrai;*)" ou "VISUALISER SELECTION([Clients];1;vrai;*)" pour voir la liste être éditable directement sans passer par un formulaire de saisie (c'est le paramètre "vrai" qui le permet), de même, le paramètre "1" n'autorise que la sélection d'un élément à la fois, alors que si j'avais entré "2", plusieurs fiches, consécutives ou non, auraient pu être sélectionnées (touche Maj ou Commande).

Les interdictions et autorisations tant au niveau des sélections qu'au niveau des éditions en mode liste sont donc bien entendu totalement gérables par programmation.

Des formulaires modifiables par l'utilisateur

Très souvent, l'utilisateur de votre base aimerait juste changer l'apparence d'un objet, d'un champ, modifier un logo. Avec 4D 2004, tout cela devient possible puisque vous pouvez permettre à votre client de changer ce que vous voulez bien lui laisser toucher. Eh oui, du moment que vous laissez la possibilité à l'utilisateur de modifier un formulaire, ce n'est pas tout ou rien, comme chez certains. Vous pouvez décider quels droits vous donnez sur le plus petit objet.

On clique dans la liste des propriétés du formulaire cette petite case à cocher ...

...et l'on voit apparaître des petits cadenas pour chaque objet que l'on peut déverrouiller, donnant ainsi un accès à l'édition de l'utilisateur pour chacun d'entre eux dans des domaines bien précis.

Petit exemple en mode Utilisation.

L'utilisateur est devant son modèle:

Il clique sur le gros bouton que j'ai créé en mode Structure bien entendu intitulé "Modifier formulaire" Il voit l'éditeur de formulaire réduit à ce que j'ai bien voulu lui donner:

L'utilisateur décide de changer le fond de l'intitulé pour le noircir et écrire le texte en rouge (je lui en ai donné l'autorisation lors de la création du formulaire), il ferme la fenêtre de l'éditeur, et rouvre ou crée un enregistrement. Son formulaire est bien comme il l'a désiré.

Et bien voilà, c'est génial, c'est tout. Si vous associez une bibliothèque d'objets joliment constituée d'images, votre utilisateur pourra même changer par exemple le fond d'un formulaire, ou intégrer des fioritures, les vôtres mais pourquoi pas les siennes (changement de logo par exemple).

Et puisque j'en suis au confort de l'utilisateur, il faut savoir qu'une correction orthographique (Synapse) est intégrée aux champs de type texte, si le programmeur l'a autorisé en mode structure.


En mode Structure, j'attribue une correction orthographique au champ "Domaine(s)" et...

en mode Utilisation ou Menu créé, la correction est lancée dès que le champ perd le focus.

Notez que les services de Mac OSX ne sont pas disponibles (le correcteur est inopérant) et que la correction grammaticale n'est pas de la partie. Pour pallier ce problème, il est tout à fait possible d'utiliser les modules génériques (via le copier-coller) des programmes Antidote et ProLexis, qui eux corrigent l'orthographe d'usage et la grammaire.

Une ouverture tous azimuts

4D 2004 existe bien entendu en version réseau, et là, son efficacité est notoire. Mais le programme est très ouvert sur les autres standards de serveur de base de données, et à l'aide de plug-ins, il est possible de le connecter comme Front-end en mode natif sur à peu près n'importe quoi (MS SQL, MySQL, Oracle, Sybase, PostgreSQL, ADO, etc.). Auquel cas les performances d'échange sont très bonnes.

4D 2004 intègre désormais ODBC (API 3.0), qui permet de faire l'intermédiaire avec des bases SQL, Access, FileMaker par exemple, sans avoir à connaître les fondements de leur programmation, au prix malheureusement d'une certaine lenteur, lié à l'architecture ODBC.

Les Web Services dont j'ai abondamment parlé dans le test de la version 2003 ont été également améliorés (le standard Doc, une spécialité de Microsoft) a été intégré. Le support de XML évolue également avec l'introduction de SAX Parser, qui gère les arbres XML de manière beaucoup moins gourmande en ressources mémoire.

D'après les spécialistes, il semble vraiment que les progrès soient conséquents, mais de vous à nous, il s'agit d'un domaine que je n'utilise pas. Et je n'aime pas trop parler de choses que je n'ai pas testées personnellement.

Alors vous m'excuserez, mais je m'arrête là dans mes explications sur ces spécificités au niveau communication. Sachez simplement que tout semble possible, avec un peu de travail et le plug-in approprié.

Et pour l'utilisateur, elle apporte quoi cette version 2004?

J'ai écrit en introduction de ce chapitre que j'allais faire le tour des différents modes de 4D. J'ai commencé par le mode Structure, que je viens de décrire, il me faut passer maintenant aux modes Menus Créés puisque je laisse de côté le mode Utilisation. Remarquez que les avantages dont je vais parler maintenant sont valables de toute manière pour les deux modes en fait.

Et puis, je me rends compte que la plupart des avancées dont j'ai parlé en mode Structure, si elles sont un vrai bonheur pour le développeur, se reportent automatiquement sur l'utilisateur: le formulaire modifiable, c'est pour lui, la correction orthographique, pour lui, la saisie en mode liste, pour lui encore. Il me faut donc parler de deux ou trois spécificités à ces modes, apportées par la nouvelle version.

La vitesse

Tout d'abord, il faut avouer que 4D 2003 était beaucoup moins rapide sur Mac que sur PC. Eh oui, ça fait mal, mais c'est comme ça.

La version 2004 corrige ce problème en très grande partie: sur certaines opérations, le programme va cent fois plus vite (les calculs donnent des améliorations de vitesse dans un rapport de 6 à 100). J'ai vu de mes yeux une batterie de tests, montrant des opérations diverses, qui prenaient en moyennes 16711 millisecondes, avec un temps de remplissage du cache de 60 secondes en version 2003. La même batterie de tests ne prend plus que 2594 millisecondes en moyenne, avec 11 secondes de remplissage de cache. Le PC qui travaillait en parallèle faisait mieux encore, mais il est vrai qu'il ne s'agissait pas vraiment de machines comparables.

Les sauvegardes automatiques

4D Backup a été en grande partie intégré à 4D, ce qui fait que le programme peut planter s'il en a envie (je vous ferai remarquer que je l'utilise assez intensément depuis un mois, et que cela ne m'est jamais arrivé), il n'est plus question de passer des heures à retrouver ses données. Le programme va chercher immédiatement le dernier backup, qui peut être fait pratiquement en temps réel. Sur un exemple montré par les démonstrateurs de 4D, le résultat était assez impressionnant. Lors d'une création de plusieurs milliers de fiches par boucle, une instruction secrète fait planter la base, et détruit en partie le fichier.

On relance l'application et tous les enregistrements moins deux fiches sont conservées retrouvés grâce à l'historique et au dernier fichier de backup. C'est bien rassurant tout ça.

Attention néanmoins, certaines fonctions de 4D Backup (qui n'est plus compatible avec la version 2004) sont absentes de ce premier module de sauvegarde intégré. Par exemple, il faudra que l'utilisateur contrôle lui-même si l'espace disque est suffisant, alors que 4D Backup savait segmenter les fichiers automatiquement.

Cela dit, la puissance de ces backups automatiques, fournis en standard, est assez impressionante, voyez plutôt.

La sauvegarde, et ses préférences...

 

Et ce n'est pas tout!

Comment voulez-vous être exhaustif lorsqu'une version apporte plus de cent nouveautés marquantes à la précédente? Je n'ai pas parlé de la possibilité de mettre à jour la version 4D Client depuis un serveur (le programme se quitte tout seul et se relance automatiquement), de l'intégration de 4D Custumizer dans les préférences (le tout devenant programmable), des listes hiérarchiques qui deviennent bien plus simples à mettre en œuvre, de la gestion mes mots de passe beaucoup plus puissante et pratique, du fait que la molette de la souris devient enfin utilisable partout, des "boutons radio" qu'il n'est même plus besoin de programmer pour leur fonctionnement de base, puisqu'il suffit de les grouper, et bien d'autres choses encore.

J'ajoute à cela que le langage est désormais composé de plus de 900 commandes (en français, je précise qu'il n'a aucun risque à programmer dans cette langue, puisque le code est relu sans problème par la version anglaise, et que tout de même, 4D est une entreprise française), est très clairement expliqué par une aide électronique mais aussi par des fichiers PDF d'envergure, bien plus structurés que ce que la concurrence (et en particulier FileMaker à ce niveau) nous propose, et que le service Ajar (distributeur exclusif en Suisse de toute la gamme 4D et de la plupart des programmes qui tournent autour) est toujours prêt à vous soutenir en cas de besoin.

Lors de la présentation du produit, trois grandes entreprises suisses sont venues montrer leurs bases, souvent énormes et fort complexes, réalisées sous 4D. Toutes étaient enchantées de travailler avec cette gamme de produits, et attendaient de passer sur la version 2004 avec enthousiasme.

Le prix à payer

Le prix à payer pour toutes ces améliorations, c'est l'abandon de notre ancien OS. Adieu MacOS 9. Apple l'a abandonné, 4D a bien le droit de le faire deux ans après. Il nous faut absolument un MacOS 10.2 ou supérieur pour faire tourner cette base de données. Sous Windows, seuls XP et la mouture 2000 sont supportés.

Au niveau prix à proprement parler, la liste de prix pour la Suisse est ici. 4D est tellement complexe et se trouve être une gamme tellement riche que je ne peux tout donner ici. Sachez simplement que la version standard revient à 625 francs suisses, et que l'environnement de développement complet (4D Developer Edition, tellement riche), qui est doté de nombreux plug-ins comme 4DWrite (traitement de texte intégré pour l'utilisateur), 4D Draw et 4D View revient à 1700 francs. La description de la gamme est à consulter ici, et le comparatif entre la version Standard et Devloper est disponible .

Pour la France, la liste de prix est ici.

Les versions Éducation sont bien moins chères, et peuvent même être... gratuites pour un établissement scolaire.

En conclusion

J'écrivais dans l'humeur de présentation du produit (j'adoooore me citer!): "...Et je peux vous dire qu'elle est belle, la chose! Jamais, et cela depuis très longtemps, je n'ai été autant excité par l'arrivée d'une mise à jour. 4D était grand, jusqu'à ce jour: il est tout simplement devenu grandiose."

C'était quelques jours après avoir reçu ma mouture. Là, j'ai travaillé avec le logiciel, j'ai suivi une journée de présentation, et vous voulez que je vous dise? je ne retire pas un mot à cette citation certes enthousiaste, mais que 4D 2004 mérite sur tous les points.

Oui, je suis convaincu, et comment.

Pour ceux qui ne me croient pas (et pour les autres), je signale que des versions d'évaluation sont disponibles soit sur le site de 4D, soit sur le site d'Ajar.

Qu'on se le dise!

 

 

 

 

17 commentaires
1)
pilote.ka
, le 11.11.2004 à 05:29

Bravo pour ton enthousiasme François. Ce programme a l’air super.
Même si je n’ai pas besoin d’une base de donnée.
Mais si un jour ça arrive j’aimrais que les 900 mots de programmation soient bien expliué dans un manuel, Parce que Bonjour les prises de têtes!!!
Bravo encore.

2)
François Cuneo
, le 11.11.2004 à 07:10

Merci Pilote.ka.

Et oui, les PDF qui totalisent des milliers de pages (une prise en mains très bien faite est de la partie) et sont magnifiquement structurés.

En plus, il y a une aide en ligne.

Non, niveau documentation, il n’y a pas mieux. Des bouquins peut-être, mais la dernière version où ils étaient livrés, pesait plus de deux kilos.

Donc là, avec les PDF, tu as tout, mais à l’écran. Libre à toi d’imprimer si tu veux.

3)
Inconnu
, le 11.11.2004 à 14:49

(Hop, une petite louche d’huile sur le feu…)
Pour ceux qui ont des besoins moins compliqués, sachez que vous pouvez aussi utiliser Filemaker, ce qui vous évite l’achat de tubes d’aspirine…

(Une seconde…)
Je suis surpris de voir François s’enthousiasmer pour des options que FM propose depuis des lustres… (le coup de l’ordre de saisie par exemple).

Maintenant, attendre quelques minutes pour les réactions horifiées de François…
Mathieu, reviens !!!!!!!!!

4)
ToTheEnd
, le 11.11.2004 à 15:58

jean-christophe courte: avant de commencer, je vais essayer d’apparaitre comme quelqu’un de neutre en te disant que j’ai 2 bons copains qui sont programmeurs à plein temps; l’un sous FM et l’autre sous 4D.

A chaque fois que j’entends des compraisons entre FM et 4D, j’ai les cheveux qui tombent (ça doit être pour ça qu’il n’en reste plus des masses)… J’ai toujours l’impression qu’on essaie de comparer, par exemple, SAP à Ciel… mis à part qu’il y a 1 million de CHF d’écart entre les deux, ils permettent de faire la même chose: gérer une boîte de A à Z. Maintenant, c’est dans les fonctionalités et les options que l’on voit la nécessité ou non de choisir l’un ou l’autre.

Je suis sûr que tu peux, avec de l’acharnement et beaucoup de temps, utiliser du Basic pour faire le même programme qui a été fait en C++… Seulement en fonction de la difficulté du projet… Tu auras plus ou moins de succès avec l’un ou l’autre…

T (qui a voulu mettre ses 2 centimes dans l’histoire)

5)
François Cuneo
, le 11.11.2004 à 16:08

Jean-Christophe, je résisterai à cette provocation là…:-)

Regarde…. je reste zen…. pffuuuuuuuuu. On expire à fond…. lennntement…….

Bon cela dit, 4D le fait aussi depuis des lustres, le coup de l’ordre de saisie, c’est les badges qui sont une nouvelle manière de montrer ces choses dont je parlais.

6)
Inconnu
, le 11.11.2004 à 21:15

ToTheEnd, c’est juste un jeu entre François et moi… Je m’en fous complètement, on prend l’outil adapté (4D, File ou un boulier) au projet, un point c’est tout…!

Mais François aime des trucs pas possibles et compliqués… Note, ce qui me rassure, c’est qu’il revient à des outils plus basics ces derniers temps… iCal par exemple.
Bon, François, tu annonces au monde entier que tu bascules sur FileMaker dès demain…?!

hahahahaha ! Je vous laisse, il y a Mr Bean à la TV

7)
flup
, le 11.11.2004 à 22:57

Si j’ai bien lu (quelque part sur le net), la version standard est limitée à 200 méthodes. Si c’est bien le cas, ça oblige pas mal de monde à payer beaucoup + en passant en version développeur, ou rester en version 2003.

8)
François Cuneo
, le 12.11.2004 à 06:34

Si j’ai bien lu (quelque part sur le net), la version standard est limitée à 200 méthodes. Si c’est bien le cas, ça oblige pas mal de monde à payer beaucoup + en passant en version développeur, ou rester en version 2003.

Flup, non non non et non:-)

La première semaine de sa parution, 4D a en effet eu l’idée de faire cela avec une version de 4D standard qui aurait coûté moins de cent Euros. Mais les utilisateurs ont hurlé, et ils ont eu raison.

Immédiatement, 4D est revenu en arrière.

4D Standard Edition n’est pas limité à 200 méthodes!!!

Je l’avais déjà écrit d’ailleurs lors de la présentation du programme, en commentaires. Qu’on se le dise!

Mais ton intervention me permet de clarifier à nouveau la chose, ce qui et très bien, merci donc.

9)
FT'e
, le 12.11.2004 à 12:35

Eh bé, ça c’est de l’entousiasme !

Dans mon job, j’ai surtout affaire à des plus ou moins grosses bases de données attaquées par une application web. En général en Java, parfois avec WebObjects. J’adore ça. Mais évidemment, ça n’a pas grand chose à voir avec les bases de données type 4D, FileMaker Pro ou Access.

Hors ces grosses bases, je me suis bouffé de l’Access. Autant dire que j’ai eu des maux d’estomac, de la diarrée et de la dépression. Pas seulement à cause d’Access il est vrai, Windows obligatoire n’a pas aidé. Et bien sûr (?) FileMaker Pro. Que j’apprécie beaucoup. Jusqu’à ce que je me cogne dans ses limitations, et là, les maux de tête arrivent.

Bon, tout ça pour dire que tu m’as convaincu d’essayer une bonne fois ce foutu 4D. Depuis le temps qu’on me bassine avec cette chose, comme quoi tellemment elle est si trop bonne grave velu patin couffin…

Bon, je télécharge… :)

10)
paulgasser
, le 12.11.2004 à 14:16

Je suis d’accord sur le fait que 4D est un soft bien pour développer une solution clien-serveur rapide.
Mais 4D, dans les versions que je connais à savoir 4D 6.5, 4D 6.7, 4D 6.8, souffre quand même de problème graves.

1. lenteur de l’exportation. Un dump de database prend des heures avec 4D, des secondes avec mysql.

2. Une interface de back-up déplorable

3. des plug-ins très chers

En fait il faudrait comparer 4D avec des solutions mysql ou postgres, avec apache, php, xml, et xslt…
ou avec java (JBoss ok sur mac)
Ce serait bien plus drôle

11)
maurice
, le 13.11.2004 à 11:56

Comparer 4D et MySQL n’a pas plus de sens que de comparer FileMaker et 4D
Exemples : les transactions dans My SQL ?
Ou est l’interface graphique Window + Mac OS de My SQL ?
Pour en faire un serveur web il faudra lui adjoindre Apache, etc …
Donc comparaison très inappropriée.

Quant-a dire que 4D plante; je l’utilise depuis 15 ans avec 50 clients connectés au serveur, des centaines de millier d’enregistrements, pour gérer le commerce et la production de plusieurs entreprises.

Il est certe plus facile de remettre en cause le produit que sa propre programation ou sa propre analyse …

Je reconnais que l’approche de 4D est assez différente d’autres produits et de ce fait nécessite un investissemnt, mais qui de mon point de vue est payant.

amicalement

maurice

12)
khertan
, le 13.11.2004 à 19:22

4D 2004 et completement buggés …

exemple en compilé aucun test de comparaison sur entier ne fonctionne sur mac, et enormement d’autre bugs …

peut etre qu’en version 2004.6 celle ci sera un peu plus stable, dommage, cette version apporte pas mal de nouveautés intéréssante pour une fois.

Un developpeur 4D, qui regrette d’etre passé en 2003 et qui a tenté la 2004 pendant 15 jours …

13)
Eric Schuepbach
, le 13.11.2004 à 19:36

J’ai également participé à la journée d’information au WTC à Lausanne.

Ils ont failli me convaincre d’investir beaucoup de temps dans l’apprentissage et pas mal d’argent pour l’acquisition de 4D.

Jusqu’à ce que le maître de conférence évoque la prochaine évolution majeure de 4D la fameuse version ‘sans limites’. Et là, on nous annonce que cette prochaine mouture intégrera un nouveau langage de programmation orienté objet! Tout en précisant que la nouvelle version restera compatible vers le bas avec l’actuel langage de programmation.

On se retrouvera dans le même cas de figure qu’avec le passage de OMNIS 7 à OMNIS STUDIO. On nous dira que l’on peut continuer à utiliser la programmation ‘traditionnelle’, mais que si on veut tirer pleinement profit de la nouvelle version, il faut tout réécrire en programmation orienté objet.

Bref, je suis déstabilisé. Maîtriser un outil de développement comme 4D c’est un investissement très important en temps. Alors savoir que dans deux ans, une partie importante du savoir acquis sera obsolète, ça donne à réfléchir.

Je dois impérativement remplacer à moyen terme mon application sous Omnis 3 Plus qui va bientôt fêter ses vingt ans de bons et loyaux services. Je suis arrivé à la conclusion que 4D est l’outil adéquat, reste plus qu’à déterminer quelle version de 4D…

14)
fredericb
, le 13.11.2004 à 19:56

Aprés l’excellent papier du 4D, je suis allé faire un tour sur leur site pour télécharger la version démo.

Bref, ils se foutent un peu de la gueule du monde. Toutes les extensions ne sont actives que 30 minutes. Juste le temps de lancer 4D, menu Nouveau et créer un ou deux tables… no comments.

Puis je suis retourner sur leur site afin de visualiser la liste de prix. Bref, je ne m’attarde pas trop sur leur politique ou tout est payant en option. J’aimerai essayer 4d avec mySQL, aller, y faut d’abord passer à la caisse, essayer une autre extension, à la caisse et ensuite ou peut regarder.

C’est peut-être un super produit mais EXTREMMEMENT mal vendu.

Sur ce, je resterai en PHP/MySQL pour mon application ! Au moins, je ne vais pas dépenser pleins de ronds.

15)
François Cuneo
, le 14.11.2004 à 13:51

exemple en compilé aucun test de comparaison sur entier ne fonctionne sur mac, et enormement d’autre bugs …

Je crois savoir que ce bug est corrigé depuis très longtemps. Quasiment dès le départ.

Encore une fois, j’utilise ce produit tous les jours, et si ça c’est un produit bogué, que sont les autres? Je ne dis pas qu’il n’en a pas, aucun programme, encore plus dans ce domaine et avec cette puissance n’est exempt de bugs. Mais dire qu’il s’agit d’une version beta comme l’a écrit je ne sais plus qui, c’est un peu énorme je trouve.

16)
jibu
, le 17.11.2004 à 21:15

Pour ma part, j’ai des difficulté à passer ma base 4d 2003 en 2004.
Certains formulaires apparaissent bugué sans raison apparente.
Des fonctions de base que j’utilisait ne fonctionne plus du tout dans 2004. J’ai pas encore tout compris pourquoi tout foire comme ça, surtout que je n’ai pas trouvé dans les aides un guide pour updater une base 2003.

Je suis assez déçu de mon update, du coup je reste en 2003… pour l’instant.

17)
Maurice Inzirillo
, le 18.11.2004 à 15:20

Bref, ils se foutent un peu de la gueule du monde. Toutes les extensions ne sont actives que 30 minutes. Juste le temps de lancer 4D, menu Nouveau et créer un ou deux tables… no comments.

Effectivement tous les plugins sont limités à 30 minutes, mais en contre partie sont totalement fonctionnels.

Cette contrainte de temps est valide par session. Ce qui veut dire qu’il vous suffit de quitter 4D et de le relancer pour disposer d’un nouveau crédit de temps de 30 minutes, etc…

4D Standard Edition, lui, en mode démo n’est pas limité en temps mais est limité à la création de 50 enregistrements. Néanmoins, il est possible d’ouvrir une base existante contenant un nombre illimité d’enregistrements. Dans ce dernier cas, vous ne pourrez pas ajouter de nouveaux enregistrements.

Maurice Inzirillo

——————————————————–
4ème Dimension 2004 : http://www.ajar.ch/4d2004
4D Business Kit. Build now. Sell today. http://www.ajar.ch/4DBK
Multimedia et 4D : http://www.ajar.ch/Multimedia/
Hébergement 4D sur Internet : http://www.4dnetcenter.com
iChat : maurice_inzirillo@mac.com
——————————————————–