Ce que je n’aime pas dans typo3

Ce que je n’aime pas dans typo3…

(ou en tout cas dans l’installation que j’ai de typo3)

Ce que je trouve pas trop mal dans typo3.

Pour ne pas être négatif, je vais aussi parler de ce que je trouve intéressant dans typo3.

  • le système de tca qui permet de rapidement fournir une interface graphique d’admin à une structure de base de donnée. (dommage que parfois ce ne soit pas assez joli et qu’on finisse par tout réinventer juste pour faire joli)
  • le mode page qui permet de choisir et d’arranger dans une page les blocs de contenu.
  • le système de gestion des permissions permet d’être précis. Il est possible de donner accès uniquement à certaines parties d’arborescence pour des utilisateurs différents.

comprenons la croissance avant la décroissance

<- retour au sommaire: La décroissance, un nouveau projet de société

L’origine du concept de décroissance

Nicholas Georgescu-Roegen était un économiste mathématicien. Il a remarqué que les économistes se basent sur un modèle économique fondé sur le paradigme de la mécanique newtonienne et ne prennent pas en compte le principe de la dégradation de l’énergie et de la matière. Il a créé un modèle économique qui tient compte de la thermodynamique en introduisant le second principe de la thermodynamique: l’entropie.

L’entropie est ce qui fait qu’un glaçon qui fond dans un verre ne pourra jamais redevenir un glaçon. L’entropie dégrade l’énergie et la matière.

Nicholas Georgescu-Roegen a montré que le moteur de l’économie est en fait très concrètement un moteur thermique.  (si l’on prend en considération que l’industrie fonctionne grâce à la combustion du charbon, puis du gaz, du pétrole, de la fission nucléaire, etc..)

Donc l’économie est une énorme machine thermique qui évidemment dépend des lois de la  physique thermique. Il dresse un constat alarmant: il faut intégrer l’environnement dans le calcul du fonctionnement de l’économie. Sinon on court à la catastrophe ! Il ne faut pas gaspiller nos ressources, l’entropie va s’en charger assez rapidement.

Le concept de décroissance est donc, à la base, un concept économique.

C’est un concept qui veut éviter le gaspillage des ressources naturelles. Un concept qui critique l’idée d’une croissance économique infinie.

Un slogan que l’on retrouve souvent du côté des partisans de la décroissance:

La croissance n’est pas la solution, c’est le problème !

Une explication du mot décroissance nous dit que dans le mot débourser le préfixe signifie « sortir de » sa bourse. Ainsi, selon cette approche, le mot décroissance, signifie: sortir de la croissance.

D’accord, la décroissance veut en finir dur système économique qui érige la croissance en dogme. Mais pour bien comprendre ce que l’on entend par décroissance, il faut déjà comprendre ce que l’on entend par croissance.

Qu’est ce que la croissance ?

La croissance en biologie

La croissance, c’est tout d’abord un terme issue du la croissance en taille des être vivant. Si l’on fouille un peu l’étymologie du mot croissance, on trouve que ce mot vient du latin crescere (« naître, venir à la vie ») qui lui-même est dérivé de Ceres (Cérès, déesse de l’agriculture). (Le nom de Cérès est aussi à l’origine du mot céréales)

Tous les êtres vivants croissent, grandissent en taille, augmentent leur consommation de ressource. Cette croissance peut avoir de nombreuses phases.

Pour un humain, on dit communément que nous grandissons les 20 premières années, puis nous vieillissons pour les pessimistes ou nous murissons pour les optimistes.

Ln(n) en fonction du temps

La croissance d’une colonie de bactérie est souvent caractérisée par une phase de latence, une phase d’accélération, une phase exponentielle, une phase de décélération, une phase stationnaire, une phase de déclin. Tout ce cycle est fortement corrélé avec les ressources à disposition et à la vitesse à laquelle les ressources sont transformées en déchets.

Avec ces exemples, on observe que le terme de croissance peut représenter plusieurs phases, plusieurs sorte de croissance.

Observons du coté mathématique quelles sont ces différentes sortes de croissance.

La croissance en mathématiques

En mathématiques, et surtout en analyse, on étudie des fonctions. On entre une valeur x dans une fonction et on en ressort une valeur y. Une fonction peut être représentée de manière graphique. Ce qui est en général plus parlant.

Nous allons nous intéresser ici aux fonctions avec une croissance positive. C’est à dire des fonctions dont la pente (que l’on peut observer sur un graphe) a une évolution toujours positive.

Il existe plusieurs sortes de fonctions croissantes dont la pente varie plus ou moins vite, qui croissent plus ou moins vite. Si l’on fait un tour des principaux types de fonctions croissantes. On trouve:

Comme une image est beaucoup plus parlante, voici la représentation des ces types de fonctions en images.

croissance.pngcroissance-exponentielle.pngSur la première image on va se placer proche de l’origine, et observer ses fonctions.

La fonction en vert est une fonction linéaire. y=x. C’est la base de la fonction proportionnelle.

C’est la fonction à laquelle notre cerveau humain est le plus habitué.

De cette fonction on peut faire de nombreuse variantes proportionnelle.s Ici nous avons tout ce qui sort est égale à ce qui entre. On peut créer tout ce qui sort vaut 2 fois ce qui entre. Ou même tout ce qui sort vaut 1000 fois ce qui entre. C’est toujours le même type de fonction. Seule la pente va varier.

En bleu, nous avons la fonction y=x2, une fonction polynomiale. Une fonction qui est composée de puissance. Ici nous avons la puissance 2, la fonction « au carré ». Tout ce qui sort est ce qui entre multiplié par lui même.

Ce type de fonction est déjà moins intuitif pour notre cerveau humain. C’est ce genre de fonction qui régit les mouvements accéléré et les énergies potentielles mécanique. En d’autre termes quand une voiture a un accident, quand elle frappe un mur ça fait mal. Contrairement à une intuition courante de notre cerveau, ça ne fait pas mal proportionnellement à la vitesse, mais proportionnellement à la vitesse multipliée par elle même !!

Donc ça fait encore plus mal !

En rouge nous avons la fonction exponentielle. En mathématique on dit qu’une fonction exponentielle est une fonction qui est capable de transformer une somme en un produit. Pas très intuitif! C’est une fonction qui est difficile à comprendre pour le cerveau humain.  C’est une fonction qu’il est plus facile de comprendre par des exemples de phénomènes à croissance exponentielle.

Quand on parle de croissance exponentielle, on prend souvent l’exemple de la croissance d’une population.

De plus, exprime souvent la croissance exponentielle sous forme d’un pourcentage : une croissance de 10 % par an signifie que la population est multipliée par 1,1 chaque année. (1/100 = 0.1) Cette valeur en pourcent est un taux de croissance.

De manière générale, on occulte souvent la fonction exponentielle en ne parlant que de taux de croissance. C’est beaucoup plus facile. Car, en ne parlant que du taux de croissance on retombe sur une fonction linéaire. Ce que notre cerveau aime bien !

Mais attention, une fonction exponentielle qui a un taux de croissance constant est toujours en pleine croissance !

En observant les deux graphes ci-dessus, on remarque, que proche de l’origine, les trois types de fonctions n’ont pas beaucoup de différences. Puis sur le second graphe, on voit mieux que la croissance d’une fonction exponentielle est très différente de celle d’une fonction linéaire.

L’exponentielle a une pente tellement raide qu’il est difficile de la représenter sur un graphe. Mais on peut tenter de concrétiser un peu plus la taille qu’aurait le graphe pour représenter une exponentielle.

On va se dire que l’unité utilisée sur ces graphes est le centimètre. Ainsi, pour un déplacement de 10cm sur l’axe des x, avec ma fonction linéaire y=x j’obtiens un déplacement vertical de 10cm.

Avec la fonction exponentielle, un déplacement de 10cm sur l’axe des x correspond à un déplacement de 22026 cm, soit 220m !!

Si je pousse ne serait ce que de 1cm sur l’axe des x pour arriver à 11cm, j’arriverai à une hauteur de 598,74 m ! et si je vais à 12cm, j’arriverai à 1,627 km

Vu que j’ai encore de la place sur mon axe des x, je pousse un plus loin pour aller me poser précisément à 24,36cm. Quelle est la distance que j’obtiens sur mon axe des y ? …. et bien j’ai choisi cet endroit précis, car on arrive sur la distance qu’il y a entre la terre et la lune ! Soit environ 380 000 km !

Donc il faut se méfier des phénomènes à croissance exponentielle, ils sortent souvent du cadre de l’entendement de notre cerveau humain. Surtout si en plus on masque la croissance exponentielle en parlant de taux de croissance en pour-cent.

Si l’on reprend l’exemple cité ci-dessus, de la population qui augmente de 10% par an. Pour une population de 1000 personnes:

  • au bout d’un an, la population vaut 1100 personnes. (1.1 x 1000)
  • au bout de 2 ans, la population vaut 1210 personnes. (1.1 x 1100 ou 1000 x 1.1 x 1.1 ou 1000 x 1.12)
  • au bout de 7 ans, la population vaut 1948,717 personnes, soit presque le double. (1000 x 1.17 )
  • au bout de 20 ans, la population vaut 6727 soit (1000 x 1.120 )
  • au bout d’un siècle, la population de ce petit village de 1000 habitants verra sa population arriver à 13,78 millions d’habitants !

Un des exemples courant de fonction exponentielle que l’on utilise, ce sont les crédits bancaires. Il faut se rendre compte qu’une somme investie peut doubler rapidement !

Avec un intérêt à 3%, il faut 24 ans à une somme pour se dédoubler ! Ce sont des valeurs courante pour des hypothèques !

Donc il faut se rendre compte que la plupart des gens payent plusieurs fois leur maison !

Pour bien comprendre, voici un Jeu de la poste suisse pour apprendre à gérer son budget.

Il y a un calculateur de crédit (feuille xls) pour bien comprendre le fonctionnement des  intérêts.

La croissance en économie

Pour le commun des mortels la croissance économique c’est surtout la petit infos du jour dans les médias.

Voici un exemple de ce que l’on a pu entendre sur la rsr le 2 septembre 2010.

La croissance de l’économie suisse se poursuit, au deuxième trimestre, le produit intérieur brut a progressé de 0.9% par rapport aux trois premiers mois de l’année… (…) …et puis les services financiers ont le sourire avec une hausse de 1,6%… voilà pour les gagnants, mais tous les secteurs ne connaissent pas une croissance, les services publics n’ont pratiquement pas créés de valeurs….

Voici cet extrait du journal de la rsr au format mp3

On nous dit dans ce journal radio que la croissance du PIB, le Produit Intérieur Brut a augmenté de 0.9% en suisse pendant la durée du dernier trimestre.

Le produit intérieur brut est un indicateur qui renseigne sur la valeur de l’accroissement des richesses. Quand on nous parle de la croissance du PIB, on nous parle de la croissance d’une croissance.

Il faut se souvenir de la fonction mathématique exponentielle que nous avons vue. Il est possible d’exprimer la pente de la fonction, sa croissance, par une taux en pour-cent. Même si le taux est constant d’une mesure à l’autre, la fonction est toujours une fonction croissante !

Ici on nous indique que le taux de croissance lui même a augmenté de manière croissante. Ainsi on a encore accentué la pente de notre fonction exponentielle. Nous avons un gain qui est énorme, inimaginable pour un cerveau humain.

Cependant la manière dont la croissance du PIB est présentée fausse tout. Si on reproche à une entreprise que sa progression de croissance s’est ralentie, on à l’impression de comprendre que son chiffre d’affaire a baissé. Mais ce n’est pas vrai, il a grandit. Il a même grandit de plus en plus vite. Mais pas aussi vite que ce que certains analystes avaient prévus !

Une valeur en pour-cent n’est qu’une proportion. Le 3% d’une année est forcément plus grand que le 3% de l’année d’avant si l’on refait le calcul en ayant ajouté à la valeur totale la valeur absolue de ce petit bout de 3%.

Ainsi si l’on reprend l’exemple de la population de notre petit village de 1000 habitants.

Si l’on se dit qu’il y a une croissance de 10% de la population les 20 premières années, puis le taux de croissance diminue, on a plus que 8% de croissance les 20 années suivantes, on arrive à une population de:

  • au bout de 20 ans, à 10% la population vaut 6727 soit (1000 x 1.120 )
  • au bout de 20 ans de plus, à 8% la population vaut 31354 soit (6727 x 1.0820 )

Malgré la diminution de 2% de taux de croissance, la population à plus que quadruplé les 20 années suivantes !

Une diminution de taux peut donc quand même être de la croissance !

Mais effectivement dans l’absolu la croissance a été un peu moindre que si le taux était resté à 10%

  • au bout de 40 ans de plus, à 10% la population vaut 45259 soit (1000 x 1.140 )

C’est ainsi que l’on peut voir que même avec une croissance négative du PIB, il est possible de voir une valeur absolue plus grande !

Quelques exemples de PIB selon la page de wikipedia.. mais la fiabilité n’est pas à toute épreuve !

PIB suisse en millions de $:

2006: 377 240
2007: 415 516
2008: 492 595
2009: 494 622 => -1,45%

On nous dit que la croissance du PIB es négative entre 2008 et 2009 alors qu’en absolu le PIB a augmenté !

USA:

2008: 14 264 600
2009: 14 256 275  => -2,44%

Mauritanie:

2007: 2 644
2009: 3 029 => -1,07%

Monde:

2008: 60 689 812
2009: 57 937 460 => -0,60%

Brésil:

2008: 1 572 839
2009: 1 574 039 => -0,19%

Voici un outil pour comparer l’évolution du PIB en suisse et le comparer à l’évolution du taux de croissance annuel de ce PIB


Source: tradingeconomics.com

Evolution du taux de croissance annuel du PIB


Source: tradingeconomics.com

On peut observer d’une manière globale que le PIB en absolu augmente toujours.

Souvent dans les médias on nous parle uniquement du taux de croissance. Le taux de croissance peut augmenter ou diminuer et ainsi on explique que l’économie va bien ou mal. Que l’on est en boom économique ou en récession.

Mais en fait, globalement, la valeur absolue du PIB est toujours en augmentation, en pleine croissance, et même en croissance de type exponentielle.

Voici un graphe qui illustre la valeur absolue du PIB suisse en milliard de $ entre 1960 et 2010:

évolution de la valeur absolue du PIB en suisse depuis 1960.png

On observe que la valeur absolue de ce PIB a déjà doublée dans les 10 dernières années. En 2001, le PIB suisse était de 250 Milliards de $ et en 2010 le PIB suisse est de 500 Milliards de $.

Il subsiste tout de même un biais dans cette présentation, c’est le fait que l’économie suisse utilise beaucoup sa propre monnaie qu’est le franc suisse, alors que ce graphe est présenté en $ dollars US. Le taux de change entre ces monnaies à pas mal changé en 50 ans. Actuellement, en 2011, 1$ = 0.83 CHF alors qu’en 2001, 1$ = 1.7$.

projection de croissance du PIB suisse à 2 pour cent.pngPar rapport à l’inflation, il semble que le dollars de 2011 vaut 7.5 fois moins qu’en 1960.

Comparé à l’or, le dollar perd 98 % de sa valeur entre 1971 et 2010. L’once d’or est passé en 40 ans de 35 à 1 250 dollars. Ainsi, c’est peut être une partie de cette dévaluation du dollars par rapport au franc et permet de soutenir la croissance !

Mais le problème ne change pas. Le PIB ne fait que d’augmenter, même si le taux de croissance est variable.

Ainsi, à l’avenir, il nous faudra échanger encore plus d’objet et de services pour faire croitre le PIB, donc il faudra encore plus transformer des ressources naturelles en déchêts !

De combien va encore augmenter le PIB ?

Il est impossible de prévoir le futur, mais on peut faire comme les économistes qui aime prévoir le futur par des projections du présent.

Si l’on table sur une croissance du PIB de 2% par an on peut utiliser la formule suivante:

y = 500 (1.02)^x

500, c’est les 500 milliards du PIB suisse en 2010, 1.02, c’est pour dire que l’année suivant, on veut le même résultat augmenté de 0,02 fois, c’est à dire 2% et l’année est la variable x en exposant.

C’est donc bien une équation d’une fonction exponentielle.

On peut voir sur le graphe ci-contre de cette fonction que le PIB continue d’augmenter très vite. Tellement vite que mon échelle ne me permet d’afficher que les 2 prochaines années où l’ on arrive déjà à 520 milliards. Donc, d’ici 2 ans, en plus de ce que l’on consomme maintenant, on consommera aussi l’équivalent de ce qui permettait à l’économie du début des années 1970 de tourner !

Mais ceci n’est qu’une projection du passé sur le futur. Seuls les économistes sont assez fous pour penser que l’on peut ainsi prédire l’avenir. Comme je l’ai déjà expliqué dans un article, l’avenir est imprévisible. Les grands événements qui ont marqué l’histoire étaient totalement imprévus.

Avec une telle croissance de 2%, en 2050, (date pour laquelle on fait beaucoup de projections), on devrait, en suisse consommer 2 fois plus de ressources que maintenant.

Une image vaut mille mots dit-on. Alors, j’ai tenté de montrer graphiquement ma projection de la croissance du PIB suisse pour 2050.

 projection de la croissance du PIB suisse à 2 pour cent en 2050.png
J’ai repris le graphe déjà montré ci-dessus, qui montre la valeur absolue du PIB suisse en milliards de $ depuis 1960 jusqu’en 2010.

La surface sous cette courbe représente tous les services et biens qui ont été consommés pour atteindre cette évolution du PIB. En vert, nous avons tout ce qui a déjà été consommé ces 50 dernières années.

Puis j’ai projeté la courbe jusqu’en 2050. Là, si l’on suppose un PIB de 500 milliards de $ en 2010, avec un croissance annuelle de 2%, en 2050, nous arrivons à un PIB de 1100 milliards.

Pour tenter de me représenter le volume de services et biens qu’il faudra consommer pour atteindre ce PIB de 1100 milliards en 2050, j’ai cloné la surface verte en surface jaune. J’ai rempli tout l’espace à disposition avec des surfaces jaune. (En terme mathématique, calculer la surface sous une courbe revient à calculer l’intégrale de cette fonction.)

J’arrive presque à placer 3 fois cette surface dans l’espace à disposition.

Cela signifie que pour atteindre le PIB qui correspond à une croissance annuelle de 2% jusqu’en 2050, nous aurons besoin de consommer 3 fois plus de services et de biens que ce qui a été produit entre 1960 et 2010.

Avec tous les problèmes de ressources et de dérèglement climatique que l’on observe à l’heure actuelle, ça me semble juste totalement impossible !!!

Il sembée que c’est  Kenneth E. Boulding qui disait:

Celui qui croit qu’une croissance exponentielle peut continuer indéfiniment dans un monde fini est soit un fou, soit un économiste.

Réfléchissez à ce qu’il faut pour mettre en place une telle économie. Comment va ont pouvoir consommer encore plus ?

Une solution est de rendre tout jettable. Diminuer la durée de vie des appareils et augmenter leur nombre. Vous devrez changer votre téléphone tous les 3 mois, votre ordinateur chaque année, vos habits chaque semaine. Vous mangerez uniquement de la nourriture qui vient de l’autre côté de la planète pour qu’un maximum d’intermédiaires aient pu la toucher, vous n’aurez plus de vaisselle autre que de la vaisselle jettable.

Il faudra privatiser totalement l’espace public. Chaque rue sera payante, le GPS que vous avez toujours sur vous enregistrera votre parcours et permettra à la fin du mois de vous facturer uniquement les trajets que vous avez effectué.

– Restez chez vous et vous ne payerez rien dira la pub des livreurs à domicile.

L’école publique est une charge, on va la privatiser, ainsi elle peut rentrer dans le calcul du PIB, passer de charge à profit !

Dans la même logique, les crèches seront obligatoires. Un parent qui reste à la maison s’occuper de son enfant est un parent qui ne crée pas de valeur ! Un parent qui reste à la maison s’occuper de son enfant est une place de travail de moins dans une crèche !

En bref, on doit étendre la sphère marchande et faire tourner plus vite le circuit économique.

Comment est calculé le PIB ?

Le PIB est un indice qui est construit avec de nombreuses règles. Il y a des choses que l’on comptabilise dans les richesses et d’autres que l’on ne comptabilise pas.

Quand on entend dans le journal de la RSR que les services financiers sourient mais que les services publics n’ont pratiquement pas créés de valeurs, il faut réfléchir un peu.

Le PIB tient compte des gains en bourse, mais il ne tiens pas compte de ce que l’Etat dépense pour financer les écoles.

Autrement dit, pour augmenter le PIB, on devrait ne plus fiancer les écoles et immobiliser tout l’argent ainsi économisé en le plaçant en bourse ! Logique !

De même, les catastrophes sont toujours bonne pour augmenter le PIB. Un accident de voiture fera travailler de nombreuses personnes, des ambulanciers aux vendeurs de ferraille pour l’épave et de voiture pour le remplacement.

La pollution d’une rivière par une usine sera bénéfique pour le PIB, l’entreprise produira à moindre coût si elle n’as pas besoin de filtre anti-pollution pou rejeter son poison. Il faudra de nombreux spécialiste pour étudier la catastrophe et finalement d’énormes travaux pour assainir la pollution !

Si le moteur d’une voiture à l’arrêt dans un embouteillage tourne, ça fait augmenter le PIB. Il faudra m’expliquer où se trouve la création de richesse dans tout ces exemples !

Donc souvent une perte de patrimoine, de vie humaine, de ressources naturelles est comptabilisé comme une richesse !

Par contre l’école, à moins qu’elle soit privée et donc non financée par l’Etat, ne crée jamais aucune richesse. Pire, elle dilapide de l’argent !

Finalement, je me demande vraiment pourquoi les médias nous bassinent autant avec la croissance du PIB ?

D’autres indicateurs économiques

Parfois, il faut savoir changer de lunettes. Garder l’esprit ouvert. Voir qu’il existe de nombreux autres indicateurs économiques que le PIB.

Parmi cette foultitude d’indicateurs économique. On peut s’arrêter sur l’indice de santé sociale, qui comme son nom l’indique prend en compte des questions de sociales et de santé.

Cette indice, contrairement au PIB, comptabilise les accidents de la route comme un drame et nom comme un bienfait. Ce qui semble assez logique.

Voici une comparaison entre l’indice de santé sociale et le PIB américain entre 1959 et 1996:

6 indice de santé sociale américain à neuf variables, de 1959 à 1996.jpegOn remarque un découplage de ces indices aux environs de 1975.

Depuis le milieu des années 1970, la croissance du PIB n’est pas un signe de croissance du bien être comme c’était le cas auparavant.

Voici encore un autre indicateur économique, l’indicateur de progrès véritable.

Cet indicateur est semblable au PIB, mais il prend en compte également la création de richesse qui ne passe pas par une monétisation comme le bénévolat ou le travail domestique.

De plus, il a une composante écologique qui déduit de la création de richesse, les pertes écologiques et les dégâts sociaux.

Voici une comparaison entre le PIB et de l’indicateur de progrès véritable des années 1950 à la fin des années 1990:7 indice de progrès véritable GPI (Genuine Progress Indicator).jpgOn observe que les courbes se découplent vers le début des années 1970. Le progrès véritables stagne, voir diminue quand le PIB croit.

Ainsi on observe que les outils mis en place à la fin de la deuxième guerre mondiale pour évaluer notre économie ne sont pas forcément tout à fait adaptés.

Cela fait 50 ans que nous avons des outils alternatifs pour voir une réalité tout autre que la croissance du PIB comme source de bien être. Pourquoi est ce que l’on garde le PIB comme référence majeure ?

Pourquoi est-ce que les médias nous parlent toujours du PIB dans le flash info et très rarement de la cinquantaines d’autres indicateurs économiques ?

Les choses bougent quand même. Il existe des initiatives du genre de la commission Stiglitz, qui ont pour but de définir de nouveaux indicateurs de richesse plus juste.

Mais finalement, on les a pas déjà ces indicateurs ?

Il suffit juste de décider de ce qui a le plus d’importance dans nos valeurs…. pour le moment, d’après les médias et politiques du moment, on dirait que seul le PIB compte…..

Suite => La publicité, le moteur du consumérisme

Réseau wifi dans la vallée des Ponts de Martels

Dans la vallées des Ponts, dans le canton de Neuchâtel, il y a des fermes qui ne sont pas accessibles via des connexions ADSL ou cable. Pourtant, de plus en plus, les paysans ont besoin de connexion internet pour toute une part de travail administratif qui leur est demandé par les autorités. (ou pour avoir tous les services que l’on trouve sur un internet)

Au Ponts-de-Martel, il existe une solution à ce problème. Un fournisseur d’accès internet par réseau wifi existe !

Il s’agit de Marc-André Mojon.
Toutes les infos de contact sont sur son site:
http://mojolan.ch

Cet été, il y a même eu un reportage sur canal alpha:
http://www.arcinfo.ch/videos/actualites/video/7396/un_paysan_du_mont_de_travers_decouvre_le_haut_debit.html

En général il fait des connexions jusque chez lui aux Ponts-de-Martel, là où il a deux connexions adsl qu’il partage.
Ce sont des connexions chez vtx. Un fournisseur d’accès internet qui autorise le partage de ta connexion avec d’autres gens.
Chez sunrise par exemple, les conditions du contrat ne le permettent pas.

Donc il faut trouver une maison à vue chez qui il est possible d’avoir une connexion internet chez un opérateur « gentil ».

Pour les liens wifi, le matériel utilisé est du genre:

AP Bullets 5 GHz: http://www.ubnt.com/bulletm
Les injecteurs POE: http://www.pcengines.ch/poe1a2.htm
Les antennes: http://www.smarteq.se/5.1b27248111ee6cfde1e80009766.html

Il y a moyen de faire même plusieurs dizaines de kilomètre !

comment générer un pdf à partir d’une page web

Comment générer un pdf à partir d’une page web

Il est souvent utile de pouvoir générer un pdf à partir d’un contenu web.

Il existe de nombreuses solutions plus ou moins bonne.

Tout d’abord, il faut savoir que l’html+css et le format pdf sont quand même passablement différents. Il va donc être facile de convertir du contenu dans un format ou dans l’autre. Mais il ne va pas être simple d’avoir la même mise en page dans les deux cas.

Traditionnellement, le pdf est souvent utilisé pour faire des documents que l’on exporte d’un site web. L’exemple typique c’est la facture qui est générée après un achat sur un site de e-commerce.

Pour concevoir ce genre de document, on conçoit un canevas tout fait où il suffit de remplir les données de la marchandises achetée et les données du client.

Pour ce genre d’application on utilise traditionnellement des applications comme pdflib.

Pour faire plus léger, en php, et totalement gratuit, d’autres alternatives on été crées. Il s’agit par exemple de TCPDF.

Cette bibliothèques est utilisée dans de nombreux cms pour exporter directement un pdf à partir d’une page. Bien que le résultat ne soit pas si mal, il est toujours frustrant. Le résultat n’est pas pareil que l’original web.

Ce script est capable de comprendre une partie d’html, mais comprendre les styles css par dessus est trop compliqué.

Une nouvelle idée est apparue: créer un moteur qui interprète le html+css comme n’importe quel navigateur web et sortir l’affichage au format pdf.

C’est ce que fait l’application prince-xml.

Prince est capable de comprendre de nombreuse grammaire xml et de les transformer en pdf. Le résultat est totalement différent de ce qu’un tcpdf est capable de faire ! C’est nettement mieux.

Google utilise cette solution pour générer des pdf à partir de document google docs… Si google n’a pas mieux maison… c’est que le produit est vraiment bien !

Il reste un petit bémole à cette solution qui est probablment la meilleures, c’est que pour une utilisation serveur, il faut une license qui est passablement chère… 3000 dollars australiens.. gloups. Même si le soft vaut certainement son prix… c’est quand même hors de prix pour beaucoup…..

Voilà qu’une nouvelle réflexion s’est faite….. Quand j’imprime une page web depuis safari sur mon mac, directement je peux exporter l’impression en pdf…. on ne peut pas utiliser le soft qui fait ça ??

Et effectivement, en creuseant de ce côté il y a moyen de faire quelque chose. Les basses couche de safari, webkit, sont opensource. Il reste juste les hautes couches applicative à bidouiller, mais le plus dur est fait, comprendre le html+css qui est vraiment de plus en plus complexe.

C’est ainsi qu’est née l’application wkhtmltopdf, c’est une application opensource qui est maintenant à maturité. Elle permet très simplement de faire juste ce qu’on lui demande, manger de l’html+css pour en resortir un pdf.

Personnellement, je suis assez bluffé. Pas mal du tout. Les petits à côté sont sympa aussi. Ce que j’aime beaucoup, c’est la génération automatique de la table des matières et le fait de pouvoir ajouter directement une page de titre.

Voici la commande qui permet de générer un fichier pdf à partir d’une page web tout en ajoutant au début du document une page de table des matières qui a pour titre « Table des matières ».

  • wkhtmltopdf -t –toc-header-text « Table des matières » monfichier.html monfichier.pdf

Voilà, j’ai maintenant tout ce qu’il me faut pour avoir un traitement de texte complet dans un simple navigateur web.

C’est ce que j’utilise ici pour écrire ces lignes.

Un couplage de tinyMCE pour la partie écriture wysiwyg, puis j’enregistre et gère mes documents l’application web que j’ai codée, puis j’exporte les documents que j’écris à l’aide de wkhtmltopdf.

Merveilleux !

Pourquoi s’ennuyer avec M$ office… ou même openoffice… qui sont des suite bureautique de plus en plus lourdes pour ne pas faire grand chose de plus qu’il y a 15 ans dans le traitement de texte !

Transformer une séquence d’image de webcam en film

Transformer une séquence d’image en film

Il m’arrive souvent de prendre des images de webcam régulièrement et de faire des films en vitesse accélérée.

J’utilise un script shell pour aller chercher les images d’une webcam et les stocker dans un dossier avec un nom qui correspond à la date et l’heure de prise de vue.

Voici le script que j’utilise:

#!/bin/bash
#Capture une image de la vue dedevant chez moi toute les 3 s
while true; do
    curl http://axis-00408c77db21.local/axis-cgi/jpg/image.cgi?resolution=640x480 -o `/bin/date +"%y%m%d%H%M%S"`.jpg
    sleep 3
done

ça me permet d’appeller ma webcam qui se signale en local par le protocole bonjour.

Puis, après avoir fait tourner mon script pendant quelques semaines, il m’arrive souvent d’avoir des milliers ou plutôt des centaines de milliers de fichiers qu’il faut traiter.

Pour faire le film sur mac à partir des images, j’ai tester plusieurs logiciel:

  • Quicktime player pro version 7 a une fonction d’importation de séquence d’image.
  • iStopMotion
  • mencoder

Mencoder pour mac osx peut être télécharché ici:

http://prdownloads.sourceforge.net/mplayerosx/ffmpegXbinaries20060307.zip

mencoder est un outils en ligne de commande, mais c’est le plus robuste que j’ai trouvé pour gérer les centaines de milliers de fichiers et en plus il est gratuit.

Si mencoder est placé dans le dossier /Applications du mac, pour faire le film, il faut aller dans le dossier qui contient les images et lancer la commande suivante:

/Applications/mencoder « mf://*.jpg » -mf fps=50 -ovc x264 -o output264.avi

Un film sera créé au format h.264 dans le dossier avec le nom: output264.avi

Il existe plusieurs codec utilisable par défaut.

La commande:

mencoder -ovc help

permet de voir les codec disponibles:

Available codecs:
copy     – frame copy, without re-encoding. Doesn’t work with filters.
frameno  – special audio-only file for 3-pass encoding, see DOCS.
raw      – uncompressed video. Use fourcc option to set format explicitly.
nuv      – nuppel video
lavc     – libavcodec codecs – best quality!
libdv    – DV encoding with libdv v0.9.5
xvid     – XviD encoding
x264     – H.264 encoding

Mise à jour en 2017 en utilisant ffmpeg

De 2010 à 2017.. les choses ont changées… mais pas les besoins.

timelapse avec ffmpeg

Inspiration:

Procédure:

  • créer un dossier
  • RESIZED_PHOTO_DIRECTORY
  • dans les dossier des photos

Depuis le dossier lancer la commande:

for FILE in `ls *.JPG`; do \

  mogrify -resize 1280x720^ -gravity center -crop 1280x720+0+0 +repage -write RESIZED_PHOTO_DIRECTORY/$FILE $FILE; \

done

Créer la vidéo:

ffmpeg -start_number 1 -i _DSF%04d.JPG -c:v libx264 -pix_fmt yuv420p video.mp4

ou….

ffmpeg -r 24 -pattern_type glob -i '*.JPG' -i DSC_%04d.JPG -s hd1080 -vcodec libx264 timelapse.mp4

Du coup j’utilise:

ffmpeg -r 24 -pattern_type glob -i '*.JPG' -vcodec libx264 timelapse.mp4

Je me fait insulter car la manière de passer en paramètre le codec est deprecated et que j’ai pas préciser la taille des pixel… il prend pas défaut yuv.. comme dans l’exemple…

mais ça marche sans soucis et c’est beau !

alternative pour gérer le resize..

convert input.jpg -resize '1920x1080^' -gravity center -crop '1920x1080+0+0' output.jpg

Exemple de timelapse avec ffmpeg

Voici un exemple de timelapse que j’ai fait:

documentation sur Nintendo et les sons des vieux jeux vidéos

Infos à propos de Nintendo et sons de vieux jeux vidéos

Sources intéressantes..

Musiques et sons:

sons de Mario Bros selon les archives sons que l’on trouve par ici:

Le site d’archives de sons de jeux vidéos http://www.zophar.net/music.html

La musique es au format spc ou nsf. Il faut lire ces fichiers avec un lecteur de fichier spc ou nsf pour mac on peut trouver ça par ici:  http://mac.wareseeker.com/Games/game-music-box-0.5.2b3.zip/322800

Voici les sons typiques de Mario Bros que tout le monde reconnaitra tout de suite.

  • Thème de mario => archive NES => Super Mario Bros => piste 1 (le must !)
  • Thème de mario sombres tunnels => archive NES => Super Mario Bros => piste 2
  • Thème de mario rapide stress peur=> archive NES => Super Mario Bros => piste 4 et 16 plus rapide
  • Thème de mario rapide invincible=> archive NES => Super Mario Bros => piste 5 et 17 encore plus rapide
  • Musique fin de niveau => archive NES => Super Mario Bros => piste 6
  • game over => archive NES => Super Mario Bros => piste 8
  • Thème de mario 2 => archive NES => Super Mario Bros 2 => piste 6 (moins bien)
  • Pièce de monnaie => archive NES => Super Mario Bros 2 => piste 27
  • Pièce de monnaie => archive NES => Mario Bros => piste 11
  • Descente dans le tube => archive NES => Super Mario Bros 2 => piste 31
  • Descente dans le tube => archive NES => Mario Bros => piste 11 (moins bien)
  • décompatage infini du nb de points => archive NES => Mario Bros => piste 5
  • champignons qui fait grandir => archive NES => Super Mario Bros 2 => piste 32
  • champignons qui fait grandir => archive NES => Mario Bros => piste 10 (moins bien)
  • saut loin => archive NES => Mario Bros => piste 13
  • saut près => archive NES => Mario Bros => piste 14

Les sons de tetris:

  • thème tetris => archive gameboy => Tetris => piste 2
  • bruitage tetris rotation => archive NES => Tetris => piste 16
  • bruitage tetris déplacement => archive NES => Tetris => piste 14
  • bruitage tetris pose de pièce => archive NES => Tetris => piste 18
  • bruitage tetris pose rapide => archive NES => Tetris => piste 22
  • bruitage tetris suppresion de ligne => archive NES => Tetris => piste 21
  • bruitage tetris carambolage => archive NES => Tetris => piste 24 puis 25

(les différents bruitages du jeux sont encore à vérifier.. je ne suis pas certain de tout !)

La musique de tétris la plus connue est celle qui était conçue pour la game boy.

Dans l’archive NES « tengen tetris » il y à aussi des sons plus modernes et donc plus riches. (la rotation par ex.)

Il y aussi l’archive NES « Pac Mania » avec tous ses sons mythiques.

Sur youtube

 

Fichier:Mario-mushroom.svg

Mots-clés IPTC dans une photo

Mots-clés IPTC dans les photos

Une manière intéressante d’organiser ses photos est d’utiliser les mots-clés IPTC présents dans les métadonnées des photos.

Personnellement, j’attribue toujours à mes photos des mots-clés IPTC. Ainsi quand je fais une recherche sur mon mac spotlight est capable de me retrouver les photos.

Quelques mots-clés que j’utilise fréquement:

  • Portrait => pour les photos que l’on utiliserait pour présenter quelqu’un
  • couple => pour les photos que l’on utiliserait pour présenter quelqu’un, mais quand il y a 2 personnes.
  • Group => pour les bonnes photos de groupes. A partir de 3 personne
  • Landscape => les photos de paysage que je mettrai en fond d’écran
  • panorama => les photos panoramique
  • HDR => les photos HDR
  • sourire => les beaux sourire
  • rire => les gens qui rient aux éclat
  • grimace => les gens qui fond des grimaces
  • profile => les gens de profile
  • lunette => les lunettes ou gens à lunettes
  • chapeau => les chapeau ou gens à chapeau. (ou bonnet et casque que j’ajoute en plus)
  • château
  • lever de soleil
  • coucher de soleil
  • montagne
  • lac
  • lune
  • orage
  • arc-en-ciel
  • rivière
  • herbe
  • fleur
  • silhouette
  • reflet
  • arbre
  • neige
  • lumière => quand il y a une lumière particulière
  • affiche => pour ma collection d’affiche politique
  • fontaine
  • gargouille
  • statue
  • tour
  • feu

…. et beaucoup d’autres qui viennent sur le moment..

Mots-clés IPTC et php

Quand je fais une galerie de photo sur le web. Je vais piocher les mots-clés IPTC dans les métadonnées pour afficher des infos sur la photos ou même directement pour créer des albums.

Voici quelques fonctions php que j’utilise pour aller chercher les mots-clés IPTC dans les métadonnées d’une photo.

 

/* Retourne un tableau contenant les mots-clé IPTC contenu dans le fichier de la photos
*
* @return: array() un tableau de string contenant les mots-clé IPTC de la photos
* @param: $imagePath => le chemin d’accès sur le serveur de la photo. (ou une url)
*/
function getIptcKeywordsFromFile($imagePath){

$size = getimagesize ($imagePath, $info);
if(is_array($info)) {
if (isset($info[« APP13 »])) {
$iptc = iptcparse($info[« APP13 »]);
if (isset($iptc[‘2#025’])) {
return $iptc[‘2#025’];
}else{
return  »;
}
}else{
return  »;
}         
}
}

/* Retourne l’auteur de la photo selon le champ IPTC credit
*
* @return: la valeur du champ iptc credit
* @param: $imagePath => le chemin d’accès sur le serveur de la photo. (ou une url)
*/
function getIptcCreditFromFile($imagePath){

$size = getimagesize ($imagePath, $info);
if(is_array($info)) {   
$iptc = iptcparse($info[« APP13 »]);
return $iptc[‘2#110’][0];            
}
}

Photos verticales

Photos verticales

Cette page à pour but de noter un peu tout ce que je sais sur la gestion de photos verticales.

En effet, je n’ai pas encore tout compris, le comportement est parfois étrange.

En gros, depuis toujours on fait des photos qui ne sont pas carrées ! Donc suivant le sens dans lequel on tourne l’appareil photo, une photo est horizontale ou verticale.

Le plus souvent on fait des photos horizontale vu que notre vision humaine est panoramique. Donc la référence largeur hauteur est basée sur cette vision horizontale.

Donc on peut dire que:

  • une photo horizontale est une photo qui a une largeur plus grande que la hauteur. (l>h)
  • une photo verticale est une photo qui a une largeur plus petite que la hauteur. (l

Jusque là tout le monde est d’accord.

En argentique, on a une film qui dispose d’une surface sensible à la lumière. Cette surface est toujours orientée de la même manière. Il n’est possible de faire que des photos horizontales.

Au moment de développer et tirer les photos, on utilise le même papier et le même traitement de fait sur toutes les photos.

Au moment de regarder sa pile de photo sur papier, on retourne instinctivement chaque photo pour voir les verticales dans le bon sens. Pas de problème.

En numérique. Une photo c’est un assemblage de pixel qui correspondent à la lumière enregistrée par un capteur. Comme le film, le capteur est fixe. Il prend toujours les photos en horizontal.

Puis les photos sont transférée de la mémoire de l’appareil photo à la mémoire d’un ordinateur. Au moment de regarder les photo sur un ordinateur, les photos sont toute dans le même sens: horizontale. Donc pour regarder les photos, comme avec la pile de photo papier on retourne la photo.

Pour simplifier un visionnage ultérieur des photos, il est possible d’enregistrer le sens dans lequel est la photos. Pour ce faire, il y a 2 méthodes:

  • définitivement ré-ordonner les donnée de la photo pour qu’elle s’affiche avec des dimension différente et donc une orientation différente.
  • placer une information dans le fichier qui dit au logiciel de retourner la photo au moment de l’afficher.

Historiquement c’est la première méthode qui est la plus courante. Elle demande des ressources une fois et pas à chaque affichage pour retourner la photo. C’est la méthode traditionnelle. Elle a pour inconvénients de devoir réécrire un fichier existant, et cette manipulation est souvent source de problème de perte d’information.

En effet, actuellement, il y a de plus en plus de méta-données dans une photo et le risque de les perdre est grand suivant les logiciels utilisé pour réécrire les images. De plus, la qualité est souvent difficile à régler.

La seconde méthode tend à se répendre de plus en plus. En effet, nous avons des machines rapides qui arrivent facilement à retourner les photos à la volée au moment de l’affichage.

Mais surtout, ce sont les appareils photos numériques qui se sont perfectionnés. De plus en plus, ceux-ci sont équipés d’un capteur de position qui permet d’indiquer l’orientation d’une photo directement dans le fichier au moment de sa création. L’appareil photo est, par rapport à l’ordinateur qui va afficher l’image, un ordinateur lent. Il est donc plus facile pour l’appareil photo d’écrire une indication sur l’orientation de l’image que de ré-ordonner complètement les données de la photos pour la retourner.

Ainsi, il existe dans les photos, des méta-données, des données sur des données… Pour les caractéristiques techniques c’est la norme EXIF qui est utilisée. C’est un format dans lequel chaque appareil photo va enregistrer les réglages et les conditions dans lesquelles la photos est prise.

L’orientation de la photo est donc enregistrée dans un des champs de données exif le champ: orientation.

D’après les spécifications EXIF, le champ orientation contient une valeur numérique de 1 à 8. La signification explique suivant cette valeur, où se trouve visuellement dans l’image le début des donnée à la ligne 0 et colonne 0, donc le haut à gauche. Le cas horizontal normal correspond à la valeur 1.

  1. la ligne 0 est visuellement en haut de l’image, et la colonne 0 est visuellement à gauche de l’image.
  2. la ligne 0 est visuellement en haut de l’image, et la colonne 0 est visuellement à droite de l’image.
  3. la ligne 0 est visuellement en bas de l’image, et la colonne 0 est visuellement à droite de l’image.
  4. la ligne 0 est visuellement en bas de l’image, et la colonne 0 est visuellement à gauche de l’image.
  5. la ligne 0 est visuellement à gauche de l’image, et la colonne 0 est visuellement le haut de l’image.
  6. la ligne 0 est visuellement à droite de l’image, et la colonne 0 est visuellement le haut de l’image.
  7. la ligne 0 est visuellement à droite de l’image, et la colonne 0 est visuellement le bas de l’image.
  8. la ligne 0 est visuellement à gauche de l’image, et la colonne 0 est visuellement le bas de l’image.

Là ça devient difficile de comprendre le nombre de possibilité. Mais en fait, ça doit tout simplement être, j’ai mon appareil et je le tourne dans un sens avec 4 positions et dans l’autre sens avec 4 positions. Mais il me semble qu’il y a des positions qui sont équivalentes ? Là il me faudrait étudier plus en détail ce que représente les colonnes et lignes.

En simplifiant, ce qu’il faut retenir:

  • 1 = le coin référence ligne 0 colonne 0 est en haut à gauche de la photo. (c’est la position standard horizontale)
  • 8 = le coin référence ligne 0 colonne 0 est en bas à gauche de la photo. (il faut incliner la tête à droite pour voir la photo)
  • 6 = le coin référence ligne 0 colonne 0 est à droite en haut de la photo. (il faut incliner la tête à gauche pour voir la photo)

Les autres position n’arrive pas souvent… je tiens rarement mon appareil photo à l’envers.. et il y a même des positions que je ne comprends pas vraiment !

Donc on va s’en tenir à ce qui est le plus courant. Si je résume, mon logiciel quand il va lire les infos, il doit se dire: je lis la balise exif orientation, si je vois un 1, je ne fait rien de spécial, si je vois un 8 je fais une rotation dans le sens trigonométrique et si je vois un 6 je fais une rotation dans le sens des aiguilles d’une montre.

Détail de la signification des nombres

d’après.. http://owl.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html

  1. = Horizontal (normal)
  2. = Mirror horizontal
  3. = Rotate 180
  4. = Mirror vertical
  5. = Mirror horizontal and rotate 270 CW
  6. = Rotate 90 CW
  7. = Mirror horizontal and rotate 90 CW
  8. = Rotate 270 CW

Maintenant que la théorie est posée, comment se passe la réalité ?

Sur Mac OSX, les applications suivantes comprennent ces balises de rotation:

  • Aperçu
  • GraphicConverter
  • photoshop

Mais, le plus ennuyeux, quelles sont les applications qui ne comprennent pas:

  • Safari
  • Mail
  • Firefox
  • … en bref… les navigateurs web.
  • indesign

iPhoto, comme expliqué plus bas est un logiciel qui comprend cette balise, mais qui ne veut pas l’utiliser !!! En effet, chaque photo avec une indication exif de l’orientation qui est différente de 1 est réécrite dans une version nativement dans le bon sens.

Sur le web, certainement pour des raisons historiques, les photos sont interprétées de manière brut. On ne tient pas compte des balises.

Automator

Automator permet d’effectuer nombre d’opération en piochant par ci par là dans les applications installées.

GraphicConverter propose plusieurs fonctions. Donc la fameuse rotation jpg sans perte de qualité. En sélectionnant cette fonction, il y a un message qui apparaît: Dans la mesure ou la rotation sans perte réécrit les données EXIF de l’image, vous ne pourrez plus afficher des images ainsi modifiées sur un appareil photo numérique.

Ce message sous entend que ce sont principalement les donnée Exif qui sont modifiées… donc est-ce juste la modification de la balise orientation ??? Réponse après le test:

Réponse… le fichier est bel et bien retourné.. mais c’est une rotation effective des données qui est réalisée! Malgré le message, d’avertissement je n’ai vu aucune modification dans l’exif ! Ce sont les données qui ont été réécrites. Les Méta-données IPTC et exif sont inchangées. Les mots-clés sont gardés et avec les accents. Les ressources ont été vidée, l’aperçu n’est plus là !

Le comportement est quasi identique avec le module d’aperçu: pivoter des images . Le fichier est réécrit et la balise exif orientation n’est pas changée.

Aperçu

Comment se comporte aperçu lorsqu’on lui demande d’ouvrir un photo de lui faire faire une rotation et de sauver le fichier. Réponse:

Aperçu effectue des rotations qui sont une modification de la balise exif orientation. Cependant, au moment de sauver, il réécrit la photo avec des paramètres par défaut. L’IPTC et l’exif sont conservés, mais le fichier a été dans mon cas réécrit et les données sont passées de 1012ko à 720k, au moment de sauver, Aperçu n’est pas capable de sauver uniquement l’exif, il sauve et donc recompresse avec les réglages courants. Pourquoi réécrire toute la photo si seul un champ exif est modifié bouh !

GraphicConverter

Essai de rotation en mode standard, manuel. L’image de base se retourne en mode natif, la balise orientation n’est pas touché. La photos est sauvegardée aux paramètres courants. Le hic, c’est que les mots-clé iptc avec accents se sont fait écrasés, l’encodage n’est vraissemblablement pas le même ! C’est étrange, car le module de rotation sans perte de qualité de GC qui est dans automator ne massacre pas les mots-clés accentuées !!

Si l’on prend une photo qui comporte une orientation, et que je fais sauver sous, elle reste identique. rien ne change. Si je prend la même photos, que je bidouille avec des outils (juste la sélection pour ne rien toucher) et que je sauve la photo. GC la réécrit, et cette fois elle est réécrite verticalement. Les informations EXIF sont réécrite, le champ orientation passe de 8 à 1. Et le champ datetime est mis au temps courant. Il ne reste donc plus que original date time pour savoir le moment de prise de vue.

GC en mode gestionnaire: ce mode comporte des réglage qui peuvent être différents, et c’est le mode que j’utilise le plus, alors voyons comment il se comporte.

Pour une photo qui comporte une balise exif orientation égale à 6, si l’on veut la diffuser sur le web, il faut la redresser en faisant une rotation de 90° dans le sens des aiguilles d’une montre. En effectuant cette manipulation à l’aide du gestionnaire d’image de GC, l’image est véritable retournée en donnée et le champ exif orientation reste inchangé. Cette opération ajoute une incohérence. Les logiciels comprenant la rotation exif à la volée tourne inutilement la photo. Par contre sur le web, c’est tout bon. Les méta-données EXIF et IPTC ne sont pas touchée. Ceci par ce que le gestionnaire est configuré pour utiliser une rotation sans perte et ne pas toucher les champs exif. (fait étrange remarqué, dans le gestionnaire, la vignette est aussi retournée mais dans l’autre sens !?!)

Lors d’un second essai, mais avec un photo dans l’autre sens (et des mots-clés iptc accentués) l’image a aussi été tournée, mais pas la vignette !! Les mots-clés sont restés identique.

Maintenant, essai, avec la même photo source, mais dans les préférences l’option ne pas modifier l’exif n’est pas cochée. Le comportement est bien mais pas top ! L’image est véritablement retournée, l’exif est modifié (ou plutôt pollué.. je vois pas à quoi sert de le modifier, l’exif est surtout utile pour avoir les conditions du moment de prise de vue.) L’exif est modifié, mais pas le champ orientation !!! ce qui est un peu débile, car sinon, pourquoi avoir besoin de modifier l’exif !

En ce qui concerne l’option rotation sans perte de qualité je ne dois pas encore avoir tout compris. Moi je vois dans tout les cas que le fichier est réécrit ! Si le même fichier est retourné dans un sens puis dans l’autre, on retombe sur nos patte (?) mais sinon, la compression effectuée par l’appareil photo et celle refait diffèrent quelque peu !

L’ajout de mots-clés dans un fichier via le gestionnaire semble être bien fait, il ne modifie que les champs exif. Avec l’option ne pas modifier l’exif desactivé. (donc GC a le droit de modifier l’exif) Si j’ajoute 20 caractères comme mots-clés, je vois le fichier grossir de 28 octet. Ce qui restent dans le bon ordre de grandeur. Bien.

iPhoto

Comment ça fonctionne tous ça !!! Version 6.0.6 (ouais chez apple cette applications change beaucoup à chaque fois.) Dans mon cas, je prend mon dossier de photos d’essai que je glisse sur l’icon de iPhoto. A ce moment, iPhoto turbine et j’ai une nouvelle sélection dans la photothèque qui comprend mes photos. Par soucis de propreté, je crée un nouvel album, avec la sélection courante de mes dernières photo. Puis en allant explorer le dossier iPhoto Library, je remarque que les photos sont triées dans 3 dossiers, Data , Modified, et Originals. Data contient les vignettes des photos. Modified contient toutes les photos qui ont été modifiées, c’est à dire qu’une photo verticale qui contient juste le champs exif orientation est réécrite en mode vertical natif. La photo est donc modifiée et se retrouve dans ce dossier. Le plus grave dans l’histoire, c’est les dégâts collatéraux. L’exif est très réduit. Il ne reste que quelques rares champs, comme la date de prise de vue originale (heureusement) et l’IPTC est carrément shooté !. Originals contient des alias sur les photos originales. C’est également le seul liens qu’iphoto a avec les photos horizontales qui n’ont pas été modifiées. Donc, dans ce mode la photothèque est en partie en interne au dossier d’iphoto et en partie en externe !!

Le boulot de massacre des photos est assez bien fait, en effectuant une rotation effective des photos, iphoto ajoute une balise exif orientation. Mais s’il en existe déjà une, il ne la modifie pas, non… il ajoute. Ce qui fait que l’exif est endommagé, certains programmes n’arrivent plus le lire! (la fonction php read_exif_data par exemple) Donc, il y a 2 balises orientation. Génial pour tout compliquer.

De plus, le fichier réécrit est plus lourd que l’original. (1.6Mo passe à 2Mo)

Quand iphoto passe en mode édition, un nouveau fichier est créé dans le dossier modified, même quand ce n’est que de la visualisation en plein écran !!!

Lorsque les mots-clés IPTC des photos non modifiées existes, iPhoto est capable de les reprendre pour les utiliser dans sa propre base de données. Sinon, les mots-clés ne sont pas exporté hors de iphoto. Heureusement qu’un module spotlight permet de rechercher aussi dans iphoto, mais cette méthode rend captif l’utilisateur dans ce logiciel qui comme on vient de l’étudier n’est de loin pas parfait, et même plutôt destructeur d’image !

Malheureusement, aucune modification du côté de la version 7.1 de iPhoto ! … l’interface, s’améliore, mais le moteur n’a pas changé du tout !

PictureSync

PictureSync est un logiciel qui est conçu pour automatiser l’envoi de photo depuis iphoto, aperture, ou un dossier, vers le divers services de photo comme flickr, zoomr, ou en dossier etc….

Ce logiciel est capable de lire un grand nombre d’information exif. L’application est capable de faire des rotations. et surtout de voir le champs orientation et d’agir en conséquence. Lorsque PictureSync fait une rotation, il lit le champ orientation, effectue la rotation et modifie le champs orientation !!! C’est le seul logiciel que je connaisse qui prenne la peine de le faire ! Bien! (le seul bémol est une désaturation des couleurs lors de l’opération !)

PictureSync est conçu pour uploader des photo (sur un site ou dans un dossier) et est capable de faire la rotation et le redimensionnement des photo à la volée au moment de l’upload. Il semble que pour ma photo que j’avais déjà triturée (rotation), tout se passe bien. Pour les photos brut, c’est moins bien, le logiciel me signal une erreur de réécriture de l’exif ! (problème d’accès du dossier de destination ?) Suite à ce problème, j’ai perdu les métadonnées. Demande encore quelques essais !

Sinon, le logiciel permet d’éditer bon nombre de champs de méta-données, ce qui est très intéressant. Il y a également la possibilité de faire du géotagging avec google earth. Intéressant !

Créer une galerie web

Mon intérêt pour ce problème de rotation des photos viens surtout d’une application en particulier qui me pose problème. La création de galerie de photo pour le web.

En effet, j’ai développé une galerie de photo en php qui récupère les mots-clés IPTC dans le but de les afficher comme légende ou titre. De plus cette galerie permet de trier les photos en fonction de leur date de prise de vue qui se trouve dans les données EXIF.

Les photos que je dépose sur le web sont donc soumise à quelques contraintes:

  • l’exif doit être conservé
  • l’IPTC doit être conservé
  • les mots-clés IPTC doivent être encodé en UTF-8
  • les photos verticales doivent être nativement tournée. Le champ exif orientation n’est pas compris par les navigateurs web.

Pour afficher des photos sur le web, je ne les mets jamais en plein résolution, ce serait trop gros. J’ai donc besoin de réduire la taille des photos tout en ne perdant pas les méta-données. De plus, j’ai besoin de retourner en mode natif donnée les photos verticales qui ne comporte que l’indication du champ exif orientation.

Ceci parait simple, mais c’est finalement un casse tête! Et cela se complique encore plus, quand comme je le fais, la sélection de photo a traiter est une liste d’alias. (c’est ainsi que je me fais des albums, des sélections de différents fichier du lot de base.)

Questions…

Dans le cas d’un appareil photo qui n’a pas de capteur de position, est ce que la fonction rotation de l’image de l’application transfert d’image fait une rotation véritable ou est ce qu’elle renseigne la balise exif orientation?

Fonction php pour retourner une photo jpg en fonction du flag exif orientation

/* Retourne les données d’une photo jpg en fonction du flag exif orientation.
*
* Utilise jpgetran pour la rotation sans perte de la photo
* Utilise exiftool pour modifier le flag exif orientation après avoir effectué la rotation. http://www.sno.phy.queensu.ca/~phil/exiftool/
*
* Cette fonction effectue une rotation sans perte. Les données sont réarrangée, mais pas recompressée.
* Cette fonction conserve les métadonnées. (exif, iptc, commentaires, jffif, xmp, etc..)
* Cette fonction ne retourne PAS la vignette exif. Elle reste dans la position originale. Cela influence la vue des vignettes dans graphicConverter, l’aperçu en mode colonne du finder.
* Cette fonction recrée un fichier, donc elle modifie la date de création et modification du fichier. (c’est à cause de jpegtran. Exiftool est souple à ce niveau)
*
* Les commandes utilisées sont sur le principe:
* jpegtran -copy all -rotate 270 -verbose -outfile girafe2.jpg girafe.jpg
* exiftool -orientation=1 -n -overwrite_original_in_place girafe.jpg
*
* @return: rien de particulier.. 😛
* @param: $imagePath => le chemin d’accès de la photo sur le serveur. (pas une url)
*/
function rotateJpgFromExifOrientation($imagePath){

// lire le champ exif orientation
$exif = exif_read_data($imagePath);  // todo: bug quand exif n’est pas là… Warning: exif_read_data(dsc_1783.jpg) [exif_read_data]: Process tag(x0000=UndefinedTa): Illegal pointer offset(x4E20434F + x4E494B4F = x9C698E9E > x02C3) in /Users/mdespont/Sites/yopyop/include/manager/photoManager.php on line 468

if ($exif!=false) {

$orientation =  »; // pour tout les cas non prévu, ou la cas orientatio=1 qui ne demande pas de modification.
$orientation = $exif[‘Orientation’];

// si orientation = 8 => retourne de 270
if ($orientation==’8′) {
$angle = « 270 »;
// si le champ = 6 => retourne de 90
}elseif ($orientation==’6′) {
$angle = ’90’;
}else {
$angle =  »;
}

if (!empty($angle)) {

$nomDossier = dirname($imagePath);  // obtient le nom du dossier. Ex: images/photos/2006/toto/toto.jpg devient images/photos/2006/toto
$nomFichier = basename($imagePath);
$outpoutPath = $nomDossier. »/temp_ ».$nomFichier;

// retourne la photo
$commandeRotation = « /usr/local/bin/jpegtran -copy all -rotate « .$angle. » -outfile « .$outpoutPath. » « .$imagePath; // on suppose que jpegtran est dans le path

//    echo « 
commande rotation: « , $commandeRotation;

$output = array();
$return_var = 0;
exec($commandeRotation, $output, $return_var);

// print_r($output);
//         echo « statut: « ,$return_var;

// place le flag orientation à 1. Ce qui signifie que le flux de donnée est correct. Pas besoin de modifier l’orientation à la volée
// cette option ne sert à rien pour le site web en lui même, mais elle est utile si des gens téléchargent les photos depuis le site web pour les utiliser en local.

$commandeFlagExif = « /usr/bin/exiftool -orientation=1 -n -overwrite_original_in_place « .$outpoutPath;  // -overwrite_original_in_place permet de garder l’icon et les ressources Mac. Si on est sur linux, utiliser: overwrite_original qui est moins gourmand

//        echo « 
commande flag: « , $commandeFlagExif;

$output = array();
$return_var = 0;
exec($commandeFlagExif, $output, $return_var);

// print_r($output);
//         echo « statut: « ,$return_var;

// renommer le fichier temp_photo.jpg  en photo.jpg
rename($outpoutPath,$nomDossier. »/ ».$nomFichier);   
}
}
}

Convertisseur de coordonnées géographiques CH1903 WGS84

Conversion de coordonnées CH 1903 vers WGS84

Sur les cartes suisses on utilise le système de coordonnées CH 1903. De plus en plus en cartographie, on utilise des outils avec le système WGS84. Le système global utilisé par le GPS. Comment changer de système de coordonnées.

—— edit en 2019 —

Je vois que le monde a bien changé. En 2009, j’avais eu de la peine à trouver un code de conversion en php. J’ai fini par l’écrire moi même et le publier. En 2019 on en trouve plusieurs et je vois que les liens sont souvent cassé. Ainsi je les mets à jours.
Je profite également d’ajouter un calculateur de longueur du degré de méridien, c’est pas très courant. Le seul que je connais est sur un vieux site en voie de disparition. Ainsi j’ai refait une petite app.
(J’utilise ça pour montrer que le périmètre de la grande pyramide de Gizeh est bien lié à plein d’unité de mesures de la Terre…. )

————–

Programmes online

Swisstopo fourni sur son site plein de services intéressants:

Autres sources

La théorie de la conversion d’unité selon swisstopo

Conversion de coordonnées WGS84 de notation décimale à sexagésimale

Les coordonnées WGS84 peuvent être données dans plusieurs notation différente. Parfois en notation sexagésimale avec des latitude et longitude en degré, minutes et secondes. Parfois la notation est en degré décimale: tout est en degré et virgules de degré. La notation en degré décimale est celle utilisée par google maps. Ex: lat: 46.94952985143932 long: 6.834204196929932

cartographie topographie swisstopo convertisseur wgs84 ch1903

Code PHP de conversion WGS84 – CH1903

Parfois, il est utile de faire la conversion dans un bout de programme. Ainsi voici les fonctions php qui convertissent des coordonnées wgs84 en CH1903 et inversement.

Ces fonctions on été écrites selon les formules fournies par swisstopo. (dans la théorie ci-dessus)

/**
* converti les coordonnées lat long en wgs84 pour avoir des coordonnées ch1903 
* Ex: lat: 46.94952985143932 long: 6.834204196929932 => 553 986/200 005
*
* @return array()  y et x  les coordonnées au format CH1903
* @param latitude en degré décimal
* @param longitude en degré décimal
*/
function getCoordonneeCH1903($lat,$long){
// Les latitudes φ et les longitudes λ sont à convertir en secondes sexagesimales ["]

// Les grandeurs auxiliaires suivantes sont à calculer (les écarts en latitude et en longitude par rapport à
// Berne sont exprimés dans l'unité [10000"]) : 
// φ' = (φ – 169028.66 ")/10000 
//  λ' = (λ – 26782.5 ")/10000 
//
// 3. y [m] = 600072.37 
//  + 211455.93 * λ'   
//  - 10938.51 * λ' * φ' 
//  - 0.36 * λ' * φ'2 
//  - 44.54 * λ'3 
//
// x [m] = 200147.07 
//  + 308807.95 * φ' 
//  + 3745.25 * λ' 2 
//  + 76.63 * φ' 2 
//  - 194.56 * λ' 2 * φ' 
//  + 119.79 * φ' 3

// conversion degré décimal en seconde sexagétimale
// deg = 60 * minutes
// minutes = 60 * seconde
// =>deg = 3600 * seconde
$lat = $lat * 3600;
$long = $long * 3600;

// latitude:  φ =>lat  ( φ' =>lat2)
$lat2 = ($lat - 169028.66)/10000;

// longitude:  λ =>long  ( λ' =>long2)
$long2 = ($long - 26782.5)/10000;

$y = 600072.37 + (211455.93 * $long2) - (10938.51 * $long2 * $lat2) - (0.36 * $long2 * ($lat2*$lat2)) - (44.54 * ($long2*$long2*$long2));
$y = round($y);

$x = 200147.07 + (308807.95 * $lat2) + (3745.25 * $long2*$long2) + (76.63 * $lat2*$lat2) - (194.56 * $long2*$long2 * $lat2) + (119.79 * $lat2*$lat2*$lat2);
$x = round($x);

return array('y'=>$y,'x'=>$x);  // 600000,200000
}

/**
* converti les coordonnées ch1903 en latitude et longitude du système wgs84.
* Calcul selon: http://geomatics.ladetto.ch/swiss_projection_fr.pdf
* Pour des altitudes positives, les 2 systèmes sont équivalents au mètre près. Donc on n'en tient pas compte dans cette fonction.
* Ex: 553 986/200 005 => lat: 46.949532367683 long: 6.8342057996687
*
* @return array()  lat et long  les coordonnées au format wgs84 en notation degré décimale: 46.951081111111,7.4386372222222
* @param x (nord) à indiquer en m au format: 200000
* @param y (est) à indiquer en m au format: 600000
*/
function getCoordonneeWGS84($x,$y){

// 1. Les coordonnées en projection y (coordonnée est) et x (coordonnée nord) sont à convertir dans le 
// système civil (Berne = 0 / 0) et à exprimer dans l'unité [1000 km] : 
//  y' = (y – 600000 m)/1000000 
//  x' = (x – 200000 m)/1000000

// 2. La longitude et la latitude sont à calculer dans l'unité [10000"] : 
// λ'  = 2.6779094 
//  + 4.728982 * y' 
//  + 0.791484 * y' * x' 
//  + 0.1306 * y' * x'2 
//  - 0.0436 * y'3

// φ'  = 16.9023892 
//  + 3.238272 * x' 
//  - 0.270978 * y' 2 
//  - 0.002528 * x' 2 
//  - 0.0447 * y' 2 * x' 
//  - 0.0140 * x' 3

// h [m] = h' + 49.55 
// - 12.60 * y' 
// - 22.64 * x'

// 
// 3. La longitude et la latitude sont à convertir dans l'unité [°] : 
// λ = λ' * 100 / 36 
// φ = φ' *100 / 36

$y2 = ($y-600000)/1000000;
$x2 = ($x-200000)/1000000;

// longitude:  λ =>long  ( λ' =>long2)
$long2 = 2.6779094 + (4.728982 * $y2) + (0.791484 * $y2 * $x2) + (0.1306 * $y2 * $x2*$x2) - (0.0436 * $y2*$y2*$y2);

// latitude:  φ =>lat  ( φ' =>lat2)
$lat2 = 16.9023892 + (3.238272 * $x2) - (0.270978 * $y2*$y2) - (0.002528 * $x2*$x2) - (0.0447 * $y2*$y2 * $x2) - (0.0140 * $x2*$x2*$x2);   

// conversion en °
$long = $long2 *100/36;
$lat = $lat2 *100/36;

return array('lat'=>$lat,'long'=>$long);  //pour y=600000, x=200000 => 46.951081111111,7.4386372222222
}

Je vois qu’il y a également tout ce qu’il faut sur github pour avoir un code de conversion WGS84 to CH1903… ou plutôt LV3 maintenant !
Et ceci dans plein de langages comme C#, Java, php, python, R, SQL… 

Calculateur de degré de longueur de degré de méridien

Comme je l’ai annoncé plus haut. J’ai ajouté un nouvel outil.

Un calculateur de la longueur de l’arc d’un degré d’un méridien. Ce calculateur permet de calculer la longueur d’un arc de l’éllipsoïde de la terre pour 1° de longitude et/ou 1° de latitude et ceci en fonction de la latitude à laquelle on se trouve.

 

Pour ceux que la cartographie intéresse, je recommande de lire aussi tout ce que j’ai écrit à propos de l’outil de cartographie libre OpenStreetMap.
(j’y ai beaucoup contribué à ses débuts.. maintenant je suis plutôt en mode utilisation, notamment les cartes personnalisées sur openStreetMap :p.. donc mes outils d’il y a 10 ans ne sont peut être plus très pertinent.)

Résumé du livre conscience numérique de Pierre Fraser

Résumé: Conscience numérique de Pierre Fraser

Il est possible d’acheter directement ce livre sur le site web de l’auteur au format pdf, et de le recevoir par e-mail.

Voilà quelques idées développées dans ce livre:

  • Media de masse et nouveau médias sociaux ne sont pas en opposition mais complémentaire
  • paradoxe de notre société => liberté et individualité issue du siècle des lumière qui est en opposition à la théorie des masse, le désir d’équité de l’idéal démocratique.
  • Média de masse c’est simple et accessible à tous
  • Média social, internet, il faut savoir se servir de l’outils et bien le comprendre. Donc pas accessible à tous.
  • Media de masse est normatif. Il soude une communauté selon un région géographique.
  • Media internet est individuel il renforce sa propre communauté.
  • Media de masse est un média d’offre: on consomme ce qu’on nous donne.
  • Media internet est un média de demande: on va chercher l’information.
  • Ne pas confondre information et connaissance
  • La connaissance est une information qui a été intégrée et liée par des processus de cognition à notre connaissance déjà existante.
  • Le Prof. Clifford Nass et ses collègues (Yyal Ophir et Anthony Wagner) du département de psychologie de l’Université de Stanford ont fait des études pour déterminer le fonctionnement cognitifs des gens multitâches. Ils arrivent à la conclusion que ces gens ont un déficit d’attention chronique et que dans tous les tests faits ils ont été moins bons que les gens qui ont pour habitude de faire une chose après l’autre. Les multitâches switchent facilement d’une source d’information à l’autre, mais ils n’intègrent pas cette information en connaissance.
  • Les médias sociaux accélèrent la transmission d’information mais pas leur compréhension.
  • Une infos comme la mort de Mickaël Jackson peut être comprise par tout le monde. Mickael Jakson fait partie de la culture mondiale. Une culture des médias de masse.
  • Vers la fin des années 1960 il n’y avait que 3 chaines de TV aux USA. C’était l’âge d’or des médias de masse. Tout le monde regardait la même émission en même temps. C’est le synchronisme social. Depuis les années 1970, avec le câble, il y a une prolifération des chaines de TV. Puis en même temps, une prolifération des journaux et surtout des magazines avec la baisse du coût des rotatives d’imprimerie. Depuis, régulièrement les médias de masses perdent de l’influence. Ils sont morcelé. L’arrivée du web est une continuité de ce phénomène de segmentation de la société en de multiples cultures.
  • Le Flux désigne l’échange de conversation qui circule sur internet sans forcément être rattaché à une plateforme.
  • Le web de base est une énorme base de donnée faite de liens. Mais cette BD est statique.
  • Le Flux est dynamique. Il est là en continu.
  • Les flux atom, les mises à jour et les commentaires des blogs, toutes les données disponibles hors plateformes se mettent à voyager hors de leur environnement imposé de base. C’est ainsi que le Flux se crée.
  • Il y a une telle quantité de données qui constituent le Flux qu’humainement il ne devient plus possible de suivre tout ce qui passe. Il faut donc pratiquer la compression algorithmique.
  • Notre cerveau interprète de manière logarithmique toutes les infos que l’on reçoit. De plus il compresse les données. Il ne manipule que des symbole et pas les données détaillées véritables.
  • Le language est la solution que les humains utilisent pour comuniquer de manière symbolique sans avoir à gérer les détail. (en programmation on fait pareil. On utilise des symboles dans les languages de haut niveau pour coder de l’assembleur sur microprocesseur)
  • La compression de données se fait en contextualisant les données du Flux. Sur twitter, les hashtags permettent de contextualiser un twitt pour qu’il émerge du lot.

Posts navigation

1 2 3 4 5 6 7
Scroll to top