Chargement...
 

Problèmes etsolutions

Bien que les plugiciels soient une bonne idée dans certains cas, la situation est hors de contrôle avec les


Il y a de nombreux plugiciels qui ont plus à voir avec le manque de collaboration et le choix de modèles d'affaires qu'avec la coopération à grande échelle en vue de produire des meilleures solutions.

Il fût un temps où les entreprises qui proposaient un moteur de recherche mettaient l'emphase sur le nombre des pages indexées (avec en tête l'idée que plus il y en a, le mieux c'est). Un beau jour Google est arrivé dans le portrait avec l'idée que la pertinence valait mieux que le nombre et le reste appartient maintenant à l'histoire. Ce n'est pas le nombre de pages de résultats qui compte, mais bien le fait de trouver des résultats pertinents.

Pourquoi y a-t-il 20 plugiciels semblables pour accomplir le même travail? Vraiment, pourquoi faire?

Utilisateurs: Ne préférez-vous pas travailler au moyen des fonctions qui sont solides et officielles?
Développeurs: Ne préférez-vous pas que votre code soit intégré à la base de code officielle?

Pourquoi ces
problèmes
existent
Les
avantages
de Tiki
Failles de sécurité: la plupart des vulnérabilités viennent des plugiciels
Beaucoup de plugiciels ne sont pas maintenus. Les chefs de projet des applications ne peuvent prendre la responsabilité des vulnérabilités de milliers de plugiciels. Chaque fichier est un risque de sécurité potentiel. Drupal, WordPress et Joomla! ont plus de plugiciels que Tiki a de fichiers. Un plugiciel typique est fait de dizaines, voire de centaines de fichiers. Ainsi, plus il y a de fichiers, plus grande est la vulnérabilité aux attaques.
Avec Tiki, toutes les fonctionnalités sont intégrées et tous les fichiers qui y sont associées peuvent en principe être des vecteurs d'attaque. Cependant, si une fonctionnalité est désactivée, le code malveillant ne peut être exécuté et conséquemment vous ne pouvez être vulnérable que via des fichiers utilisés pour les fonctionnalités que vous avez activés (de la même façon que les plugiciels ne peuvent être des vecteurs d'attaque que s'ils sont installés). En raison de l'intégration du code, Tiki a beaucoup moins d'enjeux de sécurité a gérer.
Faible performance
Les plugiciels ne peuvent tirer profit des fonctions de performance intégrées aux cœur de l'application
Puisque tout est intégré, toutes les fonctions de performance sont utilisables par toutes les fonctionnalités
Plugiciels abandonnés
La raison pour laquelle la plupart des plugiciels sont abandonnés c'est qu'ils n'étaient pas nécessaires au départ!
Si une fonctionnalité n'est pas maintenue, elle est étiquetée comme telle. Si elle n'est plus utile (par exemple en raison de l'évolution technologique de Tiki), elle sera retirée après la publication d'une version de soutien à long terme (SLT) de sorte que les utilisateurs sachent à quoi s'attendre.
Paradoxe du choix (lequel de ces cinq plugiciels devrais-je choisir?)
Parce qu'il y a beaucoup de choix, vous devez choisir avec soin, ce qui veut dire prendre beaucoup de temps à analyser et comparer des plugiciels selon leurs fonctionnalités, leur stabilité, leur maturité, etc.
Activer et utiliser. Si vous êtes développeur et que vous corrigez un problème, vous pouvez soumettre la correction directement à l'équipe de développement de Tiki, qui l'intégrera dans la version officielle.
Chaque instance a sa propre base de code
Puisque chacun de vos projets sera différent, vous aurez besoin d'une permutation différente de plugiciels. Si vous gérez un grand nombre de sites et que vous ne faîtes pas attention, vous allez vous retrouver avec plusieurs bases de code différentes et donc plus difficultés de maintenance.
La base de code de Tiki est toujours la même d'un projet à l'autre. Il n'y a que la configuration et les préférences qui changent d'un site à l'autre. La maintenance de nombreuse site est donc beaucoup plus facile.
Mises à jour laborieuses
Vous devez mettre à jour le cœur de l'application et aussi individuellement tous les plugiciels. Avec certains systèmes de gestion de contenu, vous ne pouvez pas vous permettre de sauter une version. Tout ce travail est laborieux.
Une mise à jour. Si vous utilisez une installateur automatisé, tout se fait en une seule opération. Vous pouvez mettre à jour de votre version à n'importe quelle version subséquente (tous les scripts de migration sont présents dans toutes les versions)
Pour les technos: Les mises à jour mineures se font à l'aide de cette petite commande :
php doc/devtools/svnup.php
Manque de collaboration (fragmentation des efforts)
La nature humaine et les modèles d'affaires

Il y a parfois des développeurs indépendants qui font à leur tête et ne veulent pas réellement travailler avec les autres ou tenir compte des priorités du groupe.

L'accès au code source et la collaboration peut être plus difficile. Le développeur en chef du plugiciel peut ne pas être très ouvert car la trop grande amélioration de la version libre nuirait aux ventes de la version «premium».

It's harder to read code than to write it. Les développeurs préfèrent trop souvent écrire leur propre code plutôt que d'investir le temps de comparer, tester et comprendre les plugiciels déjà existants. Il se peut aussi qu'après avoir choisi d'améliorer le code débuté par une autre personne, cette même personne refuse d'intégrer les améliorations.
C'est facile : il n'y a qu'une chose à apprendre. Tous les membres de la communauté convergent sur une solution commune, comme dans un wiki! Dans Tiki, tous collaborent réellement sur la même base de code.
Jeu de fonctionnalités incomplet
Un développeur indépendant, qui jugeait que tous les plugiciels existants étaient mauvais, décida de faire quelque chose de bien meilleur. Malheureusement, il en a éventuellement eu assez et est passé à autre chose...

Le modèle d'affaires «freemium» : le plugiciel de base est libre, mais le développeur vend une version non libre avec les fonctionnalités manquantes de la première.
Dans Tiki, tous collaborent sur la même base de code.
Fournisseurs de services qui connaissent mal votre ensemble de plugiciels
Quel fournisseur de service peut raisonnablement offrir du soutien pour des milliers de plugiciels à un prix décent?

Où peut-on obtenir du soutien lorsque le problème rencontré est lié à l'interaction entre deux plugiciels? Chaque fournisseur de service aura son ensemble de plugiciels préféré, alors si vous soumettez 10 projets semblables à 10 fournisseurs de service différentes, on vous proposera 10 solutions différentes.
Si vous avez 10 projets Tiki avec 10 fournisseurs différents, vous vous retrouverez peut-être avec des différentes de configurations mineures, mais tous les projets auront toujours la même base de code.
Votre fournisseur de services ne peut pas s'engager à offrir un plan de soutien à long terme à un prix prévisible
Votre fournisseur de service ne peut pas prédire si un ensemble particulier de plugiciels sera toujours là dans quelques années.
Avec Tiki, puisqu'il n'y a pas de duplication, le pire qui peut arriver c'est une fonctionnalité particulière n'évolue pas beaucoup. Donc, les fournisseurs de services Tiki peuvent s'engager à offrir du soutien pour cinq ans ou même plus.
Mainteneur de plugiciel indisponible
Peut-être que la personne est passée à autre chose, peut-être que son plan d'affaires n'a pas fonctionné, peut-être qu'elle a abandonné suite au succès d'un autre plugiciel... il y a plusieurs raisons possibles et bien souvent nous ne saurons jamais vraiment ce qui s'est passé.
Pour être bien honnête, toutes les fonctionnalités de Tiki ne sont pas activement développées. Des rapports de bogues peuvent rester sans réponse. Cependant, tout le monde dans la communauté a accès au code source et par conséquent chaque fonctionnalité peut évoluer. Vous pouvez vous-mêmes obtenir les accès qu'il faut pour corriger un problème ou alors embaucher un développeur Tiki pour qu'il s'en charge pour vous.
Difficile d'auditer les changements aux fichiers
Lorsque vous reprenez la responsabilité d'un site développé par une autre personne, c'est une bonne pratique de comparer les fichiers du site avec ceux de la version officielle pour identifier les changements. Aussi, lorsque vous faites un audit de sécurité, des fichiers modifiés sont le symptôme d'un site piraté.
Avec Tiki, il est facile de voir quelles parties du code source ont changées en utilisant la fonction intégrée tiki-admin_security.php?check_files ou la commande svn diff
Manque d'innovation et d'adoption de nouvelles technologies / besoin de préserver la compatibilité descendante
Ce problème est bien sûr du à la nécessité de maintenir les vieux plugiciels.
La communauté Tiki peut rapidement tirer profit des nouvelles versions de PHP et des avancés des navigateurs parce que les administrateurs web pris avec d'anciennes versions de PHP peuvent utiliser nos versions de soutien à long terme (SLT) pendant cinq ans. Dans l'intervalle, les mises à jour régulières profitent de l'innovation. Puisque tous les développeurs ont accès à la totalité du code source de Tiki, il est plus facile de passer en revue tout le code et de mettre à jour les parties qui doivent l'être pour bien fonctionner avec les plus récentes versions de PHP.
Problèmes liés au cycle de vie
Drupal: cycle lent
WordPress: aucune version de soutien à long terme (SLT)
Avec Tiki, vous avez le choix entre mettre à jour fréquemment pour obtenir toutes les nouvelles fonctionnalités ou mettre à jour moins souvent grâce à notre version de soutien à long terme, qui vous offre tout de même des correctifs de sécurité et de fonctionnalité
Complexité et Dette_technique
Tenter de soutenir toutes les permutations des divers plugiciels d'une application rendra le code source de base plus complexe. Les plugiciels doivent gérer les changements de version. Certains plugiciels sont en plein développement et leurs fonctionnalités croissantes, tandis que d'autres sont au contraire très stables. Cette situation asymétrique complique les choses. Cette présentation illustre la complexité du code de Drupal, Xoops et Tiki (en)
Dans Tiki, le développement se déroule dans les versions les plus récentes, tandis que les versions plus anciennes n'acceptent que des correctifs de sécurité et de fonctionnalité.
Gestion des thèmes plus difficile
Le joli thème que vous avez choisi fonctionnera avec l'application de base, mais pas avec tous les plugiciels.
Une base de code unifié permet un plus haut degré d'harmonie. Depuis la version 13 de Tiki, tout le système est en train de migrer à Bootstrap pour le CSS.
Cohérence de la terminologie et des traductions
Le grand nombre de plugiciels ne permet pas de converger facilement vers une terminologie commune. Le vocabulaire variera d'un plugiciel à l'autre et l'utilisateur n'aura pas d'interface cohérente. La même chose est vraie pour les traductions
Avec une base de code commune, les membres de la communauté peuvent discuter et s'entendre dès le départ sur une terminologie et au besoin faire des changements qui seront répercutés partout en une seule opération.
Mauvaise architecture
En cherchant à innover pour répondre aux besoins des utilisateurs, les développeurs de plugiciels finissent par programmer des trucs qui devraient vraiment faire partie du système global. Les plugiciels finissent par en faire trop parce qu'ils ne peuvent pas compter sur les fonctionnalités de l'application de base ou pour éviter de dépendre d'un autre plugiciel. Éventuellement, l'application peut se retrouver à dupliquer des fonctionnalités présentes dans des plugiciels, mais alors les développeurs des plugiciels en question devront peut-être être modifiés considérablement pour en bénéficier. Pire, les plugiciels peuvent être simplement abandonnés en faveur des nouvelles fonctionnalités de l'application de base. Et alors les utilisateurs sont coincés. Pour illustrer, voici un exemple: dans WordPress, les thèmes sont constitués de fichiers PHP servant à ajouter des fonctionnalités qui ne seraient pas forcément présentes autrement. Conséquemment, lorsqu'un thème change, il est possible de perdre des fonctionnalités.
Avec Tiki, les développeurs ajoutent, réusinent et déplacent le code à l'endroit le plus logique et savent qu'à l'intérieur d'un laps de temps raisonnable le changement se retrouvera dans la version stable. Lorsque vous changez votre thème Tiki pour une autre, vous ne perdez aucune fonctionnalité puisque le code des fonctionnalités est (logiquement) ailleurs.
Développement efficace en raison de la taille importante de la communauté, mais inefficience du modèle de développement
Joomla!, WordPress et Drupal ont de très grandes communautés et des millions de dollars de financement en capital de risque soutiennent plusieurs entreprises qui font partie de ces écosystèmes.
Drupal, WordPress et Joomla! ont plus de plugiciels que Tiki a de fichiers. Un plugiciel typique contient des dizaines voire des centaines de fichiers. Conséquemment, le code qu'il faut maintenir est beaucoup plus complexe.
Tiki offre la vaste majorité des fonctionnalités de ces trois applications et de leurs milliers de plugiciels. Tout projet que vous pourriez monter avec Joomla!, WordPress ou Drupal peut généralement l'être aussi avec Tiki, mais en utilisant moins de fichiers et en gérant moins de complexité.
Plateformes d'hébergement aux fonctionnalités limitées
Les plus grandes plateformes d'hébergement savent combien il est périlleux d'essayer de soutenir tous les plugiciels. Elles n'offrent par conséquent par tous les plugiciels et vous devez faire avec un sous-ensemble qui peut être contraignant pour vous. Si vous passer d'une plateforme à l'autre, vous n'êtes pas certain de pouvoir profiter des mêmes fonctionnalités.
Avec Tiki, toutes les fonctionnalités sont intégrées, ce qui est à l'avantage des entreprises d'hébergement.


Pour éviter les problèmes des plugiciels de Drupal, Joomla! et WordPress, jeter à un coup d'œil à Tiki, l'application web avec le plus grand nombre de fonctionnalités intégrées


Objections

Si le modèle des plugiciels est si mauvais, pourquoi est-il dominant?

  • C'est le modèle traditionnel pour les systèmes d'exploitation et les applications
    • Une application web est différente
      • Le stockage dans une base de données n'est pas la même chose que le stockage sur un système de fichiers
      • Nous nous attendons à plus d'interopérabilité entre les fonctionnalités d'une application web qu'entre différentes applications sur un poste de travail
      • Avec les applications pour le poste de travail, la plupart des fonctionnalités viennent sous forme d'options.
  • Les modèles d'affaires
  • La nature humaine

Mais les utilisateurs veulent des plugiciels...

Non, les utilisateurs veulent des fonctionnalités et s'ils les obtiennent via des options intégrées, ils sont satisfaits.


Pourquoi ne passe-t-on pas du modèle des plugiciels au modèle intégré?

Le changement est déjà en cours plus les navigateurs:


Changer le modèle entraînera l'exclusion de certains plugiciels populaires et les utilisateurs ne seront pas contents. Ça pourrait même amener son lot de complications politiques au sein de certaines communautés.


Quand les plugiciels sont-ils une bonne idée?

  • Lors qu'il n'y a pas de données à sauvegarder/stocker et donc peu de risque de se retrouver captif (ex: les plugiciels des navigateurs ne sauvegardent souvent aucune donnée)
  • Lorsqu'ils ne rendent pas les mises à jour difficiles
  • Lorsque le reste du système n'en dépend pas
  • Lorsqu'ils offrent des fonctionnalités rarement utilisées
  • Lorsqu'ils servent à se connecter à une autre application (ou un service)
  • Lorsqu'ils changent très peu d'une version à l'autre
  • Lorsqu'ils sont simples
  • Lorsqu'ils sont réellement périphérique à une application
  • Lorsqu'ils ne bloquent pas la mise à jour d'un système
  • Lorsqu'ils ne dupliquent rien