/* Experience */

Assignment history

Every assignment, like a commit : a client, a period, an environment. 30 years of experience as a developer on Progress Software (4GL) and OpenEdge (ABL).

Progress Software OpenEdge official logo — Experience
Professional timeline: Employee from 1992 to 2014, 1ère Page from 2014 to 2025, HITOP from 2025 to today
  1. HITOP

    2025 — today

    Dual activity : website design & Progress / OpenEdge consulting

    Website design & web application development

    • Website design, maintenance and migration & SEO / GEO
    • Full stack HTML/PHP, WordPress and PrestaShop CMS, GIT, automated deployments
    • Building and maintaining WordPress plugins and themes (wpj-debug, wpj-backup...)
    • Daily use of AI since January 2025
    SEOGEOWordPressPrestaShopGITAI

    Progress Software / OpenEdge Consultant

    • Maintenance, audit and training assignments : remote and on-site in Toulouse
    • Development and maintenance in Progress 4GL / OpenEdge ABL
    MaintenanceAuditTrainingToulouse
  2. LAPEYRE

    Jun. 2022 — Jan. 2024

    Maintenance developer, Progress / OpenEdge — Remote

    Application maintenance for LAPEYRE's commercial management software, B2C and B2B scope.

    OpenEdge ABLMaintenanceRetail
  3. CAVAC

    Sep. 2020 — May 2022

    Maintenance developer, Progress / OpenEdge — Remote

    Application maintenance for the seed management system.

    OpenEdge ABLMaintenanceAgriculture
  4. RENAULT

    Nov. 2019 — Mar. 2020

    Maintenance developer, Progress / OpenEdge

    Built a tool to detect obsolete ERP programs and menus, reducing the number of programs to maintain.

    OpenEdge ABLERPTooling
  5. 1ÈRE PAGE

    2013 — 2025

    Dual activity : website design & Progress / OpenEdge consulting

    Website design

    • Website design, maintenance and migration & SEO
    • Full stack HTML/CSS, WordPress and PrestaShop CMS
    SEOWordPressPrestaShop

    Progress Software / OpenEdge Consultant

    • Maintenance, audit and training assignments : remote and on-site in Nantes
    • Development and maintenance in Progress 4GL / OpenEdge ABL
    MaintenanceAuditTrainingNantes
  6. MR BRICOLAGE

    Jun. 2013 — Sep. 2013

    Developer, Progress v.9

    Batch optimisation and maintenance of in-house ERP applications.

    Progress v9 (4GL)BatchERP
  7. LAPEYRE

    Nov. 2012 — May 2013

    Developer, Progress v.9

    Migrated Progress applications to new Linux servers.

    Progress v9 (4GL)MigrationLinux
  8. PEUGEOT

    Jan. 2008 — Sep. 2012

    Consultant, Progress v.9

    Maintained automotive marketing applications (2008-2011): new features, process automation, documentation, training delivered in Spain. Migrated Progress to Oracle in 2012.

    Progress v9 (4GL)CVSOracleTraining
  9. NATURE & DÉCOUVERTES

    Dec. 2002 — Dec. 2007

    Progress Development Engineer

    Built and maintained Progress v.9 applications: retail, warehouse and after-sales. Zero software defects. Set up automated remote version upgrades (programs and database structures).

    Progress v9 (4GL)RetailRemote deployment
  10. KOBA – SAGONE – WEHGENER

    Jan. 1999 — Nov. 2002

    Progress Development Engineer

    Maintained Progress v.9 applications: press subscriptions, mail order and charity sectors.

    Progress v9 (4GL)Mail order
  11. SOMATEM

    Nov. 1992 — Jun. 1998

    Progress Development Engineer

    Developed and maintained Progress v.6 applications in the elevator industry.

    Progress v6 (4GL)Elevators

/* Technical resources */

Going deeper on Progress / OpenEdge

Field notes and technical guides published on my dedicated blog (in French).

See all articles →

lister-descendants.p Code excerpt — ABL recursion
 1/* Recursively walks the descendants of a category */
 2
 3PROCEDURE ListerDescendants:
 4    DEFINE INPUT PARAMETER piCategorieID AS INTEGER NO-UNDO.
 5    DEFINE INPUT PARAMETER piProfondeur  AS INTEGER NO-UNDO.
 6
 7    FOR EACH Categorie NO-LOCK
 8        WHERE Categorie.CategorieParentID = piCategorieID:
 9
10        CREATE ttResultat.
11        ASSIGN
12            ttResultat.CategorieID = Categorie.CategorieID
13            ttResultat.Profondeur  = piProfondeur.
14
15        /* Recursive call on the current category's children */
16        RUN ListerDescendants(Categorie.CategorieID, piProfondeur + 1).
17    END.
18END PROCEDURE.
Ln 18, Col 1 ABL UTF-8 ▸ Read the full article (FR)

/* Contact */

Have an assignment for me?

Remote-first, occasional travel to meet you in person — France and Europe.

Get in touch