Profitez des offres Memoirevive.ch!
4D 6.8, tou­jours aussi fort, enfin car­bo­nisé (2ème par­tie)

Vous lisez ici la deuxième par­tie du test consa­cré à 4D 6.8. Vous pou­vez lire la pre­mière par­tie ici.

Un lan­gage de pro­gram­ma­tion im­pres­sion­nant

Pro­gram­mer avec les 500 com­mandes de 4D est un réel plai­sir. La fe­nêtre de de l’édi­teur de mé­thode, où l’on tape son code, est par­fai­te­ment struc­tu­rée, avec in­den­ta­tion au­to­ma­tique du texte te­nant compte des ni­veaux d’im­bri­ca­tion de vos com­mandes.

C’est propre, et la ver­sion 6.8 ajoute en­core un confort ap­pré­ciable de par son menu contex­tuel qui liste les com­mandes (clas­sées par thème), les champs ou les mé­thodes dis­po­nibles.

Vous crée­rez des mé­thodes (ap­pe­lées dans d’autres pro­grammes pro­cé­dures) qui se­ront as­so­ciées à un bou­ton, un champ, un for­mu­laire ou di­rec­te­ment à la base.

Ces mé­thodes pour­ront éga­le­ment être liées à un évé­ne­ment comme (pour ne prendre que quelques exemples) un clic sur un objet, une ou­ver­ture ou une fer­me­ture de for­mu­laire, un appui sur une touche du cla­vier et j’en passe. Une mé­thode peut en ap­pe­ler une autre, et peut être réuti­li­sée à dif­fé­rents en­droits.

Les dif­fé­rents évé­ne­ments liés à un for­mu­laire

Une même mé­thode sera par exemple lan­cée aussi bien par un bou­ton que par une com­mande de menu. No­tons à ce ni­veau que vous pour­rez créer au­tant de barres de menus per­son­na­li­sées que vous le dé­si­rez, et que ces barres pour­ront être as­so­ciées à dif­fé­rents for­mu­laires.

Tout est pos­sible sous 4D, et com­prendre son code est tel­le­ment plus simple que re­lire un script dans Fi­le­Ma­ker…

Un ex­plo­ra­teur et un dé­bo­gueur in­dis­pen­sables

Comme nous l'avons vu, le dé­ve­lop­pe­ment d’une base de don­nées, im­pose de nom­breuses ma­ni­pu­la­tions de tous les ob­jets qui la com­posent. La ver­sion 5 de 4D im­po­sait de pas­ser par l’in­ter­mé­diaire de nom­breuses com­mandes de menus. La ver­sion 6 a amené une nou­velle fe­nêtre ap­pe­lée "Ex­plo­ra­teur", qui re­groupe tous les élé­ments com­po­sant la base, comme tou­jours clas­sés sous forme d’on­glets. Ainsi, re­trou­ver un fi­chier, un for­mu­laire, une mé­thode, une com­mande de pro­gram­ma­tion, une va­riable ou une constante, ou en­core une énu­mé­ra­tion se fait d’un clic de sou­ris.

La fe­nêtre af­fiche à droite une pré­vi­sua­li­sa­tion du contenu de l’ob­jet sé­lec­tionné ou un com­men­taire qui pourra y être ajouté pour plus de clarté (ah, les com­men­taires, ce qu'on est content de les re­trou­ver lorsque l'on re­tourne dans notre struc­ture un an après!). Un rap­pel de la syn­taxe de chaque com­mande est éga­le­ment à por­tée de main au même en­droit, de même que la ré­fé­rence à la page de la do­cu­men­ta­tion où se trouve une ex­pli­ca­tion plus com­plète.


A droite l'aperçu…

…ou les com­men­taires sur chaque élé­ment…

…ou en­core un rap­pel de la syn­taxe des com­mandes du pro­gramme

Lorsque vous tes­tez votre œuvre, il se peut (il est même cer­tain) que vous dé­cou­vri­rez un cer­tain nombre de dys­fonc­tion­ne­ments qui se­ront im­pu­tables à quelques er­reurs de pro­gram­ma­tion. En cas d'er­reur de syn­taxe, 4D vous les si­gna­lera sans pro­blème. En cas d'er­reur de lo­gique, il suf­fit de re­lan­cer la mé­thode en de­man­dant de voir com­ment elle se com­porte à l’aide du dé­bo­gueur en pas­sant en mode "Trace". Ce der­nier est tout sim­ple­ment épous­tou­flant: il s’agit d’une fe­nêtre qui per­met de voir dé­fi­ler ligne par ligne, à l’aide de bou­tons de type " ma­gné­to­scope " votre pro­gramme pen­dant qu’il se dé­roule. Voir le contenu d’une va­riable d’un simple clic sur son nom est un confort dont on ne sau­rait plus se pas­ser.

L'ex­plo­ra­teur d'exé­cu­tion

L'ex­plo­ra­teur d'exé­cu­tion per­met de sa­voir com­ment se com­porte votre base (même com­pi­lée) à tout mo­ment, no­tam­ment au ni­veau de l'oc­cu­pa­tion mé­moire, de la va­leur de nos va­riables, du nombre d'en­re­gis­tre­ments, d'en­re­gis­tre­ments sé­lec­tion­nés dans chaque table. Cet ex­plo­ra­teur, com­plé­men­taire au do­bo­gueur, est une aide très ef­fi­cace lors des tests sur votre nou­velle créa­tion.

Les amé­lio­ra­tions ré­centes

La plu­part des nou­veau­tés au ni­veau de com­mandes du lan­gage datent de la ver­sion 6.7.

Parmi celles-ci, no­tons l'ar­ri­vée tant at­ten­due (en tous les cas par moi-même per­son­nel­le­ment) des com­mandes Im­por­ter don­nées et Ex­por­ter don­nées. Ces der­nières per­mettent d'af­fi­cher une nou­velle zone de dia­logue in­croya­ble­ment com­plète (le top en la ma­tière) pour gui­der l'im­por­ta­tion ou l'ex­por­ta­tion dans et hors 4D d'un fi­chier. Au­pa­ra­vant, il s'agis­sait là d'une des seules fonc­tions qui im­po­sait soit de pas­ser en mode Uti­li­sa­tion, soit d'im­po­ser un ordre de sai­sie. Je vais enfin pou­voir pro­gram­mer un im­port et un ex­port pro­fes­sion­nels, ouf!


Une zone d'ex­port pro­gram­mée

En ver­sion 6, il était éga­le­ment im­pos­sible de cher­cher une chaîne quel­conque (un va­riable glo­bale par exemple) dans toute la base sans pas­ser par un pro­gramme ex­terne ap­pelé 4D In­si­der. Si ce der­nier est tou­jours au ca­ta­logue et rend en­core de fiers ser­vices, no­tam­ment dans la com­pré­hen­sion de la lo­gique de la base ainsi que de ses ré­fé­rences croi­sées, cette fonc­tion de re­cherche glo­bale sur la base est main­te­nant in­té­grée au 4D stan­dard, ce qui est un im­mense pro­grès.


La zone de re­cherche…

…et son ré­sul­tat dans toute la base

In­ter­net, des chan­ge­ments

4D Ser­ver per­met de gérer des bases multi-postes, et cela sans pra­ti­que­ment chan­ger une ligne de code. La ver­sion 6.8 ne gère plus que le pro­to­cole TCP/IP, livré en stan­dard sur toutes les ma­chines. À noter que mes bases ont été pas­sées sous la nou­velle ver­sion sans aucun pro­blème et pra­ti­que­ment sans que je m'en rende comtpe. Par contre, il est im­pos­sible d'ou­vrir une base mise à jour en 6.8 dans une ver­sion pré­cé­dente, ce qui est bien com­pré­hen­sible.

Au ni­veau In­ter­net, la ver­sion de 4D 6.7 avait in­tro­duit Web As­sis­tant, qui per­met­tait de pu­blier en un tour de main une base sur le Web. Ce com­po­sant, étran­ge­ment, n'est plus dis­po­nible dans la nou­velle ver­sion 6.8. Ou plu­tôt, il l'est tou­jours pour les dé­ve­lop­peurs qui l'avaient in­té­gré à leur base, mais 4D nous aver­tit qu'il ne sera plus dé­ve­loppé à l'ave­nir.

Il sem­ble­rait que ce com­po­sant (dé­fi­ni­tion de l'édi­teur :Sché­ma­ti­que­ment, un com­po­sant re­groupe un en­semble d’ob­jets struc­tu­rels 4D (tables, mé­thodes, for­mu­laires, barres de menus...) re­pré­sen­tant une ou plu­sieurs fonc­tion­na­li­tés sup­plé­men­taires. Par exemple, vous pou­vez dé­ve­lop­per à l’aide de 4D un com­po­sant de cour­rier élec­tro­nique. Un com­po­sant est au­to­nome, il doit pou­voir être ins­tallé dans tout fi­chier de struc­ture 4D.) n'ait pas ré­pondu aux at­tentes: il n'al­lait soit pas assez loin pour les pro­fes­sion­nels, et se trou­vait être trop com­pli­qué pour les dé­bu­tants. 4D bien évi­dem­ment conti­nue à dé­ve­lop­per son ser­veur Web tou­jours plus puis­sant. Mais il fau­dra trou­ver un pro­vi­der ca­pable de vous ac­cueillir, ce qui pourra vous coû­ter quelques cen­taines de francs.

C'est la rai­son pour la­quelle les gens d' AJAR, im­por­ta­teur ex­clu­sif des pro­duits 4D, pro­posent un en­semble de ser­vices qui me semble in­té­res­sant.Il s'agit de 4D Net Cen­ter. Pour une somme tout à fait conve­nable qui dé­pend de la bande pas­sante dé­si­rée , la so­ciété met à dis­po­si­tion un ser­vice com­plet qui com­prend un Mac G4, 4D Webs­tar, 4D Web. Le tout sera agré­menté de Tim­buktu qui vous per­met­tra de­puis n'im­porte quel en­droit de pi­lo­ter l'en­semble comme si vous étiez chez vous. À noter qu'Ajar est tel­le­ment dy­na­mique que de nom­breux uti­li­sa­teurs s'adressent à cet im­por­ta­teur, même hors de Suisse. C'est beau des gens qui aiment leur pro­duit…

Ça, c'est pour le côté pro­fes­sion­nel de la chose. Mais pour le grand pu­blic, 4D a dé­ve­loppé 4D bu­si­ness Kit, qui per­met selon l'édi­teur de mettre en ligne ses ca­ta­logues sans au­cune dif­fi­culté. Je tes­te­rai ce pro­duit ul­té­rieu­re­ment. 4D est en trac­ta­tions avec de nom­breux hé­ber­geurs pour per­mettre une mise à dis­po­si­tion peu oné­reuse de cette tech­no­lo­gie aux uti­li­sa­teurs que nous sommes.

La gamme 4D

Comme nous l’avons vu, 4D est dédié avant tout aux uti­li­sa­teurs dé­si­reux de créer des pro­jets sé­rieux.

Son prix est de 625 francs en ver­sion mono-poste. Par la force des choses, les uti­li­sa­teurs de ce pro­gramme de­vien­dront des pro­gram­meurs (et ce presque sans s'en rendre compte). Et 4D, s’il est livré avec un Run­Time illi­mité qui per­met­tra à vos fu­turs clients d’uti­li­ser la base sans de­voir payer de li­cence à 4D, ne pren­dra toute sa va­leur qu’avec le bundle 4D De­ve­lo­per Edi­tion .

Ce der­nier com­prend, en plus de 4D v6.8 lui même, 4D Com­pi­ler et 4D In­si­der, 4D Write, 4D Draw, 4D Ba­ckup et 4D Open.

4D Com­pi­ler comme son nom l’in­dique, va com­pi­ler votre struc­ture, ce qui la tra­duira en code ma­chine, bien plus ra­pide. Re­vers de la mé­daille, pour uti­li­ser une base com­pi­lée, il fau­dra ac­qué­rir un Run­time clas­sic au prix de 205 francs par li­cence 4D Ba­ckup inclu, ou alors pos­sé­der 4D lui-même. Cette somme devra donc être ajou­tée au prix de votre base si vous la ven­dez à des clients. Autre pos­si­bi­lité, in­té­grer le Run­time di­rec­te­ment dans le fi­chier de struc­ture à l’aide de 4D En­gine, coû­tant 1950 francs et per­met­tant de dif­fu­ser vos bases de ma­nière illi­mi­tée.

Un autre avan­tage de 4D Com­pi­ler et non des moindres, consiste dans le fait qu’il se charge éga­le­ment de vé­ri­fier l’in­té­grité de votre code. En effet, si l’in­ter­pré­teur de 4D est souple, Com­pi­ler lui ne laisse rien pas­ser, sauf bien sûr les er­reurs de lo­gique que vous au­riez éven­tuel­le­ment in­clues dans vos mé­thodes. Cette vé­ri­fi­ca­tion de­vrait ex­clure bien des pro­blèmes dans le fonc­tion­ne­ment de la base.

4D In­si­der, quant à lui, vous per­met­tra de na­vi­guer dans toutes vos mé­thodes en re­trou­vant par exemple leur ordre d’ap­pel.

4D Write per­met­tra de faire des mai­lings ou de gérer votre cour­rier di­rec­te­ment dans la base. Cette nou­velle ver­sion 6.5 ap­porte la ges­tion des styles, des en­ca­dre­ment, et hisse ce mo­dule au rang de trai­te­ment de texte à part en­tière. No­tons que 4D Write est en­tiè­re­ment pro­gram­mable, comme tout ce qui nous est fourni dans la gamme 4D.

En ce qui concerne les prix, 4D est une gamme tel­le­ment com­plète, (dou­blée en ver­sion "4D Ser­ver" qui va gérer vos bases en multi-uti­li­sa­teurs sans que vous n'ayez à chan­ger votre code) que nous ne pou­vons que vous en­cou­ra­ger à vi­si­ter le site d'AJAR. Nous n'avons pas le cou­rage de re­prendre la liste de prix ici. Si vous êtes étu­diant ou en­sei­gnant, n'hé­si­tez pas à vous ren­sei­gner sur le prix d'une li­cence édu­ca­tion de 4D stan­dard: vous aller tom­ber par terre: eh oui, elle est gra­tuite!

En conclu­sion

4D 6.8, avec toutes ses nou­veau­tés et amé­lio­ra­tions, pour au­tant qu’on y consacre du temps, est la so­lu­tion la plus sé­dui­sante pour pro­gram­mer une ap­pli­ca­tion en re­la­tion avec une base de don­nées de ma­nière trans­pa­rente pour d'autres uti­li­sa­teurs. Ses ou­tils de créa­tion d’in­ter­face, son ou­ver­ture in­té­grée au Web sont tout à fait im­pres­sion­nants.

4D est un pro­duit ma­gni­fique. Et que tous les uti­li­sa­teurs d'une ver­sion pré­cé­dente n'hé­sitent pas un quart de se­conde: la ver­sion 6.8 ne pourra que les en­chan­ter.

2 com­men­taires
1)
Dac Thuan Nguyen
, le 11.06.2002 à 00:00

D’abord, c’est un très bon ar­ticle pour pro­mou­voir 4D. Ce­pen­dant, il est bien dom­mage que 4D n’est pas plus "vi­sible" que les autres pro­duits que VB de Mi­cro­soft ou même Fi­le­ma­ker … La ques­tion sera plu­tôt com­ment faire pour rendre plus vi­sible les pro­duits de 4D ?
À mon bu­reau, nous avons dé­ve­loppé plu­sieurs ap­pli­ca­tions avec 4D de­puis les 1ère ver­sions de 4D sur Mac. De­puis 2000, nous les avons conver­tis sur 4D PC. Mais, les "gou­rous" du ser­vice de la tech­no­lo­gie de ma boîte ne re­con­naissent ja­mais les bons côtés de 4D. C’est une guerre per­due d’avance pour nous ! Même dé­cou­ra­geant de nous battre pour conser­ver 4D car tout ce que nous ob­te­nons est le main­tien des ap­pli­ca­tions déjà dé­ve­lop­pées et aucun nou­veau dé­ve­lop­pe­ment ! Je me suis per­mis de tirer quelques conclu­sions du dé­clin de 4D à mon bu­reau :
– peu de vi­si­bi­lité de 4D sur le mar­ché a fait peur à nos dé­ci­deurs de pour­suivre le dé­ve­lop­pe­ment avec 4D. Si vous me par­lez du rap­port de com­pa­rai­son de "Aber­deen", Fi­le­ma­ker en a fait aussi un par la même com­pa­gnie ! Allez voir son site ! Je com­mence à dou­ter que la Cie qui fait ce genre de rap­port n’a fait que des "co­pier/col­ler" pour "vendre" ses ana­lyses !
– En plus, les "gou­rous" te­cho­no­lo­giques chez nous ne jurent que par VB et les pro­duits re­liés ainsi que le ju­ge­ment de Gart­ner Groupe.
– peu d’ex­per­tise de 4D dans notre ré­gion. Ce qui tra­duit par l’in­quié­tude de ne pas trou­ver les re­lèves com­pé­tents.
Par consé­quent, nos bu­reaux sont en­va­his main­te­nant par VB pour les pros et "Fi­le­ma­ker" pour les uti­li­sa­teurs non in­for­ma­ti­ciens et 4D com­mence à entre dans l’ou­bliette.
Cer­taines per­sonnes de chez nous croient en­core à 4D, mais nous sommes en­va­his par VB et par Fi­le­ma­ker. À un mo­ment donné, nous se­rons noyés com­plè­te­ment et nous n’au­rons pas de choix de suivre le vent. À moins que 4D peuvent tour­ner de bord pour être plus vi­sible sur le mar­ché, nous ten­te­rons alors de se­couer nos dé­ci­deurs !
Bravo quand même pour l’ar­ticle !

2)
Filou
, le 23.12.2002 à 09:23

Bon­jour.
J’en­vi­sage l’achat d’un Ibook à titre per­son­nel mais au bu­reau, je DOIS tra­vailler sur PC (pas de chance…).
Je sou­hai­te­rais dé­ve­lop­per une appli uti­li­sable à la fois à mon tra­vail (donc sur PC) et à mon do­mi­cile (donc sur MAC).
4D se­rait-il la so­lu­tion ?
Peut-on ‘ins­tan­ta­né­ment’ re­prendre les don­nées sous PC ou sur Mac (par ex via un CD RW) sans de­voir re­gé­né­rer, mi­grer ou ??? la da­ta­base ?
Ceci dit, merci pour vos ar­ticles. J’ai beau­coup ap­pré­cié.