
Si vous entendez quelqu’un vous dire que MS Access est une base de données, c’est que votre interlocuteur ne le connaît pas ou ne s’est jamais aventuré au-delà de l’utilisation des tables et des requêtes. MS Access n’est pas une base de données (SGBDR). Il est plutôt à ranger dans la catégorie des RAD – acronyme de « Rapid Application Development » ou « Système de Développement Rapide d’Application » en Français.
C’est donc un produit qui intègre tous les composants nécessaires à la création « rapide » d’applications. Je mets le terme « rapide » entre guillemets, car bien qu’Access facilite la conception d’applications simples, concevoir une application complexe demande une certaine expertise.
Pourquoi choisir Access ?
Les utilisateurs qui choisissent Access le font généralement pour les bonnes – ou les mauvaises – raisons suivantes :
- Disponible dans la version d’Office Professionnel ou en produit indépendant,
- Dispose d’un Runtime
- Facilité d’installation par rapport à d’autres produits de développement qui demande des compétences système et DBA.
- Prise en main intuitive de l’interface graphique pour créer des tables, des relations et des requêtes,
- Possibilité de lier des tables issues d’autres SGBDR,
- Ensemble d’objets pour aller plus loin qu’une simple base de données,
- Parfaitement intégré dans le monde Office et Windows.
Parmi les raisons contradictoires certaines sont factuelles, d’autres relèvent d’opinions, au pire des consensus fondés sur une méconnaissance du produit :
- Édité par Microsoft (donc non libre),
- Disponible uniquement sous Windows,
- Base de données fichier (ACE), pas serveur,
- ACE Limitée à 2 Go par fichier
- Pas orienté Web
- Méconnaissance de VBA (vu comme un langage de macros)
- Confusion avec Excel (alors que ce sont 2 produits incomparables)
- Mauvaise réputation en France (perçu comme un produit « bureautique »),
Vrai ou faux
Autant Ms Access n’est pas libre autant ce que vous produisez peut l’être, tout dépend de la licence que vous choisissez.
En effet, Access n’est disponible que sous Windows… mais fonctionne parfaitement sur une machine virtuelle.
ACE est une base de données fichier. Elle est très performante et a le mérite d’être parfaitement intégrée à Access. Cependant vous pouvez utiliser la base de données que vous souhaitez. Personnellement, tous mes projets d’envergure s’appuient sur Sql Server, MariaDb, PostgresSQL J’ai également travaillé sur de très grosses applications sur Oracle et Sql Server.
Oui ACE est limité à 2 Go. Mais vous êtes libre de choisir la base de données la plus adaptée.
Access n’est pas WEB. Si vous devez faire un site ou une application WEB ce n’est pas le bon produit. Il m’est arrivé de discuter avec des clients qui souhaitaient absolument une techno WEB… sans savoir pourquoi. En analysant le besoin je me suis rendu compte que ce besoin n’était pas justifié.
VBA est un langage accessible mais qui demande de la rigueur sur des projets professionnels. Ceux qui confondent VBA et macro ne connaissent pas le sujet.
Excel et Access n’ont rien à voir. L’un est un tableur qui manipule des données alors que l’autre est un RAD. Oui on peut parfaitement créer une IHM avec Excel, cependant il ne gérera jamais une base de données.
MS Access et sa mauvaise réputation en France
Cette mauvaise réputation est héritée d’une époque (fin des années 90 – début 2000) où les DSI voyaient Access comme une menace : des utilisateurs métiers créaient leurs propres outils, sans passer par les services informatiques. Ce que les DSI oubliaient c’est que ces utilisateurs :
- maîtrisaient leur métier,
- savaient ce dont ils avaient besoin
- avaient un excellent taux de réactivité
Certes ils péchaient d’un manque d’expérience en développement. Cela donnait des applications parfois bancales… mais toujours utiles puisque 10 ans plus tard elles étaient toujours là.
Ms Access et ses objets
Les objets pour créer une application sont les suivants :
- Tables (internes ou liées)
- Requêtes SQL
- Formulaires (saisie, consultation, suppression, navigation…)
- Etats d’impression,
- Macros (automatisation simpliste)
- Modules pour le langage VBA. (automatisation avancée)
Access et les autres SGBDR
Bien que la plupart des applications utilisent un SGBDR pour la persistance, on peut créer des applications sans jamais avoir besoin d’une base de données. A contrario on peut avoir besoin d’une application standalone, sans aucune IHM et qui fonctionne de manière autonome.
Une application de synchronisation intelligente de données entre SGBDR hétérogènes en est le parfait exemple.
En règle générale Access permet de créer un front-end léger couplé à une base ACE, SQL Server, PostgresSQL, MariaDb.
Le pire côtoie le meilleur
Le pire c’est une appli conçue à la va-vite, sans modèle de données solide. Les adeptes du QDD (Quick & Dirty & Disposable, soit Vite, Sale et Jetable en français) en sont friand. Une fois le « jetable » installé, il est difficile de s’en passer, la réécriture étant couteuse et l’informatique le parent pauvre de l’industrie, on retrouve ces applications 15 ans plus tard pleinement fonctionnelles. Leur maintenance se fait souvent dans la douleur et les larmes et Access est déclaré comme un produit d’amateurs.
Le meilleur s’appuie sur les concepts qui régissent tous les logiciels. Elle s’appuie sur un choix de base de données pertinent, elle est maintenable, évolutive et répondant aux vrais besoins métier.
En résumé
Access est sous-estimé, mal compris, mais redoutablement efficace quand il est bien maîtrisé. Beaucoup ont tenté de migrer des applications Access vers des technos « à la mode » sans retrouver la puissance et l’ergonomie des composants d’Access. L’application est alors vu pas les utilisateurs comme ces livres inutiles qui ornent l’étagère la plus haute des bibliothèques.