Développement d'une barre de contribution intégrable

Pour chipoter, c’est pas terrible d’avoir la date au format dd/mm/yyyy. Le format yyyy-mm-dd est standard et compréhensible par les anglophones. C’est un changement cassant donc je propose avant de faire.

Aussi, quelqu’un a-t-il prévu d’implémenter un choix de langues ? Si non, je me lance. Je propose le paramètre lang=xx, xx étant l’identifiant de langue standard BCP 47. Selon vous, la langue par défaut devrait-elle être le français, l’anglais, ou l’espéranto ?

4 Likes

Je suis d’accord. Je me suis fait la remarque au moment où j’ai codé ça. Je me suis dit que c’était plus simple de mettre la date au format que nous, les français, avons l’habitude. Car au moment de passer le paramètre, ça vient tout seul ^^

Du coup cette solution me paraît pas mal :slight_smile:

C’était prévu en effet. Le paramètre lang=xx correspond exactement à ce que j’imaginais. Si t’es chaud, oui vas-y, je vais sûrement avoir moins de temps dans les mois à venir du fait de mon déménagement et de l’arrivée du 2e Paidge Junior :stuck_out_tongue:

La langue par défaut devrait, selon moi, être en français. Du fait que la communauté est française à l’origine du projet.

3 Likes

Ah oui, d’accord, ça fait sens en effet :+1:

Je pense que la version que tu as installée n’est pas exactement celle que tu proposes sur le Git.

Chez moi j’ai l’erreur JS suivante dans le code source HTML :

    </section>
		<script src="lib/js/jquery-3.4.1.min.js"></script>
	<script src="lib/js/counter.js"></script>
	<script>
	$(document).ready(function(){	
		$(".progress-bar").animate({
			width: "<br />
<b>Warning</b>:  A non-numeric value encountered in <b>/home/boris/www/barre-de-financement-int-grable-master/iframe.php</b> on line <b>257</b><br />
19%"
		}, 1300, "");
	});
	</script>
</body>

Cette erreur est due au fait que dans le code il y a une tentative de concaténation en PHP mais avec l’opérateur de concaténation JS +, qui ne marche pas pour le PHP (il faut utiliser . comme tu sais). Du coup PHP essaye d’additionner le nombre contenu dans $pourcentage avec le caractère “%”, et vu qu’il n’y arrive pas il retourne l’erreur " A non-numeric value encountered ".

Et il y a par ailleurs un doublon vu qu’on essaye d’afficher deux fois le caractère % (une fois en PHP et une fois en JS).

	<script>
	$(document).ready(function(){	
		$(".progress-bar").animate({
			width: "<?php echo $percentage+"%"; ?>%"
		}, 1300, "");
	});
	</script>

D’où la correction :

	<script>
	$(document).ready(function(){	
		$(".progress-bar").animate({
			width: "<?php echo $percentage; ?>%"
		}, 1300, "");
	});
	</script>

Voilà voilà. C’étaient juste mes 0,02 Ğ1.

Pourtant si et je n’ai pas d’erreur dans mon source HTML. C’est sûrement du à la configuration ou à la version de mon serveur web. Mais tu as raison la syntaxe n’est pas bonne. Je corrige :wink:

1 Like

J’ai fait un système de traduction tout simple (voir le fork) (démo en ligne) avec pour l’instant français et anglais. Je termine l’espéranto et fais quelques corrections pour remettre un peu le HTML aux normes et je fais la MR.

Je conseille aussi d’utiliser des guillemets simples plutôt que des doubles en PHP, pour les performances.

3 Likes

Cool :slight_smile: Je te ferai un don pour ça et pour gmixer :wink:
Ah je ne savais pas pour les guillemets. Sinon il me semblait que le mot-clé global c’était le mal absolu non ?

PS : Je remarque que tu as toujours la ligne 262 du fichier iframe.php à corriger comme expliqué par par @anon88550267.

1 Like

Pour la ligne 262 ça devrait pouvoir fusionner tout seul si quelqu’un l’a déjà corrigé.

Je sais que global c’est pas bien, c’est pour permettre d’écrire tr('foo') plutôt que tr($ttr,'foo'). Les arguments de l’article portent sur des variables qui changent, mais là je ne la change jamais. Le programme est complètement linéaire, donc je pense que les globales ne sont pas gênantes dans le cas de PHP exécuté par un serveur.

Les variables globales c’est le mal absolu oui, en revanche, les constantes globales c’est très bien :slight_smile:

3 Likes

J’ai envoyé la MR !

Il y a un souci avec le graphe : seuls les jours où un don a été reçu sont affichés, donc l’échelle du temps peut ne pas être linéaire.

3 Likes

J’ai effectué une mise à jour importante sur le gitlab. Notamment pour prendre compte les aspects suivants :

C’est désormais chose faite.

Désormais, même le graphe est internationnalisé :wink:

Désormais j’utilise les timestamp pour indiquer quand les dons ont été reçus. Ce qui permet d’avoir une échelle des abscisses qui s’adapte toute seule.

1 Like

J’ai mis à jour le format de date et voici la barre et le graphe de financement du projet Duniter pour le mois d’octobre.

4 Likes

C’est bon @Moul, tu peux enlever les paramètres start_date et end_date :wink:

2 Likes

L’axe x du graphe n’affiche plus les dates mais seulement midi (« 12AM » en anglais comme en français).

C’est le comportement normal de graphjs. Il n’y a pas assez de temps écoulé entre le début et la fin… Au bout de quelques jours, les dates réapparaitront. Et au bout de qqes mois les dates disparaitront pour n’afficher que les mois puis les années si le graph dure sur plusieurs années. Pour tester, il te suffit de modifier le start_date et, éventuellement, le end_date.

Les fichiers de traduction sont comme ça. Si tu mets en esperanto, tu verras que AM et PM ne sont plus pareils ^^ Peut-être qu’en français on peut mettre autre chose.

Sinon, je commence à voir pour générer un png à intégrer sur les forums.

2 Likes

Ça fait une semaine et on a toujours pas les dates affichées en abscisse.

Je ne sais pas à partir de cb de temps GraphJS modifie l’intitulé des abscisses… Mais si tu mets une start_date ancienne, tu verras qu’il le fait :wink: Y’a ptet un réglage à faire. Je regarderai quand j’aurai 5min. Là je finalise la génération d’un PNG avec image paramétrable (entre Duniter, Cesium et Silkaj).

4 Likes

C’est améliorable mais voici le résultat avec tous les paramètres possibles :

Le code est disponible sur le gitlab :wink:

6 Likes

Sur ce forum je vois l’image, pas sur le forum monnaie-libre…

Bizarre… C’est toujours le cas ? J’ai vu que Discourse avait remplacé au bout d’un moment la balise code de mon post de manière automatique. Peut-être qu’il lui faut un peu de temps pour traiter les messages…

Pas de changement ce midi. En tout cas c’est chouette!