Bonjour à tous,
Il s'agit du code source qui alimente le site Web TheyWorkForYou.com. Il est principalement écrit en PHP, bien qu'il existe également des scripts Perl pour le chargement et l'indexation des bases de données. Le code de l'analyseur backend est distinct et disponible sur GitHub. Vous pouvez en savoir plus à ce sujet sur la page d'informations sur l'analyseur de TheyWorkForYou.
Le code source TheyWorkForYou de cette distribution est publié sous une licence de style BSD. En gros, cela signifie que vous êtes libre de copier, utiliser, modifier et redistribuer le code ou les binaires créés à partir du code. L’utilisation commerciale ou non commerciale est autorisée. Cependant, nous déclinons toute garantie et attendons de vous que vous n'utilisiez pas notre nom sans notre autorisation. Voir le fichier LICENSE.md pour des informations juridiques exactes.
Tout ce que disent les députés à la Chambre des communes du Royaume-Uni est consigné dans un document appelé Hansard ; TheyWorkForYou aide à donner un sens à cette ressource démocratique vitale. Cela comprend également des éléments de la Chambre des Lords, du Parlement écossais et de l'Assemblée d'Irlande du Nord.
Voir INSTALL.md pour les questions d'installation.
Si vous avez des questions, le meilleur endroit pour les poser est la liste de diffusion mySociety TheyWorkForYou à l'adresse https://groups.google.com/a/mysociety.org/forum/#!forum/theyworkforyou.
Vous aurez besoin d'une version récente de Docker.
L'exécution docker compose up [ -d ]
démarrera l'environnement. La première fois que vous l'exécutez, cela peut prendre quelques minutes, car diverses images sont téléchargées et l'image de l'application est créée localement.
Une fois que c'est fait, vous devriez pouvoir voir la page d'accueil à http://localhost:8000
. Cependant, la version par défaut ne contient aucune donnée, alors jetez un œil à INSTALL.md pour plus d'informations sur le téléchargement et l'importation de données Parlparse (membres, débats, votes, etc.).
Vous pouvez arrêter l'environnement en exécutant docker compose down
. L'ajout d'un -v
supprimera tous les volumes Docker susceptibles d'être utilisés, y compris toutes leurs données.
DOCKER.md contient des notes plus détaillées sur l'environnement de développement, ainsi que des commandes utiles et des notes de configuration plus détaillées spécifiques à Docker.
Pour utiliser xdebug dans VS Code tout en utilisant WSL, vous devrez définir une variable d'environnement WSL_IP dans le sous-système de l'adresse IP du sous-système.
Démarrez un nouvel espace de code sur Github en sélectionnant la liste déroulante Code (en haut à droite) et en démarrant un nouvel espace de code (ou utilisez la CLI GitHub).
Vous pouvez également utiliser le badge ci-dessus pour utiliser une pré-construction avec une quantité de données de base.
Cela configurera le conteneur et l'environnement Docker. Une fois terminé, le lien vers le site devrait être disponible dans l'onglet ports du panneau terminal.
Pour remplir avec une quantité minimale de données, exécutez scripts/quick-populate
(environ 1 heure).
Si vous travaillez sur une page qui utilise la refonte, vous devrez compiler les ressources statiques après les modifications :
script/watch-css
ou
cd www/docs/style
bundle exec compass compile
pour une compilation unique ou bundle exec compass watch
pour recompiler les modifications script/lint
exécutera php-cs-fixer pour les fichiers php.
TheyWorkForYou comprend une suite de tests, utilisant PHPunit. Pour exécuter des tests, assurez-vous que les variables d'environnement TWFY_TEST_DB_HOST
, TWFY_TEST_DB_NAME
, TWFY_TEST_DB_USER
et TWFY_TEST_DB_PASS
sont définies et contiennent des informations pertinentes pour votre base de données de tests. La base de données sera supprimée et reconstruite pendant les tests, alors assurez-vous qu'il ne s'agit pas d'une copie importante.
Vous constaterez peut-être que dans certaines versions de PHPUnit, des erreurs sont générées concernant les rapports de couverture de code. Si tel est le cas, la version installée par Composer et située dans /vendor/bin/phpunit
devrait fonctionner correctement.
Merci à Browserstack qui nous a permis d'utiliser ses outils de test multi-navigateurs basés sur le Web pour ce projet.