Software I wrote

Here is a list of software I wrote during my spare time.
Software written during my professional activities are not listed here.
These softwares are all free software (GPL).
These softwares are either tools written to fill a need or exercices written to learn and practice coding.
I maintain the tools that I still use, but most of the exercices are archived and not maintained anymore.

Note : number of lines were calculated using ohcount.
The first number indicates the number of lines of code ;
the second number indicates the number of lines of comment.
Blank lines and code of external libraries are not counted.
Software Date Main
Nb of
Status More
JeTheme Since 2002 php 16 000 - 10 000 Under development web page A tool to practice, study and analyze approaches having an irrational basis.
Gauquelin5 Since 2017 php 4000 - 700 Under development git repo Restoration of the original data used to perform statistical tests on astrology since the 1950's.
Observe Since 2020 php Under development github Data visualisation and statistical analysis.
tigdraw Since 2021 php - svg Under development github Data visualisation - bar charts, curves.
Pagetoc 2018 go 350 - 80 Maintained gitea Small tool used to generate table of contents in html pages, based on h2 and h3 tags.
geonames2postgres 2017 python 400 - 170 Maintained github Store in a postgresql database.
phpSimpleDoc 2008 php 8400 - 5800 Archived web page Generate html documentation from doc comments of a php program.
plans-yourte 2007 php 1000 - 400 Maintained web page Generates the plans of the different elements of a yurt. 2006 - 2008 php 6800 - 3200 Archived
Site of an associative radio. This site had several goals :
  • Publish articles and news written by the members of the association
  • Publish radio programs, for podcast and download
  • Permit visitors to listen to live
  • Publish an exhaustive list of music streamed by the radio
This was done using two databases : a Wordpress database to store the articles written by the editors, and a sound database to store the sounds published by the radio. The admin part of Wordpress was used to publish the articles ; a Wordpress plugin was written to integrate the publication of the sounds.
The public part of the site did not use Wordpress at all.
Live broadcast used UDP stream coming from Rivendell (the braocast software).
This site was in production use between 2008 and 2016 and is still visible on
Conseau 2006 php 100 - 35 Archived web page Tool to simulate the evolution of a stock of water.
new-constitution 2005 php 3000 - 1200 Archived
Web application to collectively write a constitution. It gives the possibility to tag articles.
I never published it, but it was working :)
It contains code that parses existing constitutions (different variants of french constitution and european treaties) and store them in database. 2003 - 2004 spip, php 5500 - 700 Archived
Site of an association that organized a gathering called "Larzac 2003". I wrote the site and maintained it between january 2003 and november 2004, then transmitted the responsability of the site to an other administrator.
The site was also used by an association "Les faucheurs volontaires".
This version of the site was in production use between 2003 and 2013 ; still visible on

Astronomy software

tigeph Since 2021 php - go Under development github Compare ephemeris computation routines, and find the minimal formula for a precision of one day.
High precision ephemeris
JEphem 2000-2002 java See details below Astronomical software (ephemeris computation, basic sky map).
Contains implementation of several astronomical algorithms (see below for details).
Old site still at ; javadoc pages
VSOP 87 2000-2002 java tested From Jephem, src/jephem/astro/solarsystem/vsop87
High precision routines, based on the work of the Bureau des longitudes.
Fully tested.
Implementation of VSOP87 (version A) ; port from fortran code using XEphem's code as a guide.
Also contains an implementation of planet velocities
See these pages at :
- VSOP87 presentation, precision,
- VSOP87 build process (why I choosed VSOP87 A ; formulae for planet velocities),
- VSOP87 truncation (if you are interseted by a truncated version of VSOP87, also look at Meeus' Astronomical Algorithms).
- VSOP87 tests
ELP82 2001 java tested ; a bug remains From Jephem, src/jephem/astro/solarsystem/
Calculation of the Moon coordinates with ELP-2000 82B theory.
Precession 2001 java tested From JEphem, src/jephem/astro/
Written from a BDL theory which was at (broken link).
See explanations on this page.
Nutation 2002 java tested From Jephem, src/jephem/astro/
Implementation of formulae found in BDL's book INTRODUCTION AUX ÉPHÉMÉRIDES ASTRONOMIQUES p 138.
Coefficients taken from nutation.c, in XEphem
deltaT 2002 java From Jephem, src/jephem/astro/spacetime/
Code to compute deltaT = TAI - UTC
Pluto95 2000 java precise tests A class calculating pluto coordinates, based on the work of J. Chapront and G. Francou, Bureau des Longitudes, France.
Port from fortran to java of a work found at (broken link).
Gives pluto ephemeris between 1700 and 2100. As Pluto99 gives a wider range of dates, I didn't keep Pluto95.
The file to download also contains the original BDL files.
Low precision ephemeris
meeus1.c 1997 C approx. OK Routines based on Meeus' first book "Astronomical formulae for calculators" (third edition).
No precession, no nutation
Includes coordinate transformation form geometric heliocentric to apparent geocentic.
A friend gave me his code in pascal, so I didn't have to type the coeficients.
No precise and systematic tests ; give approximately good results for the 20th century
meeus1.php 2002, 2005 PHP5 approx. OK PHP4 and PHP5 port of Meeus1.c
Part of a draft astology application (not published) : approach/astronomy/solarsystem/ephemeris/meeus/
Moon nodes 2005 PHP5 OK Computes the date of passage of the moon through its node, for given julian day.
From Meeus, Astronomical Algorithms, 2nd edition, chap. 51.
Part of a draft astology application (not published) : approach/astronomy/solarsystem/moon/MoonNodes.php
Moon phases 2008 PHP5 approx. OK Computation of moon phases
From Meeus, Astronomical Algorithms, 2nd edition, chap. 49.
Part of a draft astology application (not published) : approach/astronomy/solarsystem/moon/MoonPhases.php
Wrappers for ephemeris computation
PHP Moshier 2009 PHP5 works A php wrapper to Moshier's aa56 C program
A Quick and dirty program : php code calls the binary and parses the response to store it in a php array
Part of a draft astology application (not published) : approach/astronomy/solarsystem/ephemeris/moshier/aa56.php
PHP Swiss Ephemeris PHP5 works A php wrapper to Swiss ephemeris program.
A Quick and dirty program : php code calls the binary swetest and parses the response to store it in a php array
Part of a draft astology application (not published) : approach/astronomy/solarsystem/ephemeris/sweph/Sweph.php
Miscellaneous, documentation
Constellations 2002 java works From Jephem, src/jephem/astro/sky/
Arrays with names of constellations and boundaries
See this page on
3D solar system 2002 java3D works 3D navigation through the solar system
Uses uniform circular movement to modelize the revolution and rotation of planets, moon and some satelites.
It was developed as a prototype for the firm for which I worked at this time. In theory, it is proprietary software : once it was obvious that this software had no commercial interest, I asked if I could put it on internet. My boss refused, so I didn't publish it, and swore to myself that I would never ever write again a single line of proprietary code related to astronomy or any field of personal interest.
This firm has disappeared a long time ago, so I publish it anyway.
Position of secondary miror 2000 java works See this page Computation of the dimensions and position of the secondary miror of a Newton telescope.
Coordinate transformation 2000 A page describing the transformations to operate on coordinates, to go from ecliptic heliocentic geometric to equatorial and ecliptic apparent true geocentric
See this page on
Sky map coordinates 2000 Describtion and formulae for the transformations to go from stars' equatorial coordinates (ra, dec) to coordinates on a screen - yo display sky chart.
See this page on