Refonte d'une application 4D : choix techniques

Salut à tous

Petit retour éclair sur ce forum après quelques années d’absence, afin d’avoir un grand nombre d’avis de personnes compétentes sur mon problème professionnel actuel

Je travaille actuellement dans une société d’assurances dont l’activité entière est basée sur un logiciel développé en 4D (une vieille version en plus : la 6.7.4), ~5 personnes bossent dessus en continu, une interface web existe également pour que les clients puissent interagir sur leurs données

Malheureusement, cette base de données est très mal structurée (et 4D interdit toute évolution de structure …) et nous sommes arrivés à faire passer l’idée à la direction qu’il fallait tout reprendre à 0 afin de résoudre une fois pour toutes

Le besoin est assez important, il y aura au bas mots 5 à 10 grosses tables avec beaucoup d’interactions (actuellement la BDD doit avoir ~80 tables), et des calculs et statistiques très complexes

Nous nous posons maintenant la question cruciale du choix de la solution technique, et c’est pour cette question que je me tourne vers vous

De par nos gouts et notre faible expérience (nous sommes 2 jeunes développeurs sur ce projet) nous avons songé et proposé PHP couplé avec MySQL ou postgreSQL
Nous devons développer un module (essentiellement web) dans ce langage afin de l’éprouver, et je suis en train de me renseigner sur les frameworks et aides au développement qui nous permettraient de développer assez vite sans pour autant négliger la maitrise du projet (qui est ce qui nous manque le plus actuellement), je suis en train de regarder Zend et PEAR

Bien sûr, pour le choix final, nous sommes ouverts et avons évoqué des solutions diverses et variées (windev, java, python …)

Parmi les choses que nous craignons le plus, on peut citer la migration des données (4D est plutôt autiste, n’ayant pas très envie de passer par ODBC, on craint de devoir passer par des fichiers texte …), les performances (actuellement nous avons des temps de réponse très convenables sur des tables de 20 000 - 100 000 enregistrements, mais il y a souvent des jointures sur 2-5 niveaux), les interactions avec l’utilisateur (pas forcément la spécialité des formulaires web …), la gestion des impressions …

Je voudrais donc savoir si quelqu’un avec l’expérience du développement d’une telle base de donnée (ou mieux, d’un projet similaire au notre, c’est à dire une migration) avait des conseils et des impressions sur les choix techniques, les performances, les temps et qualités de développement ainsi que de maintenance de quelques-uns des langages et frameworks que nous pourrions utiliser
Dans un premier temps, pour un développement PHP, que conseillez vous afin de ne pas avoir à réinventer la roue (authentification, création de formulaires interactifs …)
P.S. Si vous aviez des docs (bons tutos, les docs de référence je sais où les trouver :wink: ) pour ces frameworks, ce serait parfait

Merci d’avance, et désolé pour le pavé

Pour la migration, peut être qu’avec oracle et ses “migration tools” c’est possible d’exporter les données 4D. Après, pourquoi pas récupérer d’oracle vers mysql/postgreSql

Ensuite je préfere de loin postgresql à mysql(robustesse/rapidité), mais c’est un avis personnel.

Coté framework j’ai un petit faible pour symfony, mais pas sûr qu’il convienne à ce que tu veux faire

Voilà j’ai pas une grosse expérience en la matière mais ton projet à l’air intéressant :wink:

Euh ça reste du détail technique, ça, on verra quand on en sera là, mais si c’est payant, je pense que ce sera hors de question …

On était plutôt partis là dessus oui,après, reste à faire des tests, mais postgre est plus rapide que MySQL ? je pensais que c’était le contraire (je n’ai aucune expérience de postgre)

Pourrais tu détailler ça stp ? Et surtout, si tu en as testé d’autres, dire pourquoi tu préfères celui là

Je n’ai pas non plus vraiment d’expérience, mais pour sûr, il est intéressant :wink:

Merci de ta réponse en tout cas :wink:

Sinon, bah UP pour la question initiale également :slight_smile:

PEAR n’est pas un framework et Zend n’est pas encore assez mature.
Symfony est une bonne solution, robuste mais peut te sembler complexe au premier abord.

Après, MySQL est plus rapide que Postgre, qui lui propose des fonctionnalités sympas. A savoir aussi que MySQL propose pas mal de nouveautés dans sa version 5.

Alors en fait, j’ai utilisé le terme “framework” par abus de langage, ou même par méconnaissance de ce que sont les limites de ce qu’on peut appeler un “framework”

Nous nous intéressons à toute solution qui pourrait accélérer le développement, pas uniquement un framework, et là, j’en appelle également à l’expérience des membres de ce forum en posant la question “est-ce que ça accélère beaucoup le temps de développement pour une gosse application ?”

Jusque là, j’ai surtout eu l’impression que ça prend du temps pour comprendre comment marche un framework, et que ça pourrait surtout aider dans le cas ou on veut créer plusieurs petites applications, une sorte d’investissement de temps en quelque-sorte
Nous avons également un peu peur de perdre de la maitrise sur le projet, pour des gains pas forcément utiles

Voilà pourquoi j’avais aussi voulu me pencher sur PEAR qui me semble plus convenir à nos besoins

D’autres avis sur la question ?