![]() | Historique, choix et liens |
PhpMyApp(PMA) est un outil pour réaliser facilement de petites applications sur des Tables de bases de données. Il est le complément idéal entre des feuilles Excel et des applications développées spécifiquement. Quand une feuille Excel trouve ses limites (validations, plusieurs vues sur les mêmes données, droits, liens entre plusieurs tables, automatisation d'actions,...) PhpMyApp prendra le relais.
PhpMyApp fait dialoguer des programmes situés sur des machines différentes et distantes (serveur de base de données, serveur web, navigateur dans la machine locale de l'utilisateur) et est construit sur la base de langages adaptés à chaque fonctionnalité et de ne pas ré-écrire ce qu'un langage sait bien faire avec un autre.
Bien que PhpMyApp ait été développé et testé avec soins, il ne doit pas être utilisé pour des donnée avec un très haut niveau de confidentialité ou des applications critiques.
Il a été décidé de retenir ces langages, largement utilisés, adaptés pour chaque fonctionnalité :
Base de donnée : Maria DB (évolution de MySql)
Définition des tables, champs, vues, index : SQL (avec PhpMyAdmin)
Actions sur serveur, contrôle de session, automatismes de PhpMyApp : PHP8
Communication client serveur : Ajax
Définition des pages : HTML5
Mise en page : CSS3, UI-jquerry+Thèmes
Outil de grille : jqGrid
Automatismes locaux : jQuerry, JavaScript
PhpMyApp a été écrit afin de remplacer un outil créé dans les années 2000 et qui n'est plus maintenu (Il a du être adapté manuellement par des bénévoles pour supporter PHP7.1 puis pour PHP8.0). Le style, les outils et protocoles utilisés étant anciens, il a été décidé de construire un nouvel outil de remplacement.
Outre le choix de langages bien répandus, il a été décidé que les paramètres de PhpMyApp seraient aussi stockés dans la base de donnée et modifiables à l'aide des listes de PhpMyApp lui même (!).
La première version de PhpMyApp a été écrit entre 2022 et 2023. PhpMyApp fait la colle entre les différents logiciels/systèmes en proposant un choix de paramétrage le plus souple possible. Certains automatismes et conventions de nommage sont aussi proposés pour faciliter la mise en place d'applications. Certaines incompatibilités ou bugs ont aussi été pris en compte (contournés ou empêchés).
Le choix le plus difficile fut celui de jqGrid car plusieurs versions existent :
Il a été retenu cette dernière version car il y a des mises à jour récentes et de la documentation.
JqGrid manuel (paramétrage)
UI-jquerry (templates, icônes JQ)
Remixicon (icônes PMA)