Our main goal for this release was to prepare a BETA version of our new forms app, however, it also includes a number of nice bug fixes and minor features.
## Update notes
* `bower update` for `chainpad-crypto#0.2.6` ([signed mailbox extensions](https://github.com/xwiki-labs/chainpad-crypto/releases/tag/0.2.6))
* log some information about the checkup page when launching the server
* new admin panel features
* link to checkup for better discoverability
* opt in to public listings
* opt in to email contact
* opt out of telemetry
* `blockDailyCheck` option moved here from default config
* preliminary work for statistical aggregation
* `removeDonateButton` option moved here from default config
* new app, so you probably want to review that your custom color schemes don't conflict
* server update and restart is required
* ready to display warnings about new server updates starting in 4.7.1 or 4.8.0
* lots of new translations!
As this release includes a new app you'll want to compare your current NGINX config against our example (`cryptpad/docs/example.nginx.conf`) and update yours to match the updated sections which rewrites URLs to include trailing slashes. We've also introduced a number of new variables to our color scheme which might conflict with customizations you've made to your stylesheets. As always, it's recommended that you test your customizations on a updated non-production instance before deploying.
We've been steadily adding new tests to our recently developed checkup page each time we observe particular types of instance misconfigurations in the wild. Unfortunately, it seems the admins that have the most trouble with instance configuration are those that haven't read the numerous mentions of this page throughout the last few release notes. For that reason we've made it so the server prints a link to this page at launch time if it detects that some important value is left unconfigured.
On the topic of instance configuration, admins that have enabled their instance's admin panel may notice that it contains a new "Network" tab. On this pane you may find a button that links to the instance's checkup page to make it even easier to identify configuration problems. You should also notice options for configuring a number of values, some of which could previously only be set by modifying the server's configuration file and restarting.
* One checkbox allows you to opt out of the server telemetry which tells our server that your server exists. This is mostly so that we have a rough idea of how many admins are running CryptPad and what version they have installed. It was clearly documented in the config file, but now it's even easier to opt out if you don't want us to know you exist. In the interest of transparency, everything that is sent to our server as a part of this telemetry is also printed to your application server's logs, so you always check what information has been shared.
* Another setting opts in to listing your server in public directories. At present there is no public directory of CryptPad instances that are suitable for public use, but we plan to launch one in the coming months. For now this checkbox will serve to inform us how many instance admins are interested in offering their server to the public. This setting will have no effect if you've disabled telemetry as that is how your server informs ours of your preferences. We reserve the right to exclude instances from our listing for _any reason_.
* A third option allows admins to consent to be contacted by email. We aren't interested in spamming anyone with marketing email, rather, it's so that we can inform administrators of vulnerabilities in the software before they are publicly disclosed. Leave this unchecked if you prefer to be surprised by security flaws.
* The option to disable crowdfunding notices in the UI can be disabled via a simple checkbox.
* Starting with our next release (4.8.0) anyone running 4.7.0 should also notice that a button appears on this pane informing them that an update is available. We regularly fix security flaws and improve general safeguards against them, so if you aren't up to date you might be putting your users' data at risk.
To update from 4.6.0 to 4.7.0:
1. Apply the documented NGINX configuration
2. Stop your server
3. Get the latest code with git
4. Install the latest dependencies with `bower update` and `npm i`
5. Restart your server
Please note that the new _Forms_ app depends on an update to our cryptography library. If you omit `bower update` from the upgrade sequence above, the app will not work.
## Features
* more detailed messages for some tests on the checkup page
* log messages which fail signature validation
* make drive-redirect configurable via the settings page (disabled by default)
* minor UI improvements for report page
* copy report to clipboard
* margins?
* new form app
* with participant, author, and auditor roles
* partially replaces the poll app
* polls no longer listed on home page
* it is still possible to make copies of existing polls
* otherwise the poll app redirects to the form app
* ability to add a file to your drive from the file menu even if it's already in a team
* embed file option in markdown toolbar
* kanban
* code
* slide?
* This release introduces our new _Forms_ app. This app allows users to create complex forms and to collect answers. Three roles are available with granular permissions:
* Authors can collaboratively create surveys with different types of questions and generate links to share with participants.
* Participants can respond to forms and view responses if these are made public (this can be set by authors).
* Auditors can view responses, but cannot necessarily add their own answers unless they have the correct participant key.
This new app addresses many of the shortcomings of our current _Polls_ and vastly expands the feature set. Polls are effectively one of the many question types now available in _Forms_. For this reason we are deprecating the _Polls_ app. It will remain available to view and respond to existing polls, but we discourage the creation of new polls and all future improvements will be focused on _Forms_.
* In response to a GitHub issue we've added an option to the toolbar's _File_ menu to add the current pad to your drive regardless of whether it is already stored in one of your teams' drives.
* Likewise, we received some reports that some users found it frustrating that the home page automatically redirected them to their drive when they were logged in. We've disabled this behaviour by default but added an option in the settings page through which you may re-enable the old behaviour. This can be found at the top of the "CryptDrive" pane.
* Embedded markdown editors' toolbars (such as that in the kanban and form apps) now include an "embed file" option.
* We've revised some text on the checkup page to better explain what some headers do and how to correct them.
* Some error messages printed by the server under rare conditions now include a little more debugging information.
* We've improved some of the UI of the "report" page (which diagnoses possible reasons why your drive, shared folders, or teams might be failing to load now includes) so that users can now copy the output of the report directly to their clipboard instead of having to select that page's text and use their OS's copy to clipboard functionality.
## Bug fixes
* variably display "Features" or "Pricing" in the _top bar_
* default to the 'general' tab of the admin panel when the URL includes an unsupported hash
* guard against DOMException when updating atime in cache entries
* code app improvements
* guard against codemirror scroll-jank
* allow preview pane resize
* self-XSS via accountName
* password-protected files could not be opened or shared
* The home page now displays the appropriate text ("Features" or "Pricing") for the features page depending on whether the instance in question supports subscriptions. We had made some changes to this before but missed an instance where the text was displayed.
* The admin page will now display the "General" pane if for some reason the hash in its URL does not contain a supported value.
* We found that there were two cases where localForage (a library that manages an in-browser cache) could throw a DOMExceptionerror because we didn't supply a handler. This caused the calendar app's UI to incorrectly treat a newly created event as though it had not been saved.
* A user brought it to our attention that the share menu was returning incorrect URLs for password-protected files. This has now been fixed.
* The code that is responsible for preserving your cursor position when using the code editor collaboratively was capable of interfering with active scrolling when other users' edits were applied. This is now handled more gracefully. Another fix addresses an issue that prevented the markdown preview pane from being resized under certain conditions.
* Finally, as a part of a routine security scan funded by [NLnet](https://nlnet.nl/) and executed by [Radically Open Security](https://www.radicallyopensecurity.com/) it was discovered that an unsanitized _account name_ was displayed in the users own toolbar. As a consequence, users could trigger a cross-site scripting vulnerability on themself by entering `<script>alert("pew")</script>` for their username at registration time. On a correctly configured instance this was blocked everywhere except in the sheet editor due to its more lax Content-Security Policy. This unsanitized value was never displayed for remote accounts, so the impact is extremely limited. Even so, we recommend that you update.
# 4.6.0
@ -669,7 +671,6 @@ Once you've reviewed these settings and you're ready to update from 3.22.0 to 3.
## Features
* As mentioned in the update notes, this release features a server update which will enable XLSX export from our sheet editor in Firefox. XLSX files are generated entirely on the client, so all information will remain confidential, it only required a server update to enable a feature in Firefox which is required to perform the conversion.
* We've also made some considerable improvements to the _history mode_ available in most of our document editors. We now display a more detailed timeline of changes according to who was present in the session, and group contiguous modifications made by a single user. Our intent is to provide an overview of the document's history which exposes the details which are most relevant to humans, rather than only allowing users to step through each individual change.
* Another change which is related to our history mode improvements is support for "version links", which allow you to link to a specific historical version of a document while you scroll through the timeline of its modifications. You can also create _named snapshots_ of documents which will subsequently be displayed as highlights in the document's timeline.
@ -731,7 +732,7 @@ If you're only reading this for instructions on how to update your instance from
2. Get the latest platform code with git
3. Install client-side dependencies with `bower update`
4. Install server-side dependencies with `npm install`
4. Restart the CryptPad API server
5. Restart the CryptPad API server
## Features
@ -779,7 +780,7 @@ To update from 3.20.0 to 3.20.1:
1. Stop your server
2. Get the latest code with `git checkout 3.20.1`
3. Install the latest dependencies with `bower update` and `npm i`
3. Restart your server
4. Restart your server
# UplandMoa (3.20.0)
@ -1256,7 +1257,7 @@ This release includes updates to:
1. the server and its dependencies
2. the example nginx configuration which we recommend for production installations
4. the client code and its dependencies
3. the client code and its dependencies
Our ability to debug CryptPad's usage of shared workers (on the client) has been complicated by the fact that Firefox's shared worker debugging panel was not working for our instance. We finally traced the problem back to a Content-Security Policy setting in our configuration file. The issue can be addressed by adding a `resource:` entry in the `connect-src` header. We've updated the example nginx config to reflect this. You can deploy this version of CryptPad without this modification, but without it our ability to debug and fix issues related to shared worker will be extremely limited.
@ -1363,7 +1364,9 @@ Finally, in case you live in a political jurisdiction that requires web site adm
To update from v3.9.0:
1. update the CSP settings in your reverse proxy's configuration file to match those in nginx.example.conf
* don't forget to reload your server to ensure that your changes are deployed
* don't forget to reload your server to ensure that your changes are deployed
2. stop your API server
3. pull the latest server/client code with `git pull origin master`
4. install the latest clientside dependencies with `bower update`
@ -1783,9 +1786,9 @@ To update:
1. Take down your server
2. Pull the latest code
2. `npm install`
3. `bower update`
4. Launch your server
3. `npm install`
4. `bower update`
5. Launch your server
## Features
@ -1926,13 +1929,17 @@ As this is the last release in our 2.0 cycle, we're going to take some extra tim
* We've updated some dependencies that are used to lint the CryptPad codebase to detect errors. Run `npm install` if you plan to develop for CryptPad and you want to use the linter
* This release introduces a _support_ tab within the admin panel. If you generate an asymmetric keypair and add it to your server-side configuration file then users will have the option of opening support tickets if they encounter errors. Their support tickets will include some basic information about their account which might help you to solve their issues. To set up your _"encrypted support mailbox"_:
1. run `node ./scripts/generate-admin-keys.js`
2. copy the "public key" and add it to your config.js file like so:
3. copy the private key and store it in a safe place
4. navigate to the "support" tab in the admin panel and enter the private key
5. share the private key with any other administrators who should be able to read the support tickets
6. restart so that your users receive the public key stored in your configuration file
* this will allow them to submit tickets via the support page
* if you don't know how to fix the issue and want to open a ticket on our public tracker, include the information submitted along with their ticket
@ -1986,7 +1993,7 @@ Finally, we prioritized the ability to archive files for a period instead of del
3. pull the latest clientside and serverside code via git
4. `npm update` to get the latest serverside dependencies
5. update the cache-busting string if you are handling the cache manually, otherwise allow the server to handle this as per its default
5. restart the server: clients with open tabs should be prompted to reload instead of reconnecting because the server's version has changed
6. restart the server: clients with open tabs should be prompted to reload instead of reconnecting because the server's version has changed
* We recommend that you test a local version of CryptPad before deploying this latest code, as aspects of the above-mentioned migrations are not backwards-compatible.
* you can roll back, but users' CryptDrives might have errors coping with data introduced by newer features.
@ -2803,7 +2810,7 @@ latest server with npm update before updating your clientside dependencies with
effort to improve administrator tooling for situations like this
* users who have not logged in, but wish to use their drive now see a ghost icon which they can use to create pads.
We hope this makes it easier to get started as a new user.
* registered users who have saved templates in their drives can now use those templates at any time, rather than only
* REGistered users who have saved templates in their drives can now use those templates at any time, rather than only
using them to create new pads
* we've updated our file encryption code such that it does not interfere with other scripts which may be running at
the same time (synchronous blocking, for those who are interested)
CryptPad is a collaboration suite that is end-to-end-encrypted and open-source. It is built to enable collaboration, synchronizing changes to documents in real time. Because all data is encrypted, the service and its administrators have no way of seeing the content being edited and stored.
![CryptPad screenshot](screenshot.png "Private real-time collaboration on a Rich Text document.")
CryptPad is the **Zero Knowledge** realtime collaborative editor.
# Installation
Encryption carried out in your web browser protects the data from the server, the cloud
and the NSA. It relies on the [ChainPad] realtime engine.
## For development
<!--If you'd like to know more, please read [the Whitepaper]().-->
Our [developer guide](https://docs.cryptpad.fr/en/dev_guide/setup.html) provides instructions for setting up a local instance without HTTPS or our more advanced security features.
# Installation
## For production
Installing CryptPad is pretty straightforward. You can read all about it in the
It also contains information on keeping your instance of CryptPad up to date.
Configuring CryptPad for production requires a little more work, but the process is described in our [admin installation guide](https://docs.cryptpad.fr/en/admin_guide/installation.html). From there you can find more information about customization and maintenance.
## Current version
@ -24,33 +22,40 @@ The most recent version and all past release notes can be found [here](https://g
See [Cryptpad-Docker](https://github.com/xwiki-labs/cryptpad-docker) repository for details on how to get up-and-running with Cryptpad in Docker. This repository is maintained by the community and not officially supported.
# Security
CryptPad is *private*, not *anonymous*. Privacy protects your data, anonymity protects you.
As such, it is possible for a collaborator on the pad to include some silly/ugly/nasty things
in a CryptPad such as an image which reveals your IP address when your browser automatically
loads it or a script which plays Rick Astleys's greatest hits. It is possible for anyone
who does not have the key to be able to change anything in the pad or add anything, even the
server, however the clients will notice this because the content hashes in CryptPad will fail to
validate.
The server does have a certain power, it can send you evil javascript which does the wrong
thing (leaks the key or the data back to the server or to someone else). This is however an
[active attack] which makes it detectable. The NSA really hates doing these because they might
get caught and laughed at and humiliated in front of the whole world (again). If you're making
the NSA mad enough for them to use an active attack against you, Great Success Highfive, now take
the battery out of your computer before it spawns Agent Smith.
Still there are other low-lives in the world so using CryptPad over HTTPS is probably a good idea.
CryptPad offers a variety of collaborative tools that encrypt your data in your browser
before it is sent to the server and your collaborators. In the event that the server is
compromized the database holds encrypted data that is not of much value to attackers.
The code which performs the encryption is still loaded from the host server like any
other web page, so you still need to trust the administrator to keep their server secure
and to send you the right code. An expert can download code from the server and check
that it isn't doing anything malicious like leaking your encryption keys, which is why
this is considered an [active attack].
The platform is designed to minimize what data is exposed to its operators. User registration
and account access is based on a cryptographic key that is derived from your username
and password so the server never needs to see either and you don't need to worry about
whether they are being stored securely. It is impossible to verify whether a server's
operators are logging your IP or other activity, so if you consider this information
sensitive it is safest to assume it is being recorded and access your preferred instance
via [Tor browser].
A correctly configured instance has safeguards to prevent collaborators from doing some
nasty things like injecting scripts into collaborative documents or uploads. The project
is actively maintained and bugs that our safeguards don't catch tend to get fixed quickly.
For this reason it is best to only use instances that are running the most recent version,
which is currently on a three-week release cycle. It is difficult for a non-expert to
determine whether an instance is otherwise configured correctly, so we are actively
working on allowing administrators to opt in to a public directory of servers that
meet our strict criteria for safety.
# Translations
We'd like to make it easy for more people to use encryption in their routine activities.
As such, we've tried to make language-specific parts of CryptPad translatable. If you're
able to translate CryptPad's interface, and would like to help, please contact us!
You can also see [our translation guide](/customize.dist/translations/README.md).
CryptPad can be translated with nothing more than a web browser via our
More information about this can be found in [our translation guide](/customize.dist/translations/README.md).
# Contacting Us
@ -61,13 +66,13 @@ via our [GitHub issue tracker](https://github.com/xwiki-labs/cryptpad/issues/),
# Team
CryptPad is actively developed by a team at [XWiki SAS](https://www.xwiki.com), a company that has been building Open-Source software since 2004 with contributors from around the world. Between 2015 and 2019 it was funded by a research grant from the French state through [BPI France](https://www.bpifrance.fr/). It is currently financed by [NLnet PET](https://nlnet.nl/PET/), subscribers of CryptPad.fr and donations to our [Open-Collective campaign](https://opencollective.com/cryptpad).
CryptPad is actively developed by a team at [XWiki SAS](https://www.xwiki.com), a company that has been building Open-Source software since 2004 with contributors from around the world. Between 2015 and 2019 it was funded by a research grant from the French state through [BPI France](https://www.bpifrance.fr/). In the years since we have been funded by [NLnet PET](https://nlnet.nl/PET/), [NGI TRUST](https://www.ngi.eu/ngi-projects/ngi-trust/), [NGI DAPSI](https://dapsi.ngi.eu/), subscribers of CryptPad.fr, and donations to our [Open-Collective campaign](https://opencollective.com/cryptpad).
# Contributing
We love Open Source and we love contribution. Learn more about [contributing](https://docs.cryptpad.fr/en/how_to_contribute.html).
If you have any questions or comments, or if you're interested in contributing to Cryptpad, come say hi on IRC, `#cryptpad` on Freenode.
If you have any questions or comments, or if you're interested in contributing to Cryptpad, come say hi in our [Matrix channel](https://app.element.io/#/room/#cryptpad:matrix.xwiki.com).
# License
@ -78,5 +83,6 @@ published by the Free Software Foundation, either version 3 of the License, or (
any later version. If you wish to use this technology in a proprietary product, please contact
" header. This information can make it easier for attackers to find and exploit known vulnerabilities. ",
];
if(family==='NGINX'){
msg.appendChild(h('span',text.concat([
"This can be addressed by setting ",
code("server_tokens off"),
" in your global NGINX config."
])));
returnvoidcb(serverToken);
}
// handle other
msg.appendChild(h('span',text.concat([
"In this case, it appears that the host server is running ",
code(serverToken),
" instead of ",
code("NGINX"),
" as recommended. As such, you may not benefit from the latest security enhancements that are tested and maintained by the CryptPad development team.",
"admin_supportPrivTitle":"Clé privée de la messagerie de support",
"admin_emailHint":"Entrez ici l'adresse email de contact pour votre instance",
"admin_emailTitle":"Email de l'administrateur"
"admin_emailTitle":"Email de l'administrateur",
"form_poll_hint":"<i></i> : Oui, <i></i> : Non, <i></i> : Acceptable",
"fc_open_formro":"Ouvrir (en tant que participant)",
"admin_provideAggregateStatisticsHint":"Vous pouvez choisir de fournir des mesures d'utilisation supplémentaires aux développeurs, telles que le nombre approximatif d'utilisateurs enregistrés et quotidiens de votre instance.",
"admin_provideAggregateStatisticsLabel":"Fournir des statistiques agrégées",
"admin_blockDailyCheckLabel":"Désactiver la télémétrie du serveur",
"admin_blockDailyCheckHint":"Les instances CryptPad envoient un message au serveur de l'équipe de développement lors de leur installation et une fois par jour par la suite. Cela permet à l'équipe de savoir quelles versions du logiciel sont en circulation. Vous pouvez refuser cette collecte de données ci-dessous. Le contenu de ces messages peut être examiné dans le log du serveur d'application.",
"admin_blockDailyCheckTitle":"Télémétrie du serveur",
"admin_removeDonateButtonLabel":"Ne pas promouvoir la campagnes de financement",
"admin_removeDonateButtonHint":"Le développement de CryptPad est partiellement financé par des bourses et des dons publics. Faire de la publicité pour notre campagne de financement sur votre instance aide l'équipe de développement à continuer son travail. Vous pouvez désactiver ces notifications.",
"admin_removeDonateButtonTitle":"Participation au financement participatif",
"admin_consentToContactLabel":"Je consens",
"admin_listMyInstanceTitle":"Lister mon instance dans les répertoires publics",
"admin_listMyInstanceHint":"Si votre instance est destinée à un usage public, vous pouvez la répertorier dans les listes d'instances. La télémétrie du serveur doit être activée pour que cela ait un effet.",
"admin_listMyInstanceLabel":"Lister cette instance",
"admin_consentToContactHint":"La télémétrie du serveur comprend l'addresse email de l'administrateur afin que l'équipe de développement puissent vous informer de problèmes sérieux avec le logiciel ou votre configuration. Elle ne sera jamais partagée, vendue ou utilisée à des fins de marketing. Consentez à être contacté si vous souhaitez être informé des problèmes critiques concernant votre serveur.",
"admin_consentToContactTitle":"Consentement à la prise de contact",
"admin_updateAvailableHint":"Une nouvelle version de Cryptpad est disponible",
"admin_checkupHint":"CryptPad est doté d'une page qui diagnostique automatiquement les problèmes de configuration courants et suggère comment les corriger si nécessaire.",
"admin_checkupTitle":"Valider la configuration de l'instance",
"admin_updateAvailableButton":"Lire les notes de mise à jour",
"admin_cat_network":"Réseau",
"mdToolbar_embed":"Insérer un fichier",
"restrictedLoginPrompt":"Vous n'êtes pas autorisé à accéder à ce document. <a>Connectez-vous</a> si vous pensez que votre compte devrait y avoir accès.",
"settings_driveRedirectHint":"La redirection de la page d'accueil vers le drive lors de la connexion n'est plus automatique. L'ancien comportement peut être activé ci-dessous.",
"settings_driveRedirectTitle":"Redirection depuis la page d'accueil",
"form_anonymousBox":"Répondre de manière anonyme",
"form_page":"Page {0}/{1}",
"form_clear":"Effacer",
"form_addMultipleHint":"Ajouter plusieurs dates et heures",
"form_addMultiple":"Tout ajouter",
"form_anonymous_blocked":"Les réponses anonymes sont bloquées pour ce formulaire. Merci de vous <a href=\"/login/\">connecter</a> ou de vous <a href=\"/register/\">enregistrer</a> pour répondre.",
"form_add_item":"Ajouter un objet",
"form_add_option":"Ajouter une option",
"form_newItem":"Nouvel objet",
"form_newOption":"Nouvelle option",
"form_defaultItem":"Objet {0}",
"form_defaultOption":"Option {0}",
"form_anonymous_off":"Bloquées",
"form_anonymous_on":"Autorisées",
"form_anonymous":"Réponses anonymes",
"form_willClose":"Ce formulaire fermera le {0}",
"form_isClosed":"Ce formulaire a été fermé le {0}",
"form_isOpen":"Ce formulaire est ouvert",
"form_removeEnd":"Annuler la clôture",
"form_setEnd":"Date de clôture",
"form_open":"Ouvrir",
"form_isPrivate":"Les réponses sont privées",
"form_isPublic":"Les réponses sont publiques",
"form_makePublicWarning":"Êtes-vous sûr de vouloir rendre les réponses à ce formulaire publiques ? Cette opération ne peut pas être annulée.",
"form_makePublic":"Publier les réponses",
"form_invalidQuestion":"Questions {0}",
"form_invalidWarning":"Certaines résponses contiennent des erreurs :",
"form_input_ph_url":"https://exemple.fr",
"form_input_ph_email":"courriel@exemple.fr",
"form_notAnswered":"<b>{0}</b> réponses vides",
"form_answerWarning":"Identité non confirmée",
"form_answerName":"Réponse de {0} le {1}",
"form_backButton":"Retour",
"form_viewButton":"Voir",
"form_answerAnonymous":"Réponse anonyme le {0}",
"form_showSummary":"Voir le résumé",
"form_showIndividual":"Voir les réponses individuelles",
"form_form":"Formulaire",
"form_editor":"Éditeur",
"form_results_empty":"Il n'y a pas de réponses",
"form_results":"Réponses",
"form_answered":"Vous avez déjà répondu à ce formulaire",
"form_cantFindAnswers":"Vos réponses à ce formulaire n'ont pas pu être récupérées.",
"form_updateWarning":"Mettre à jour avec erreurs",
"form_submitWarning":"Envoyer avec erreurs",
"form_delete":"Supprimer",
"form_sent":"Envoyé",
"form_reset":"Effacer",
"form_update":"Mettre à jour",
"form_submit":"Envoyer",
"form_maxLength":"Limite de caractères : {0}/{1}",
"form_maxOptions":"{0} réponse(s) maximum",
"form_duplicates":"Les doublons ont été supprimés",
"form_description_default":"Votre texte ici",
"form_type_page":"Saut de page",
"form_type_md":"Description",
"form_sort_hint":"Veuillez faire glisser ces éléments par ordre de préférence de 1 à {0}.",
"form_type_sort":"Liste ordonnée",
"form_type_poll":"Sondage",
"form_type_multicheck":"Grille de cases",
"form_type_checkbox":"Cases",
"form_type_multiradio":"Grille de Choix",
"form_type_radio":"Choix",
"form_type_textarea":"Paragraphe",
"form_type_input":"Texte",
"form_default":"Votre question ici ?",
"form_text_number":"Nombre",
"form_text_email":"Email",
"form_text_url":"Lien",
"form_text_text":"Texte",
"form_textType":"Type de texte",
"form_pollYourAnswers":"Vos réponses",
"form_pollTotal":"Total",
"form_poll_switch":"Inverser les axes",
"form_poll_time":"Heure",
"form_poll_day":"Jour",
"form_poll_text":"Texte",
"form_editType":"Type d'option",
"form_editMaxLength":"Nombre maximum de caractères",