Quels outils puis-je utiliser pour m'aider à développer Joomla?


26

Je suis nouveau dans le développement Joomla et je voudrais savoir quels outils et / ou logiciels peuvent m'aider à développer à la fois le backend et le frontend d'un site Joomla. Cela comprendrait également toute maintenance et mise à jour futures.


1
Eh bien, nous voulons faire de cette page un wiki plein d'outils utiles que la plupart d'entre nous utilisent pour Joomla et le développement / l'administration générale. Nous avons séparé les réponses, par catégories d'outils. Tous les utilisateurs sont invités à ajouter des informations de mise à jour dans les réponses ci-dessous. La question peut être référencée dans d'autres réponses, en particulier pour les nouveaux utilisateurs - et je pense que ce sera un accueil chaleureux.
FFrewin



Réponses:


17

Développement

Général

  • Composer
    Composer est un outil de gestion des dépendances en PHP. Il vous permet de déclarer les bibliothèques dont votre projet dépend et il les gère (installe / met à jour) pour vous.

  • Programme d'installation de Joomlatools Composer
    Ce plugin Composer installera des extensions dans votre configuration Joomla.

  • FOF2 (Framework sur Framework 2)
    FOF est un framework de développement d'applications rapide inclus dans Joomla! Il étend le Joomla! Plate-forme au lieu de la remplacer, avec sa propre version fourchue et étendue des classes MVC, gardant un fort aspect du Joomla! et fournit des capacités HMVC.

  • FOF3 (Framework sur Framework 3) FOF3 améliore FOF2 / F0F2 et apporte de nouveaux outils puissants pour Joomla 3. comme un nouveau modèle de données, l'utilisation d'espaces de noms, un conteneur DI, le chargement automatique de classe pour les composants, un constructeur d'échafaudages pour créer rapidement automatiquement un cadre pour votre composant, et bien plus encore . AVERTISSEMENT FOF 3.x n'est pas rétrocompatible avec FOF 2.x et 1.x.

    • FOF3-Basic Un exemple de type bonjour pour Akeeba FOF3 écrit comme une procédure pas à pas de développeur pour la construction d'un Joomla! composant de fond en comble.
  • Nooku Framework
    Framework pour la construction d'extensions Joomla avec moins de code.



Générateurs d'extensions

  • Generator-Joomla-Component (Un générateur de composants pour Yeoman )
    Generator-Joomla-Component vous permet d'échafauder rapidement et sans effort un nouveau composant Joomla, en utilisant le modèle de conception MVC et les normes de codage recommandés.

    Ceux-ci inclus:

    • Fichiers de langue d'internationalisation
    • Onglets pour les retraits
    • Notation variable CamelCase
    • Architecture MVC appropriée
    • Stubs PHPDocumentor pour chaque méthode, ainsi que les blocs doc au niveau de la page
    • Utilise 'plus ", car c'est ce que la bibliothèque officielle de Joomla utilise
  • generator-joomla-admin-template (Un générateur de modèles administrateur pour Yeoman )
    generator-joomla-admin-template est un générateur yeoman, qui vous permet de générer automatiquement des modèles d'administrateur joomla pour votre back-end.

  • Créateur de composants Joomla (L'accès gratuit est limité à une table de base de données) Le
    créateur de composants Joomla vous permet de générer un composant Joomla personnalisé entièrement fonctionnel et prêt à installer en quelques minutes. Cela permet aux développeurs Joomla d'économiser quotidiennement des centaines d'heures de développement.

  • Component Builder
    Component Builder pour Joomla est très avancé, vraiment capable de construire des composants extrêmement complexes en une fraction du temps.

  • Générateur de module Joomla par XDSoft
    Générateur de module Joomla par XDSoft simplifie le processus et vous fait gagner du temps lors du développement du module pour Joomla. Il crée une structure, crée tous les répertoires et fichiers nécessaires, génère un fichier XML principal valide. En conséquence, vous obtenez un package zip prêt pour l'installation.

  • Générateur de plugin Joomla par ExtStore
    Joomla! Plugin Generator by ExtStore génère un simple plugin vide avec les fichiers requis pour vous permettre de démarrer rapidement avec votre nouveau plugin Joomla. Après avoir rempli un formulaire rapide avec le nom, l'auteur et la description du plugin, vous obtenez un package zip prêt pour l'installation, y compris les fichiers de langue (en-GB).



Documents et ressources


J'ai développé un générateur de module gratuit qui est disponible sur mon site Web. Quelqu'un voudrait-il que je l'ajoute à cela?
Lodder

@Lodder Non, pas du tout.
Rene Korss

15

Environnements:

  • Wamp (Windows)
    WampServer est un environnement de développement Web Windows. Il vous permet de créer des applications web avec Apache2, PHP et une base de données MySQL. Parallèlement, PhpMyAdmin vous permet de gérer facilement vos bases de données.

  • Mamp (Mac: versions communautaire et commerciale)
    MAMP installe un environnement de serveur local en quelques secondes sur votre ordinateur Mac OS X. Il est gratuit (édition communautaire) et s'installe facilement. MAMP ne compromettra aucune installation Apache existante déjà en cours d'exécution sur votre système. Vous pouvez installer Apache, PHP et MySQL sans démarrer de script ni changer de fichier de configuration!

  • Lampe (Linux)

  • Xampp (disponible pour toutes les plateformes)
    XAMPP est une distribution Apache entièrement gratuite et facile à installer contenant MySQL, PHP et Perl. Le package open source XAMPP a été configuré pour être incroyablement facile à installer et à utiliser.

  • Vagrant
    Vagrant est un outil pour créer des environnements de développement complets. Avec un flux de travail facile à utiliser et axé sur l'automatisation, Vagrant réduit le temps de configuration de l'environnement de développement, augmente la parité de développement / production et fait de l'excuse "fonctionne sur ma machine" une relique du passé.

    • Boîte Joomlatools Vagrant (Machine virtuelle avec pile de lampes )
      Ce projet automatise la configuration d'un environnement de développement Joomla. Il est capable d'exécuter une pile LAMP complète avec une seule commande afin que vous puissiez commencer à travailler rapidement sur vos projets Joomla.

  • Oracle VM VirtualBox
    VirtualBox est un produit de virtualisation puissant et riche en fonctionnalités pour les entreprises et les particuliers, il est disponible gratuitement en tant que logiciel open source (GNU GPL).

    VirtualBox s'exécute sur les hôtes Windows, Linux, Macintosh et Solaris et prend en charge un grand nombre de systèmes d'exploitation invités, y compris, mais sans s'y limiter, Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8), DOS / Windows 3.x, Linux (2.4, 2.6 et 3.x), Solaris et OpenSolaris, OS / 2 et OpenBSD.

  • Ampps (disponible pour toutes les plates-formes)
    AMPPS est une pile logicielle facile à installer d'Apache, Mysql, PHP, Perl, Python et l'installateur automatique Softaculous qui peut être utilisée sur les ordinateurs de bureau et les serveurs de bureau.

Configuration requise pour Joomla3


Je ne l'ai jamais utilisé auparavant mais je commence à l'utiliser maintenant pour un autre projet et il semble prometteur, une boîte vagabonde Joomla (machine virtuelle): joomlatools.com/blog/2013/08/joomla-in-a-box.html
fruppel

@fruppel - Ahh bien. Si je me souviens bien, quelqu'un a posé une question sur une machine virtuelle il n'y a pas longtemps ici. N'hésitez pas à modifier cela avec toutes les recommandations que vous avez. FFrewin a suggéré que cela devienne un wiki communautaire pour les utilisateurs nouveaux sur Joomla
Lodder

@FFrewin - Peut-être que plusieurs réponses seraient mieux. Peut-être que si chaque section (Envrionments, éditeurs, etc.) était des réponses distinctes, l'utilisateur pourrait ajouter une description et une opinion pour chacune
Lodder

1
@Lodder: D'accord, nous finirons par diviser les réponses classées par section. Pour le moment, j'ajouterai une brève référence pour 2 outils DB dans la réponse ci-dessus.
FFrewin

Ceci est une excellente ressource et devrait être le point de départ de base pour toute personne intéressée par le développement de Joomla (ou tout développeur Web!). Certains d'entre eux sont nouveaux pour moi et je vais enquêter! Très apprécié :)
jonboy

9

Essai:

Si vous prévoyez d'écrire une quantité importante de code PHP ou JavaScript, tous les outils de développement PHP et JavaScript standard seront utiles, indépendamment du fait que votre code s'exécutera dans un environnement Joomla plutôt que autonome.

Côté PHP:

  • XDebug : une extension PHP pour les développeurs qui vous permet de faire des choses comme parcourir votre code ligne par ligne pour vous aider à trouver des bogues. Inestimable.
  • phpUnit : un outil de test. Ecrivez des tests phpUnit pour vous assurer que votre code fonctionne
  • PHPMD : PHP "Détecteur de mess". Indique un code de mauvaise qualité. (Beaucoup de projets bien connus auraient vraiment pu bénéficier de l'utilisation de ce type d'outil dès le départ).
  • CodeSniffer et les normes de codage Joomla: applique une pratique de code propre et facilite la lecture de votre code pour les nouveaux développeurs.

Côté JavaScript:

  • Les différentes fonctionnalités du navigateur DevTools. Tous les principaux navigateurs disposent désormais d'outils de développement de bonne qualité. Firefox a également Firebug disponible en tant que plugin en plus des outils de développement intégrés, ce qui vaut également la peine.
  • JSHint : souligne le code de mauvaise qualité et les bogues potentiels.

Il y a des tonnes d'outils comme ceux-ci, mais évidemment, cela dépend de la gravité de votre codage - si vous ne faites que quelques dizaines de lignes de code, il n'y aura pas grand-chose à jouer avec la plupart des au dessus de. Mais d'un autre côté, si vous prévoyez d'écrire un plugin Joomla de taille raisonnable et de le prendre en charge pendant un certain temps, les outils ci-dessus vous seront précieux pour vous aider à bien l'écrire.


8

Frontend (template, framework etc):

  • UIKit (framework)
    UIKit n'a que quelques années mais est devenu extrêmement populaire. C'est un framework frontal léger et modulaire pour développer des interfaces web rapides et puissantes et est utilisé pour tous les modèles de Yootheme à partir de Warp 7. La majorité de Javascript a été déplacée dans des composants séparés, ce qui signifie que vous pouvez les charger quand et où vous vouloir.

  • Bootstrap (framework)
    Bootstrap est un framework HTML, CSS et JS extrêmement populaire, sinon le plus populaire, pour développer des sites Web réactifs. Bootstrap rend le développement Web frontal plus rapide et plus facile. Il est fait pour des gens de tous niveaux, des appareils de toutes formes et des projets de toutes tailles, et surtout c'est open source, donc il est hébergé, développé et maintenu sur GitHub par la communauté. La version 2.3.2 (qui n'est plus officiellement prise en charge) est également livrée avec Joomla 3.x et est utilisée pour le modèle Protostar par défaut.

  • Yootheme (fournisseur de modèles)
    Yootheme est l'un des fournisseurs de modèles Joomla les plus populaires. Ils établissent un nouveau modèle (en utilisant leur framework frontal, UIKit) chaque mois avec un design unique.

  • Foundation (framework)
    Foundation est une famille de frameworks frontaux réactifs qui permettent de concevoir facilement de superbes sites Web, applications et e-mails réactifs qui ont l'air incroyables sur n'importe quel appareil. La fondation est sémantique, lisible, flexible et entièrement personnalisable.
  • UI sémantique (framework)
    Semantic est un framework de développement qui aide à créer de belles mises en page réactives en utilisant du HTML convivial.
  • Pure by Yahoo (ensemble de petits modules CSS réactifs)
    Pure est censé être un point de départ pour chaque site Web ou application Web. Pure s'occupe de tout le travail CSS dont chaque site a besoin, sans lui donner l'air d'un emporte-pièce:

    • Une grille réactive qui peut être personnalisée selon vos besoins.
    • Une base solide construite sur Normalize.css pour résoudre les problèmes de compatibilité entre les navigateurs.
    • Boutons de style cohérent qui fonctionnent avec les éléments et.
    • Styles pour les menus verticaux et horizontaux, y compris la prise en charge des menus déroulants.
    • Alignements de formulaires utiles qui ont fière allure sur toutes les tailles d'écran.
    • Divers styles de table courants.
    • Un look extrêmement minimaliste qui est super facile à personnaliser.
    • Réactif par défaut, avec une option non réactive.
    • Taille de fichier extrêmement petite: 4,5 Ko minifiés + gzip.

Vive la séparation :). Je vais commencer à écrire quelques informations pour ces cadres et environnements dans un peu
Lodder

@Lodder: Oui, je voulais publier ces outils de base de données avec quelques informations supplémentaires, et j'ai pensé que le moment était venu de séparer les réponses. Je pense que je l'ai un peu gâché avec le lien LAMP dans la section des environnements. Pouvez-vous revoir et ajouter votre lien précédent?
FFrewin

1
Bien sûr, je pense que Lamp doit être installé via Ubuntu et n'est pas comme un logiciel téléchargeable normal. Je suppose donc que le lien doit aller à un didacticiel. Cela confirmera cependant
Lodder

7

Outils du navigateur:

  • Adobe Edge Inspect CC (gratuit)
    Edge Inspect est une application essentielle pour les développeurs et concepteurs Web qui doivent prévisualiser leur contenu sur plusieurs appareils mobiles. Associez sans fil plusieurs appareils iOS et Android à votre ordinateur, prenez des captures d'écran de n'importe quel appareil connecté et consultez les résultats en temps réel des modifications apportées à HTML, CSS et JavaScript.

  • Firebug (Firefox) (Veuillez noter qu'il existe une version Lite pour un autre navigateur mais je recommanderais d'utiliser les inspecteurs intégrés)

  • ColorZilla (Firefox et Chrome)


Je recommande Web Developer comme une autre excellente extension pour Firefox (et Chrome). Cela ressemble beaucoup à Firebug, mais il est structuré différemment, il y a donc une certaine valeur à utiliser les deux.
TryHarder

7

Rédacteurs:

  • Bloc-notes ++ (pour une vitesse et une simplicité extrêmes)
  • Atome
  • Texte sublime (super rapide et riche en fonctionnalités)
  • PhpStorm (IDE PHP complet)
  • Netbeans IDE
    Développez rapidement et facilement des applications de bureau, mobiles et Web avec Java, HTML5, PHP, C / C ++ et plus encore. NetBeans IDE est GRATUIT, open source et dispose d'une communauté mondiale d'utilisateurs et de développeurs.

  • Eclipse PDT (outils de développement PHP)
    Le projet PHP IDE fournit un cadre d'environnement de développement intégré PHP pour la plate-forme Eclipse. Eclipse IDE est GRATUIT et open source. Nécessite java installé.

  • Komodo IDE Cross-Platform IDE pour tous vos principaux langages, y compris Python, PHP, Go, Perl, Tcl, Ruby, NodeJS, HTML, CSS, JavaScript et plus



6

Bases de données

Conception / développement / gestion:

  • MySQL Workbench - (Windows, Mac, Linux)
    MySQL Workbench est un outil visuel unifié pour les architectes de bases de données, les développeurs et les administrateurs de base de données. MySQL Workbench fournit la modélisation des données, le développement SQL et des outils d'administration complets pour la configuration du serveur, l'administration des utilisateurs, la sauvegarde et bien plus encore.
    Avec MySQL Workbench, vous pouvez travailler directement sur des bases de données sur des serveurs locaux ou distants. Il est disponible sur Windows, Linux et Mac OS X.


  • Sequel Pro - (Mac)
    Sequel Pro est une application de gestion de base de données Mac rapide et facile à utiliser pour travailler avec les bases de données MySQL. Il vous donne un accès direct à vos bases de données MySQL sur des serveurs locaux et distants.


  • phpMyAdmin (outil d'administration MySQL écrit en PHP - généralement trouvé sur tous les hôtes)
    phpMyAdmin est un outil logiciel gratuit écrit en PHP, destiné à gérer l'administration de MySQL sur le Web. phpMyAdmin prend en charge un large éventail d'opérations sur MySQL, MariaDB et Drizzle. Les opérations fréquemment utilisées (gestion des bases de données, tables, colonnes, relations, index, utilisateurs, autorisations, etc.) peuvent être effectuées via l'interface utilisateur, tandis que vous avez toujours la possibilité d'exécuter directement n'importe quelle instruction SQL.


  • Adminer (similaire à phpMyAdmin, mais plus simpliste et léger)
    Adminer (anciennement phpMinAdmin) est un outil de gestion de base de données complet écrit en PHP. A l'inverse de phpMyAdmin, il consiste en un seul fichier prêt à être déployé sur le serveur cible. L'administrateur est disponible pour MySQL, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch et MongoDB.


Utilitaires de sauvegarde du serveur

  • MySQLDumper
    MySQLDumper est un projet open source (licence GNU), basé sur PHP et Perl pour sauvegarder les bases de données MySQL. Il est particulièrement adapté pour les espaces Web d'hébergement mutualisé, où vous n'avez pas accès au shell et vraiment utile lorsqu'il y a besoin de sauvegarder / télécharger / restaurer de grandes bases de données, où les scripts php manquent de temps, en raison du temps d'exécution maximal.

  • phpMyBackupPro
    phpMyBackup Pro est une application de sauvegarde MySQL gratuite, très facile à utiliser et basée sur le Web, sous licence GNU GPL. Vous pouvez créer des sauvegardes planifiées, les gérer et les restaurer, les télécharger ou les envoyer par e-mail et bien plus encore!

  • AutoMySQLBackup
    AutoMySQLBackup avec une configuration de base créera des sauvegardes quotidiennes, hebdomadaires et mensuelles d'une ou plusieurs de vos bases de données MySQL à partir d'un ou plusieurs de vos serveurs MySQL.


Contrôle de version de base de données:


Je ne sais pas dans quelle catégorie ils devraient entrer, mais les outils d'Akeeba sont tous excellents - Akeeba Backup et Kickstart pour transférer des sites et donner aux personnes non techniques un moyen facile de faire leurs propres sauvegardes. Une section de sécurité vaut probablement aussi la peine, auquel cas Akeeba Admin Tools.
Richard B

5

Contrôle de version:

Code source:

Contrôle de version de base de données:

Joomla Site Staging


  • Extension d'environnement StageIt Staging pour Joomla!
    Fonctionnalités:
    • Créez un environnement intermédiaire en quelques secondes
    • Développez sur l'environnement de mise en scène sans risque pour votre site en direct
    • Apportez les modifications que vous souhaitez - mettre à jour les extensions, supprimer le contenu, etc.
    • StageIt prend en charge TOUTES les extensions tierces
    • Synchronisez l'environnement de transfert avec le site en direct à tout moment
    • Le bouton visuel vous permet de basculer instantanément entre les environnements
    • Les sauvegardes automatiques vous permettent de restaurer votre site en direct sur n'importe quel point de synchronisation
    • Configurez pour travailler avec une gamme de serveurs - même GoDaddy!

3

Configuration requise pour Joomla! 3.x

De plus, pour ceux qui démarrent et souhaitent configurer leur environnement, ou qui ont simplement besoin d'installer Joomla, voici la configuration système de base pour que Joomla fonctionne:

PHP:


Bases de données prises en charge:

MySQL:

Serveur SQL:

PostgreSQL:


Serveurs Web pris en charge:

Apache:

Nginx:

Microsoft IIS:

  • Recommandé : 7
  • Minimum : 7

1
mieux prendre en charge le lien vers les dernières exigences, car il est à jour: downloads.joomla.org/technical-requirements, par exemple PHP 5.6 ou 7.0+ recommandé
Tom Kuschel
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.