JustineSC9, to Laravel French
@JustineSC9@mamot.fr avatar

Bon ben mes craintes étaient donc fondées... Je signe la semaine pro une rupture conventionnelle à l'initiative de mon employeur (raisons économiques ; je me disais aussi que ça devait être compliqué de verser des salaires quand y'a pas de projets).

Du coup si vous connaissez des boites de sympas sur , inclusives, humaines et qui bossent sur du (ou à la limite), éventuellement du (junior), du et avec une bonne organisation, n'hésitez pas à balancer :-)

Edent, to fediverse
@Edent@mastodon.social avatar

🆕 blog! “A (tiny, incomplete, single user, write-only) ActivityPub server in PHP”

I've written an ActivityPub server which only allows you to post messages to your followers. That's all it does. It won't record favourites or reposts. There's no support for following other accounts or receiving replies. It cannot delete o…

👀 Read more: https://shkspr.mobi/blog/2024/02/a-tiny-incomplete-single-user-write-only-activitypub-server-in-php/

beausimensen, to php
@beausimensen@phpc.social avatar

I’m on the market for a staff/principal role. I have a passion for , Developer Experience, community, mentoring, , and interacting with business and domain experts.

Comfort zone:

Excited about:

Would love professional exposure to:

Visit beausimensen.com to contact or DM me.

wouterj, (edited ) to php
@wouterj@phpc.social avatar

Heartbreaking news from long time Symfony core team member Ryan Weaver:

"So.... I have incurable brain cancer and I'm asking for your love & support 💖"
https://twitter.com/weaverryan/status/1777326885292114048

Ryan is the most welcoming, supportive, passionate and dedicated person I know in the community. I'm 100% sure he has supported every person in Symfony through his work.

Please give back some support to Ryan, Leanna and Beckett and show the warmth of the PHP family! https://gofund.me/f8e28d5f

welcomattic, to Symfony French
@welcomattic@phpc.social avatar

My dear friend Ryan, the voice of SymfonyCasts, has incurable brain cancer. He and his family need your help to get through this incredibly difficult time.

https://twitter.com/weaverryan/status/1777326885292114048

To make a donation => https://gofund.me/f8e28d5f

matthewtrask, to Laravel
@matthewtrask@phpc.social avatar

so @weaverryan has just announced he has an incurable type of brain cancer.

https://twitter.com/weaverryan/status/1777326885292114048

His family needs support and I know the loves to show up for people in the community. Please help out if you can.

https://gofund.me/9a0f45f3

phpc, to kbin
@phpc@phpc.social avatar

is a 8.1+ () based application. With the sudden influx from the , they could use some development and/or monetary help. I’m not even sure whether they accept donations right now, but if you’re looking for an project to help, check it out.

https://kbin.pub/en https://emacs.ch/@ramin_hal9001/110536861338546167

rimu, to php
@rimu@mastodon.nzoss.nz avatar

devs, Kbin needs you!

https://kbin.pub/

Kbin is a federated reddit alternative written in PHP ( framework). It is an early stage of development yet undergoing explosive growth lately.

syntaxseed, to webdev
@syntaxseed@phpc.social avatar

Quick note that I'm available for part-time and/or contract work for teams needing to augment a project but don't need a full time staff member.

I excel at maintaining & modernizing legacy PHP apps, Symfony, technical documentation writing & team leadership.

I have some niche experience in multilingual projects (EN/FR) and Canadian insurance rating. I could pick back up quickly.

Remote only (EST timezone). 👩‍💻

blog, (edited ) to fediverse
@blog@shkspr.mobi avatar

A (tiny, incomplete, single user, write-only) ActivityPub server in PHP
https://shkspr.mobi/blog/2024/02/a-tiny-incomplete-single-user-write-only-activitypub-server-in-php/

I've written an ActivityPub server which . That's all it does. It won't record favourites or reposts. There's no support for following other accounts or receiving replies. It cannot delete or update posts nor can it verify signatures. It doesn't have a database or any storage beyond flat files.

But it will happily send messages and allow itself to be followed.

This shows that it is totally possible to broadcast fully-featured ActivityPub messages to the Fediverse with minimal coding skills and modest resources.

Why

I wanted to create a service a bit like FourSquare. For this, I needed an ActivityPub server which allows posting geotagged locations to the Fediverse.

I didn't want to install a fully-featured server with lots of complex parts. So I (foolishly) decided to write my own. I had a lot of trouble with HTTP Signatures. Because they are cursed and I cannot read documentation. But mostly the cursed thing.

How

Creating a minimum viable Mastodon instance can be done with half a dozen static files. That gets you an account that people can see. They can't follow it or receive any posts though.

I wanted to use PHP to build an interactive server. PHP is supported everywhere and is simple to deploy. Luckily, Robb Knight has written an excellent tutorial, so I ripped off his code and rewrote it for Symfony.

The structure is relatively straightforward.

  • /.well-known/webfinger is a static file which gives information about where to find details of the account.
  • /[username] is a static file which has the user's metadata, public key, and links to avatar images.
  • /following and /followers are also static files which say how many users are being followed / are following.
  • /posts/[GUID] a directory with JSON files saved to disk - each ones contains the published ActivityPub note.
  • /photos/ is a directory with any uploaded media in it.
  • /outbox is a list of all the posts which have been published.
  • /inbox is an external API endpoint. An ActivityPub server sends it a follow request, the endpoint then POSTs a cryptographically signed Accept message to the follower's inbox. The follower's inbox address is saved to disk.
  • /logs is a listing of all the messages received by the inbox.
  • /new is a password protected page which lets you write a message. This is then sent to...
  • /send is an internal API endpoint. It constructs an ActivityPub note, with attached location metadata, and POSTs it to each follower's inbox with a cryptographic signature.

That's it.

The front-end grabs my phone's geolocation and shows the 25 nearest places within 100 metres. One click and the page posts to the /send endpoint which then publishes a message saying I'm checked in. It is also possible to attach to the post a short message and a single photo with alt text.

There's no database. Posts are saved as JSON documents. Images are uploaded to a directory. It is single-user, so there is no account management.

What Works

  • Users can find the account.
  • Users can follow the account and receive updates.
  • Posts contain geotag metadata.
  • Posts contain a description of the place.
  • Posts contain an OSM link to the place.
  • Posts contain a custom message.
  • Posts autolink (sort of).
  • Posts can have an image attached to them.
  • Messages to the inbox are recorded (but not yet integrated).

ToDo

  • My account only has a few dozen followers, some of whom share the same sever. Even with cURL multi handle, it takes time to post to several servers.
  • It posts plain text. It doesn't autolink websites
  • Hashtags are linked when viewed remotely, but they don't go anywhere locally.
  • There's no language selection - it is hard-coded to English.
  • The outbox isn't paginated.
  • The UI looks crap - but it is only me using it.
  • There's only a basic front-page showing a map of all my check-ins.
  • Replies are logged, but there's no easy way to see them.
  • Doesn't show any metadata about the place being checked-in to. It could use the item's website (if any) or hashtags for the type of amenity it is.
  • No way to handle being unfollowed.
  • No way to remove servers which have died.
  • Probably lots more.

Other Resources

I found these resources helpful while creating this project:

What's Next?

I've raised an issue on Mastodon to see if they can support showing locations in posts. Hopefully, one day, they'll allow adding locations and then I can shut this down.

The code needs tidying up - it is very much a scratch-my-own-itch development. Probably riddled with bugs and security holes.

World domination?

Where

You can laugh at my code on GitHub.

You can look at my check-ins on a map.

You can follow my location on the Fediverse at @edent_location@location.edent.tel

https://shkspr.mobi/blog/2024/02/a-tiny-incomplete-single-user-write-only-activitypub-server-in-php/

Edent, to Symfony
@Edent@mastodon.social avatar

Anyone here know if has a way to support compression?

Answers to https://github.com/symfony/symfony/discussions/51074 - greatly appreciated!

thepanz, to Symfony
@thepanz@phpc.social avatar

The next Meetup in ?

It's happening next Monday at @Liip , see you there!

https://social.liip.ch/@Liip/111896081815797750

wouterj, to Symfony
@wouterj@phpc.social avatar
symfony, to Symfony
@symfony@mastodon.social avatar

🌟 Symfony 7.0.0 released
➡️ https://symfony.com/blog/symfony-7-0-0-released

phpc, to Symfony
@phpc@phpc.social avatar

Ryan Weaver, a cherished member of the community, is in urgent need of our help. He’s battling cancer and he’s asking for our love and support. Please, if you're able to, make a donation today.

https://symfony.com/blog/ryan-weaver-needs-our-help

sarah, to php
@sarah@phpc.social avatar

Are you a developer or a WordPress/Laravel/Symfony/Drupal developer?

Understanding the underlying language will make you more effective and considerably more flexible/employable.

Understanding the language helps you read the framework code and make sense of complex things. It lets you adopt new tech. And it empowers you to switch from one project to another without fear.

Be a language developer.

roberto, to php
@roberto@phpc.social avatar

I'm collecting a list of 2024 conferences for PHP, Laravel, and Symfony.

Which one will you attend?

If you have suggestions for the list (such as adding a conference), please let me know.

https://dev.to/robertobutti/php-laravel-symfony-conferences-in-2024-1olg

welcomattic, to Symfony French
@welcomattic@phpc.social avatar

Sylius elePHPant by Jacques Bodin-Hullin — Kickstarter https://www.kickstarter.com/projects/734475887/sylius-elephpant

Only 3 Days left!

a_watch, to php German
@a_watch@bewegung.social avatar
syntaxseed, to Symfony
@syntaxseed@phpc.social avatar

Hey folks.

What's your thoughts on vs ? I'm looking for a PHP CMS that isn't WordPress based on a potential client's request. Prefer based so that's why these 2.

Mostly a brochure site with some normal CMS-y features (gallery, contact form, etc).

Bonus for ease of ongoing maintenance.

symfony, to Symfony
@symfony@mastodon.social avatar

🚀 New in Symfony 6.3: AssetMapper Component
➡️ https://symfony.com/blog/new-in-symfony-6-3-assetmapper-component

fldrupalcamp, to php
@fldrupalcamp@drupal.community avatar

The Orlando PHP Meetup is an in-person user group for anyone interested in the programming language, the foundation of development tools like , , , and , used for web application and website development.

https://www.meetup.com/orlandophp/

psychomieze, to php

The "slides" to my talk about symfony/messenger in are available at https://github.com/susannemoog/presentations/blob/main/symfony.md

wouterj, to Symfony
@wouterj@phpc.social avatar

Almost missed the day Symfony 7 was released!

Check out the huge effort the past 2 years by the Symfony community at https://symfony.com/7

Also, we've spent more time on the UPGRADE guide. If you're removing deprecations from your 6.4 app, make sure to take a look at https://github.com/symfony/symfony/blob/7.0/UPGRADE-7.0.md

mautic, to php
@mautic@mastodon.online avatar

📢 Calling all Mautic developers, some exciting news! 🎉🚀

Say goodbye to updating config.php files when adding PHP services or changing dependencies. 😱

Introducing autowiring and autoconfiguration for PHP services in Mautic 5. 🙌

This new enhancement makes your coding life easier than ever before and brings us closer to modern Symfony standards. No more hassle, just seamless integration and effortless updates. 💪

  • All
  • Subscribed
  • Moderated
  • Favorites
  • provamag3
  • rosin
  • ngwrru68w68
  • Durango
  • DreamBathrooms
  • mdbf
  • magazineikmin
  • thenastyranch
  • Youngstown
  • khanakhh
  • slotface
  • everett
  • vwfavf
  • kavyap
  • megavids
  • osvaldo12
  • GTA5RPClips
  • ethstaker
  • tacticalgear
  • InstantRegret
  • cisconetworking
  • cubers
  • tester
  • anitta
  • modclub
  • Leos
  • normalnudes
  • JUstTest
  • All magazines